gst/gstinfo.*: Fix illegal cast on some platforms (#309253).
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2
3         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4         (_gst_debug_register_funcptr):
5         * gst/gstinfo.h:
6           Fix illegal cast on some platforms (#309253).
7
8 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9
10         * gst/gstmessage.c: (gst_message_new_custom):
11         * gst/gstmessage.h:
12           Add _new_custom, make _new_application a macro to _new_custom.
13
14 2005-07-20  Wim Taymans  <wim@fluendo.com>
15
16         * gst/base/gstbasesrc.c: (gst_base_src_init),
17         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18         * gst/base/gstbasesrc.h:
19         Add a gboolean to decide when to push out a discont.
20
21         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22         (gst_queue_loop), (gst_queue_handle_src_query),
23         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
24         (gst_queue_set_property), (gst_queue_get_property):
25         Some cleanups.
26
27         * tests/threadstate/threadstate1.c: (main):
28         Make a thread test compile and run... very silly..
29
30
31 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
32
33         * docs/manual/appendix-porting.xml:
34           Mention removal of libgstgconf-0.9.la and existence of gconf
35           elements.
36
37 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
38
39         * docs/pwg/advanced-clock.xml:
40         * docs/pwg/appendix-porting.xml:
41         * docs/pwg/intro-preface.xml:
42         * docs/pwg/other-base.xml:
43         * docs/pwg/other-manager.xml:
44         * docs/pwg/other-nton.xml:
45         * docs/pwg/other-ntoone.xml:
46         * docs/pwg/other-oneton.xml:
47         * docs/pwg/pwg.xml:
48           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
49           demuxer), remove n-to-n (was never written), fix some code examples
50           and links and update the porting section to include all this.
51
52 2005-07-19  Wim Taymans  <wim@fluendo.com>
53
54         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
55         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
56         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
57         (gst_queue_src_activate_push), (gst_queue_change_state),
58         (gst_queue_get_property):
59         * gst/gstqueue.h:
60         Propagate GstFlowReturn more intelligently upstream and output
61         an ERROR/EOS when streaming stopped due to fatal error.
62
63 2005-07-19  Wim Taymans  <wim@fluendo.com>
64
65         * tools/gst-launch.c: (check_intr), (event_loop), (main):
66         Don't block forever for the state change to complete, the
67         pipeline already did with a sensible timeout.
68
69 2005-07-19  Wim Taymans  <wim@fluendo.com>
70
71         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
72         Make sure we never call the create function is we
73         got deactivated.
74
75 2005-07-19  Andy Wingo  <wingo@pobox.com>
76
77         * gst/parse/parse.l: Attempt to solve bug #172815.
78
79 2005-07-19  Wim Taymans  <wim@fluendo.com>
80
81         * docs/design/part-clocks.txt:
82         * docs/design/part-events.txt:
83         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
84         Small docs updates.
85         Only update the seeking values when we are not
86         busy streaming.
87
88 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
89
90         * gst/base/gstbasesrc.c: (gst_base_src_loop):
91           Oops, ignore the result of gst_pad_push_event here.
92
93 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
94
95         * gst/base/gstbasesrc.c: (gst_base_src_loop),
96         (gst_base_src_activate_push):
97           Send discont event from the loop function, as pads
98           aren't activated yet in the activate_push handler.
99
100         * gst/gstbin.c: (bin_bus_handler):
101           Don't leak element name.
102
103 2005-07-18  Andy Wingo  <wingo@pobox.com>
104
105         * configure.ac: Use AS_LIBTOOL_TAGS.
106
107 2005-07-18  Wim Taymans  <wim@fluendo.com>
108
109         * docs/gst/gstreamer.types:
110         Remove deleted types.
111
112 2005-07-18  Wim Taymans  <wim@fluendo.com>
113
114         * check/elements/gstfakesrc.c: (GST_START_TEST):
115         * configure.ac:
116         * gst/Makefile.am:
117         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
118         (init_popt_callback):
119         * gst/gst.h:
120         * gst/gst_private.h:
121         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
122         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
123         * gst/gstbin.h:
124         * gst/gstbus.h:
125         * gst/gstconfig.h.in:
126         * gst/gstelement.c: (gst_element_class_init),
127         (gst_element_set_base_time), (gst_element_get_base_time),
128         (iterator_fold_with_resync), (gst_element_change_state),
129         (gst_element_dispose), (gst_element_get_bus):
130         * gst/gstelement.h:
131         * gst/gstelementfactory.h:
132         * gst/gsterror.c: (_gst_core_errors_init):
133         * gst/gsterror.h:
134         * gst/gstevent.h:
135         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
136         * gst/gstindex.c:
137         * gst/gstinfo.c: (_gst_debug_init):
138         * gst/gstmessage.c: (_gst_message_copy):
139         * gst/gstmessage.h:
140         * gst/gstminiobject.h:
141         * gst/gstobject.c:
142         * gst/gstobject.h:
143         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
144         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
145         * gst/gstpad.h:
146         * gst/gstparse.h:
147         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
148         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
149         (gst_pipeline_get_last_stream_time):
150         * gst/gstpipeline.h:
151         * gst/gstpluginfeature.h:
152         * gst/gstquery.h:
153         * gst/gstscheduler.c:
154         * gst/gstscheduler.h:
155         * gst/gststructure.h:
156         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
157         (gst_task_finalize), (gst_task_func), (gst_task_create),
158         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
159         (gst_task_stop), (gst_task_pause):
160         * gst/gsttask.h:
161         * gst/gsttypefind.h:
162         * gst/gsttypes.h:
163         * gst/registries/gstlibxmlregistry.c: (load_feature),
164         (gst_xml_registry_load), (gst_xml_registry_save_feature):
165         * gst/registries/gstxmlregistry.c:
166         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
167         * gst/schedulers/threadscheduler.c:
168         * libs/gst/control/dparammanager.h:
169         * tools/gst-inspect.c: (print_element_list),
170         (print_plugin_features), (print_element_features):
171         * tools/gst-xmlinspect.c: (print_element_list),
172         (print_plugin_info), (main):
173         Removed plugable schedulers.
174         Removed Scheduler/Manager from elements.
175         Removed gsttypes.h, rearranged includes.
176         Removed dependency pad<->element, element<>pipeline, and
177         various others,  fix includes.
178         implement gst_pad_get_parent() with gst_object_get_parent()
179         Make GstTask sefcontained.
180         Fix _get_state() on GstBin, it did not return ASYNC with a 0
181         timeout.
182         Fix endless loop in iterator_fold_with_resync.
183
184
185 2005-07-18  Wim Taymans  <wim@fluendo.com>
186
187         * gst/Makefile.am:
188         * gst/gstarch.h:
189         Remove old file.
190
191 2005-07-18  Wim Taymans  <wim@fluendo.com>
192
193         * gst/Makefile.am:
194         No more cothreads.h
195
196 2005-07-18  Wim Taymans  <wim@fluendo.com>
197
198         * gst/cothreads.c:
199         * gst/cothreads.h:
200         Let's remove these.
201
202 2005-07-18  Wim Taymans  <wim@fluendo.com>
203
204         * docs/design/part-dynamic.txt:
205         * docs/design/part-events.txt:
206         * docs/design/part-seeking.txt:
207         Some more docs in the works.
208
209         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
210         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
211         (gst_base_transform_setcaps), (gst_base_transform_get_size),
212         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
213         (gst_base_transform_handle_buffer),
214         (gst_base_transform_sink_activate_push),
215         (gst_base_transform_src_activate_pull),
216         (gst_base_transform_set_passthrough),
217         (gst_base_transform_is_passthrough):
218         Refcounting fixes.
219
220         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
221         Cleanups.
222
223         * gst/gstevent.c: (gst_event_finalize):
224         Set SRC to NULL.
225
226         * gst/gstutils.c: (gst_element_unlink),
227         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
228         (gst_pad_proxy_setcaps):
229         * gst/gstutils.h:
230         Add _get_parent_element() to get a pads parent as an element.
231
232 2005-07-18  Wim Taymans  <wim@fluendo.com>
233
234         * check/gst/gstbin.c: (GST_START_TEST):
235         Remove bogus test.
236
237 2005-07-18  Wim Taymans  <wim@fluendo.com>
238
239         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
240         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
241         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
242         (gst_base_sink_event), (gst_base_sink_do_sync),
243         (gst_base_sink_chain), (gst_base_sink_loop),
244         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
245         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
246         Refcounting fixes.
247         Fix logic for returning ASYNC when not prerolled.
248
249 2005-07-18  Wim Taymans  <wim@fluendo.com>
250
251         * gst/gstqueue.c: (gst_queue_handle_sink_event):
252         Fix nasty refcount bug.
253
254 2005-07-16 Philippe Khalaf <burger@speedy.org>
255         * gst/elements/gstfdsrc.c:
256         * gst/elements/gstfdsrc.h:
257         * gst/elements/gstelements.c:
258         * gst/elements/Makefile.am:
259         Ported fdsrc to 0.9.
260
261 2005-07-16  Wim Taymans  <wim@fluendo.com>
262
263         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
264         (gst_base_sink_do_sync):
265         Fix compile error.
266
267 2005-07-16  Wim Taymans  <wim@fluendo.com>
268
269         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
270         (gst_base_sink_event), (gst_base_sink_get_times),
271         (gst_base_sink_do_sync), (gst_base_sink_change_state):
272         * gst/base/gstbasesink.h:
273         Store and use discont values when syncing buffers as described
274         in design docs.
275         
276         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
277         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
278         (gst_base_src_activate_push):
279         Push discont event when starting.
280
281         * gst/elements/gstidentity.c: (gst_identity_transform):
282         Small cleanups.
283
284         * gst/gstbin.c: (gst_bin_change_state):
285         Small cleanups in base_time  distribution.
286
287         * gst/gstelement.c: (gst_element_set_base_time),
288         (gst_element_get_base_time), (gst_element_change_state):
289         * gst/gstelement.h:
290         Added methods for the base_time of the element.
291         Some MT fixes.
292
293         * gst/gstpipeline.c: (gst_pipeline_send_event),
294         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
295         (gst_pipeline_get_last_stream_time):
296         * gst/gstpipeline.h:
297         MT fixes.
298         Handle seeking as described in design doc, remove stream_time
299         hack.
300         Cleanups clock and stream_time selection code. Added accessors
301         for the stream_time.
302         
303
304 2005-07-16  Andy Wingo  <wingo@pobox.com>
305
306         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
307         (#305291).
308
309 2005-07-16  Wim Taymans  <wim@fluendo.com>
310
311         * check/gst/gstbin.c: (GST_START_TEST):
312         Make elements silent as the deep_notify refs the
313         parent, which might make the test fail.
314
315         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
316         Don't hold the lock for too long.
317
318 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
319
320         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
321           Don't unref the caps we passed to gst_caps_make_writable() after
322           passing them. gst_caps_make_writable() will do that for us.
323
324 2005-07-15  Andy Wingo  <wingo@pobox.com>
325
326         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
327         (#157311).
328
329         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
330         own marshalling function for the handoff signal. Properly type the
331         buffer as a buffer. Fixes some warnings. Should do a more general
332         solution.
333         (gst_identity_class_init): Plug into the right marshaller.
334
335 2005-07-15  Wim Taymans  <wim@fluendo.com>
336
337         * docs/design/part-TODO.txt:
338         * docs/design/part-clocks.txt:
339         * docs/design/part-element-sink.txt:
340         * docs/design/part-events.txt:
341         * docs/design/part-gstpipeline.txt:
342         Updated docs, mostly DISCONT related.
343
344 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
345
346         * docs/pwg/building-pads.xml:
347           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
348
349 2005-07-15  Andy Wingo  <wingo@pobox.com>
350
351         * tools/gst-typefind.c: Update, add copyright block.
352
353         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
354         Normalize and truncate caps before fixation.
355
356         * gst/gstcaps.h:
357         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
358         discards all but the first structure from its argument.
359
360 2005-07-15  Wim Taymans  <wim@fluendo.com>
361
362         * gst/base/gstbasetransform.c: (gst_base_transform_init),
363         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
364         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
365         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
366         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
367         (gst_base_transform_chain), (gst_base_transform_change_state),
368         (gst_base_transform_set_passthrough),
369         (gst_base_transform_is_passthrough):
370         * gst/base/gstbasetransform.h:
371         Make passthrough work using the bufferpools.
372         Changed API a bit, subclasses have to write into a buffer
373         provided by the base class.
374         More debug info in nego functions.
375         
376         * gst/elements/gstidentity.c: (gst_identity_init),
377         (gst_identity_transform):
378         Port to new base class.
379
380 2005-07-15  Wim Taymans  <wim@fluendo.com>
381
382         * gst/gstmessage.c: (gst_message_new_state_changed):
383         * tools/gst-launch.c: (event_loop), (main):
384         Totally dump messages in -launch with the -m option.
385         Fix message name for State messages,
386
387 2005-07-14  Wim Taymans  <wim@fluendo.com>
388
389         * gst/base/gstbasesrc.c: (gst_base_src_loop):
390         Post error messages on errors.
391
392 2005-07-14  Wim Taymans  <wim@fluendo.com>
393
394         * gst/gstcaps.c: (gst_caps_do_simplify):
395         Remove debug info.
396
397         * gst/gsterror.h:
398         Define error for stream stopped.
399
400         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
401         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
402         Do proper return values.
403
404         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
405         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
406         (gst_pad_get_range):
407         Better return values.
408
409         * gst/gstpad.h:
410         Reorganise return values, add macro to check for fatal errors.
411
412         * gst/gstqueue.c: (gst_queue_chain):
413         Return proper GstFlowReturn values,
414
415 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
416
417         * docs/gst/gstreamer-sections.txt:
418         * docs/gst/gstreamer.types:
419         * docs/gst/tmpl/gst.sgml:
420         * docs/gst/tmpl/gstbasesink.sgml:
421         * docs/gst/tmpl/gstbasesrc.sgml:
422         * docs/gst/tmpl/gstbasetransform.sgml:
423         * docs/gst/tmpl/gstbin.sgml:
424         * docs/gst/tmpl/gstbuffer.sgml:
425         * docs/gst/tmpl/gstcaps.sgml:
426         * docs/gst/tmpl/gstclock.sgml:
427         * docs/gst/tmpl/gstcompat.sgml:
428         * docs/gst/tmpl/gstconfig.sgml:
429         * docs/gst/tmpl/gstelement.sgml:
430         * docs/gst/tmpl/gstelementdetails.sgml:
431         * docs/gst/tmpl/gstelementfactory.sgml:
432         * docs/gst/tmpl/gstenumtypes.sgml:
433         * docs/gst/tmpl/gsterror.sgml:
434         * docs/gst/tmpl/gstevent.sgml:
435         * docs/gst/tmpl/gstfakesink.sgml:
436         * docs/gst/tmpl/gstfakesrc.sgml:
437         * docs/gst/tmpl/gstfilesink.sgml:
438         * docs/gst/tmpl/gstfilesrc.sgml:
439         * docs/gst/tmpl/gstfilter.sgml:
440         * docs/gst/tmpl/gstformat.sgml:
441         * docs/gst/tmpl/gstghostpad.sgml:
442         * docs/gst/tmpl/gstimplementsinterface.sgml:
443         * docs/gst/tmpl/gstindex.sgml:
444         * docs/gst/tmpl/gstindexfactory.sgml:
445         * docs/gst/tmpl/gstinfo.sgml:
446         * docs/gst/tmpl/gstiterator.sgml:
447         * docs/gst/tmpl/gstmacros.sgml:
448         * docs/gst/tmpl/gstmemchunk.sgml:
449         * docs/gst/tmpl/gstminiobject.sgml:
450         * docs/gst/tmpl/gstobject.sgml:
451         * docs/gst/tmpl/gstpad.sgml:
452         * docs/gst/tmpl/gstpadtemplate.sgml:
453         * docs/gst/tmpl/gstparse.sgml:
454         * docs/gst/tmpl/gstpipeline.sgml:
455         * docs/gst/tmpl/gstplugin.sgml:
456         * docs/gst/tmpl/gstpluginfeature.sgml:
457         * docs/gst/tmpl/gstquery.sgml:
458         * docs/gst/tmpl/gstqueue.sgml:
459         * docs/gst/tmpl/gstregistry.sgml:
460         * docs/gst/tmpl/gstregistrypool.sgml:
461         * docs/gst/tmpl/gstscheduler.sgml:
462         * docs/gst/tmpl/gstschedulerfactory.sgml:
463         * docs/gst/tmpl/gststructure.sgml:
464         * docs/gst/tmpl/gstsystemclock.sgml:
465         * docs/gst/tmpl/gsttaglist.sgml:
466         * docs/gst/tmpl/gsttagsetter.sgml:
467         * docs/gst/tmpl/gsttrace.sgml:
468         * docs/gst/tmpl/gsttrashstack.sgml:
469         * docs/gst/tmpl/gsttypefind.sgml:
470         * docs/gst/tmpl/gsttypefindfactory.sgml:
471         * docs/gst/tmpl/gsttypes.sgml:
472         * docs/gst/tmpl/gsturihandler.sgml:
473         * docs/gst/tmpl/gsturitype.sgml:
474         * docs/gst/tmpl/gstutils.sgml:
475         * docs/gst/tmpl/gstvalue.sgml:
476         * docs/gst/tmpl/gstversion.sgml:
477         * docs/gst/tmpl/gstxml.sgml:
478         * docs/libs/tmpl/gstcontrol.sgml:
479         * docs/libs/tmpl/gstdataprotocol.sgml:
480         * docs/libs/tmpl/gstdparam.sgml:
481         * docs/libs/tmpl/gstdplinint.sgml:
482         * docs/libs/tmpl/gstdpman.sgml:
483         * docs/libs/tmpl/gstdpsmooth.sgml:
484         * docs/libs/tmpl/gstgetbits.sgml:
485         * docs/libs/tmpl/gstunitconvert.sgml:
486         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
487         (gst_push_src_base_init), (gst_push_src_class_init),
488         (gst_push_src_init), (gst_push_src_create):
489         * gst/base/gstpushsrc.h:
490         * gst/elements/gstelements.c:
491         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
492         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
493         (gst_fake_sink_init), (gst_fake_sink_set_property),
494         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
495         (gst_fake_sink_event), (gst_fake_sink_preroll),
496         (gst_fake_sink_render), (gst_fake_sink_change_state):
497         * gst/elements/gstfakesink.h:
498         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
499         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
500         (gst_fake_src_base_init), (gst_fake_src_class_init),
501         (gst_fake_src_init), (gst_fake_src_event_handler),
502         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
503         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
504         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
505         (gst_fake_src_create_buffer), (gst_fake_src_create),
506         (gst_fake_src_start), (gst_fake_src_stop):
507         * gst/elements/gstfakesrc.h:
508         * gst/elements/gstfilesink.c: (_do_init),
509         (gst_file_sink_base_init), (gst_file_sink_class_init),
510         (gst_file_sink_init), (gst_file_sink_dispose),
511         (gst_file_sink_set_location), (gst_file_sink_set_property),
512         (gst_file_sink_get_property), (gst_file_sink_open_file),
513         (gst_file_sink_close_file), (gst_file_sink_query),
514         (gst_file_sink_event), (gst_file_sink_render),
515         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
516         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
517         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
518         * gst/elements/gstfilesink.h:
519         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
520         (gst_file_src_class_init), (gst_file_src_init),
521         (gst_file_src_finalize), (gst_file_src_set_location),
522         (gst_file_src_set_property), (gst_file_src_get_property),
523         (gst_file_src_map_region), (gst_file_src_map_small_region),
524         (gst_file_src_create_mmap), (gst_file_src_create_read),
525         (gst_file_src_create), (gst_file_src_is_seekable),
526         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
527         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
528         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
529         (gst_file_src_uri_handler_init):
530         * gst/elements/gstfilesrc.h:
531           more autistic cleanliness in functions/names/defines
532
533 2005-07-13  Andy Wingo  <wingo@pobox.com>
534
535         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
536         source couldn't negotiate.
537
538         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
539         connections again.
540
541         * gst/gstutils.h:
542         * gst/gstutils.c (gst_element_link_pads_filtered): New old
543         function. I am channeling Hades. Put your boots on suckers!!!
544
545 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
546
547         * testsuite/caps/Makefile.am:
548         * testsuite/caps/value_compare.c:
549         * testsuite/caps/value_intersect.c:
550         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
551           move two testsuite apps over to the check dir
552
553 2005-07-12  Wim Taymans  <wim@fluendo.com>
554
555         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
556         Added more debug info in the negotiate process.
557
558         * gst/gstmessage.h:
559         Prepare for segment playback.
560
561         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
562         Better debugging.
563
564         * gst/gstutils.c:
565         Some more docs.
566
567         * tools/gst-launch.c: (main):
568         NULL pipeline on errors.
569
570 2005-07-12  Andy Wingo  <wingo@pobox.com>
571
572         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
573         not it comes from a malloc region. Make sure our copy gets freed.
574
575 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
576
577         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
578         * check/gst/gstmessage.c: (GST_START_TEST):
579         * check/gst/gststructure.c: (GST_START_TEST),
580         (gst_structure_suite), (main):
581           more testing
582         * gst/gstelement.c: (gst_element_message_full):
583           clean up GError and debug string now that they get copied
584         * gst/gstmessage.c: (gst_message_new_error),
585         (gst_message_new_warning), (gst_message_parse_error),
586         (gst_message_parse_warning):
587           use GST_TYPE_G_ERROR for structure_new, and take copies of
588           arguments, so that we don't mess up refcounting
589
590 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
591
592         * check/Makefile.am:
593           add per-test valgrind targets
594         * check/gst-libs/gdp.c: (GST_START_TEST),
595         (gst_data_protocol_suite), (main):
596           clean up
597
598 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
599
600         * check/Makefile.am:
601           instate more valgrindable tests
602         * check/elements/gstfakesrc.c: (chain_func), (event_func),
603         (GST_START_TEST), (fakesrc_suite):
604         * check/gst/gstpad.c: (GST_START_TEST):
605         * check/gst/gststructure.c: (GST_START_TEST):
606           fix test leaks
607         * docs/gst/tmpl/gstminiobject.sgml:
608         * gst/gstpad.c: (gst_pad_finalize):
609           fix the static mutex leak
610
611 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
612
613         * check/Makefile.am:
614           add two more tests for valgrinding
615         * check/gst/gstvalue.c: (GST_START_TEST):
616           test refcount of deserialized buffer, found a leak
617         * docs/gst/gstreamer-docs.sgml:
618         * docs/gst/gstreamer-sections.txt:
619         * docs/gst/gstreamer.types:
620         * docs/gst/tmpl/gstminiobject.sgml:
621           add miniobject to docs
622         * gst/gstminiobject.c:
623           add some docs
624         * gst/gstvalue.c: (gst_value_deserialize_buffer),
625         (gst_string_unwrap):
626           fix a hard-to-find invalid write for one of the tests
627           fix a leak for deserialized buffers
628
629 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
630
631         * docs/pwg/advanced-events.xml:
632         * docs/pwg/advanced-request.xml:
633         * docs/pwg/advanced-scheduling.xml:
634         * docs/pwg/appendix-porting.xml:
635         * docs/pwg/building-boiler.xml:
636         * docs/pwg/intro-preface.xml:
637         * docs/pwg/other-ntoone.xml:
638           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
639           of example code and explanation for pad activation, loop() and
640           getrange() functions and a bit more. Remove old comments pointing
641           to loop-functions.
642         * examples/pwg/Makefile.am:
643           Add loop/getrange examples.
644
645 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
646
647         * configure.ac:
648           check for valgrind binary + some fixes
649         * check/gst.supp:
650           valgrind suppressions for the tests
651         * check/Makefile.am:
652           add a valgrind: target that valgrinds the unit tests
653         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
654         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
655         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
656         * check/gst/gstghostpad.c:
657           added some cleanup
658         * check/gst/gstdata.c:
659           removed
660         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
661         (thread_unref), (gst_mini_object_suite), (main):
662           added
663         * gst/gst.c: (gst_deinit):
664         * gst/gst.h:
665           add a method to clean up.
666         * gst/gstsystemclock.c: (gst_system_clock_dispose),
667         (gst_system_clock_obtain):
668           allow for disposing the system clock.
669         * tools/gst-launch.c: (main):
670           deinit
671
672 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
673
674         * docs/gst/tmpl/gstbasesrc.sgml:
675         * docs/gst/tmpl/gstfakesrc.sgml:
676         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
677         (gst_base_src_init), (gst_base_src_set_property),
678         (gst_base_src_get_property), (gst_base_src_get_range),
679         (gst_base_src_start):
680         * gst/base/gstbasesrc.h:
681           add num-buffers property
682         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
683         (gst_fakesrc_init), (gst_fakesrc_set_property),
684         (gst_fakesrc_get_property), (gst_fakesrc_create),
685         (gst_fakesrc_start):
686           remove num-buffers property
687
688 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
689
690         * docs/gst/gstreamer-sections.txt:
691         * docs/gst/tmpl/gstbasesink.sgml:
692         * docs/gst/tmpl/gstbasesrc.sgml:
693         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
694         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
695         (gst_base_sink_finalize), (gst_base_sink_set_clock),
696         (gst_base_sink_set_property), (gst_base_sink_get_property),
697         (gst_base_sink_handle_object), (gst_base_sink_event),
698         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
699         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
700         (gst_base_sink_loop), (gst_base_sink_deactivate),
701         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
702         (gst_base_sink_change_state):
703         * gst/base/gstbasesink.h:
704         * gst/base/gstbasesrc.h:
705         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
706         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
707         (gst_filesink_init):
708           more macro splitting
709
710 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
711
712         * gst/gstelement.c: (gst_element_get_bus):
713           add debug
714         * tools/gst-launch.c: (check_intr), (event_loop):
715           fix bus leaks
716
717 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
718
719         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
720           fix a caps leak
721
722 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
723
724         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
725         (gst_base_src_finalize):
726           add finalize method and clean up properly
727         * gst/gstpipeline.c: (gst_pipeline_dispose):
728           add debug
729
730 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
731
732         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
733         (gst_bin_suite):
734           add more things to check
735         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
736         * gst/gstelement.c:
737           more debug
738
739 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
740
741         * check/elements/gstfakesrc.c: (chain_func), (event_func),
742         (GST_START_TEST), (fakesrc_suite):
743         * check/gst-libs/gdp.c: (GST_START_TEST):
744         * check/gst/gst.c: (GST_START_TEST):
745         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
746         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
747         * check/gst/gstbus.c: (GST_START_TEST):
748         * check/gst/gstcaps.c: (GST_START_TEST):
749         * check/gst/gstdata.c: (GST_START_TEST):
750         * check/gst/gstelement.c: (GST_START_TEST):
751         * check/gst/gstghostpad.c: (GST_START_TEST):
752         * check/gst/gstiterator.c: (GST_START_TEST):
753         * check/gst/gstmessage.c: (GST_START_TEST):
754         * check/gst/gstobject.c: (GST_START_TEST):
755         * check/gst/gstpad.c: (GST_START_TEST):
756         * check/gst/gststructure.c: (GST_START_TEST):
757         * check/gst/gstsystemclock.c: (GST_START_TEST),
758         (gst_systemclock_suite):
759         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
760         * check/gst/gstvalue.c: (GST_START_TEST):
761         * check/pipelines/cleanup.c: (GST_START_TEST):
762         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
763         * check/states/sinks.c: (GST_START_TEST):
764         * check/gstcheck.c: (gst_check_init):
765         * check/gstcheck.h:
766           add debugging category
767           use GST_START_TEST now, so we add a debug line
768
769 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
770
771         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
772           add test for state change message on a bin
773         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
774           add another test
775         * gst/gstbin.c: (gst_bin_init):
776         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
777         * gst/gstelement.c: (gst_element_post_message),
778         (gst_element_set_state):
779         * gst/gstelementfactory.c: (gst_element_factory_create):
780         * gst/gstmessage.c: (gst_message_new):
781         * gst/gstscheduler.c:
782           various debugging additions and cleanups
783
784 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
785
786         * check/Makefile.am:
787         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
788         (main):
789           adding tests for elements
790         * gst/gstelement.c: (gst_element_dispose):
791
792 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
793
794         * gst/registries/gstlibxmlregistry.c: (load_feature):
795           plug more leaks.  A simple gst_init() now is leakfree, yay.
796
797 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
798
799         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
800         (gst_xml_registry_load):
801           plug another memleak
802
803 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
804
805         * configure.ac:
806           use GST_SET_ERROR_CFLAGS
807         * docs/faq/cvs.xml:
808           change to ERROR_CFLAGS
809
810 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
811
812         * configure.ac:
813           make GST_ERROR_CFLAGS overridable and re-enable Werror
814         * docs/faq/cvs.xml:
815           add a note about error CFLAGS
816         * docs/gst/tmpl/gstfakesrc.sgml:
817         * gst/elements/gstfakesrc.c:
818           comment out some unused code
819         * gst/gst.c: (split_and_iterate):
820         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
821         (load_feature):
822           plug some memleaks
823
824 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
825
826         * common/Makefile.am:
827         * common/gtk-doc.mak:
828         * docs/gst/Makefile.am:
829           factor out gtk-doc.mak
830
831 2005-07-07  Wim Taymans  <wim@fluendo.com>
832
833         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
834         (gst_thread_scheduler_dispose):
835         Unlock the STREAM_LOCK completely.
836
837 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
838
839         * check/Makefile.am:
840         * check/elements/.cvsignore:
841         * check/elements/gstfakesrc.c: (chain_func), (event_func),
842         (START_TEST), (fakesrc_suite), (main):
843         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
844         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
845         (gst_fakesrc_create), (gst_fakesrc_start):
846         * gst/elements/gstfakesrc.h:
847           adding a first element test
848
849 2005-07-07  Andy Wingo  <wingo@pobox.com>
850
851         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
852         debug message.
853
854 2005-07-07  Wim Taymans  <wim@fluendo.com>
855
856         * gst/gstquery.c:
857         * gst/gstquery.h:
858         Remove old types
859
860 2005-07-07  Wim Taymans  <wim@fluendo.com>
861
862         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
863         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
864         Allow subclasses to implement their own negotiation.
865
866 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
867
868         * docs/design/part-gstbin.txt:
869         * docs/design/part-gstpipeline.txt:
870           Update design notes to reflect the movement of
871           responsibility for bus handling from GstPipeline to
872           GstBin
873
874 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
875
876         * configure.ac:
877           Remove unnecessary queue2/3/4 examples.
878
879 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
880
881         * examples/Makefile.am:
882         * examples/helloworld/helloworld.c: (event_loop), (main):
883         * examples/queue/queue.c: (event_loop), (main):
884         * examples/queue2/queue2.c: (main):
885           Update a couple of the examples to work again.
886
887         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
888         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
889          Spelling corrections and extra debug.
890         
891         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
892         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
893         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
894         * gst/gstbin.h:
895         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
896         (gst_pipeline_change_state):
897         * gst/gstpipeline.h:
898           Move the bus handler for children to the GstBin, and create a
899           separate bus for receiving messages from children to the one the
900           bus sends 'upwards' on.
901
902 2005-07-06  Wim Taymans  <wim@fluendo.com>
903
904         * gst/base/README:
905         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
906         (gst_base_sink_handle_object), (gst_base_sink_loop),
907         (gst_base_sink_change_state):
908         * gst/base/gstbasesink.h:
909         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
910         (gst_base_src_init), (gst_base_src_setcaps),
911         (gst_base_src_getcaps), (gst_base_src_loop),
912         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
913         (gst_base_src_start), (gst_base_src_change_state):
914         * gst/base/gstbasesrc.h:
915         Make basesrc negotiate.
916         Handle the case where preroll fails in basesink.
917         Update README.
918
919 2005-07-06  Wim Taymans  <wim@fluendo.com>
920
921         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
922         Implement the fixate function.
923         Clean up acceptcaps.
924
925 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
926
927         * docs/pwg/building-filterfactory.xml:
928         * docs/pwg/pwg.xml:
929           Remove never-written filter-factory chapter; I'll add the various
930           base classes to part 4 ("other element types") later on.
931
932 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
933
934         * docs/pwg/advanced-negotiation.xml:
935         * docs/pwg/building-boiler.xml:
936         * docs/pwg/building-pads.xml:
937         * docs/pwg/pwg.xml:
938         * examples/pwg/Makefile.am:
939           Add a chapter on caps negotiation, simplify the original code
940           samples a bit w.r.t. caps negotiation, add link to the advanced
941           section. Add a bunch of examples showing different use cases of
942           different types of caps negotiation. Upstream renegotiation isn't
943           fully documented yet since nobody knows how that works.
944
945 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
946
947         * check/gst/gstpad.c:
948         * check/gstcheck.c:
949         * gst/gstpad.c: (gst_pad_get_internal_links_default):
950           if pad has no parent, return NULL as list of internal links
951
952 2005-07-05  Andy Wingo  <wingo@pobox.com>
953
954         * gst/elements/gstfilesrc.c:
955         * gst/elements/gstfakesrc.c: 
956         * gst/base/gstpushsrc.c:
957         * gst/base/gstbasesrc.h: 
958         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
959         
960 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
961
962         * Makefile.am:
963           better report generation target (lcov needs a patch)
964
965 2005-07-05  Andy Wingo  <wingo@pobox.com>
966
967         * gst/elements, testsuite: Null if we got it...
968
969 2005-07-05  Wim Taymans  <wim@fluendo.com>
970
971         * configure.ac:
972         * libs/gst/dataprotocol/Makefile.am:
973         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
974         * libs/gst/dataprotocol/dataprotocol.h:
975         * pkgconfig/Makefile.am:
976         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
977         * pkgconfig/gstreamer-dataprotocol.pc.in:
978         Ported dataprotol to 0.9. 
979         Added pkgconfig files.
980
981 2005-07-05  Andy Wingo  <wingo@pobox.com>
982
983         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
984         Default to returning TRUE for the case when tranform_caps returns
985         a fixed caps, like for identity or volume.
986
987         * check/gst/gstbus.c (pound_bus_with_messages): 
988         * check/gst/gstmessage.c (START_TEST): 
989         * check/pipelines/simple_launch_lines.c (got_handoff): Application
990         message API change.
991
992         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
993         logic weaks here: always run transform_caps, trying passthrough
994         operation only if the original caps intersects with the transform.
995
996         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
997         source and sink caps.
998
999         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1000         Intersect the peer caps with the pad template before going into
1001         transform_caps.
1002         (gst_base_transform_transform_caps): More debugging.
1003
1004         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1005         src argument.
1006
1007 2005-07-04  Edward Hervey  <edward@fluendo.com>
1008
1009         * gst/gstutils.c:
1010         * gst/gstutils.h:
1011         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1012         in bindings.
1013
1014 2005-07-04  Andy Wingo  <wingo@pobox.com>
1015
1016         * check/gst/gstpad.c: Only set explicit caps on pads.
1017
1018 2005-07-01  Andy Wingo  <wingo@pobox.com>
1019
1020         * tests/network-clock.scm: Commentary update.
1021
1022         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1023         Didn't really make sense, not implementable with basetransform,
1024         etc.
1025         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1026         attempt at implementing the sync property, needs an unlock method.
1027
1028         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1029         New func, by default returns the same caps (the identity
1030         transformation).
1031         (gst_base_transform_getcaps): Uses transform_caps to return
1032         something sensible.
1033         (gst_base_transform_setcaps): Complicated logic to get caps on
1034         both pads, even if they are different, and to call set_caps once
1035         for every time both pads get their caps set.
1036         (gst_base_transform_handle_buffer): Give the ref to the transform
1037         function. Allows in-place modification of the buffer.
1038
1039         * gst/base/gstbasetransform.h (transform_caps): New class method.
1040         Given caps on one side, what can I do on the other.
1041         (set_caps): Take two caps, one for each side of the element.
1042
1043         * gst/gstpad.h:
1044         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1045         caps in place. This is safe because we can check the mutability of
1046         the caps, and a good idea because fixate functions are just called
1047         as a matter of last resort. (Not actually implemented.)
1048         (gst_pad_set_caps): If the caps we're setting is actually the same
1049         as the existing pad caps, just update the pointer without calling
1050         setcaps. Assert that caps is either NULL or fixed, as per the
1051         docs.
1052
1053         * gst/gstghostpad.c: Update for fixate changes.
1054
1055 2005-07-02  Andy Wingo  <wingo@pobox.com>
1056
1057         * gst/gstcaps.c:
1058         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1059         two refcounts makes it immutable, which is enough. Doc more.
1060
1061 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1062
1063         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1064           Put the mini_object into GValue as a mini_object,
1065           not a gpointer, since that's how we declared
1066           the signal.
1067
1068 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1069
1070         * examples/pwg/Makefile.am:
1071           Fix buildbot again.
1072
1073 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1074
1075         * docs/pwg/building-testapp.xml:
1076           Add extra check.
1077         * examples/pwg/Makefile.am:
1078           Fix buildbot.
1079
1080 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1081
1082         * configure.ac:
1083         * examples/Makefile.am:
1084         * examples/pwg/Makefile.am:
1085         * examples/pwg/extract.pl:
1086           Enable building the PWG examples.
1087         * docs/pwg/advanced-interfaces.xml:
1088           Add URI interface stub.
1089         * docs/pwg/advanced-types.xml:
1090         * docs/pwg/other-autoplugger.xml:
1091         * docs/pwg/appendix-porting.xml:
1092         * docs/pwg/pwg.xml:
1093           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1094         * docs/pwg/building-boiler.xml:
1095         * docs/pwg/building-chainfn.xml:
1096         * docs/pwg/building-pads.xml:
1097         * docs/pwg/building-props.xml:
1098         * docs/pwg/building-state.xml:
1099         * docs/pwg/building-testapp.xml:
1100           Update the building-*.xml parts for 0.9 changes. All examples
1101           code blocks compile in examples/pwg/*.
1102
1103 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1104
1105         * docs/manual/advanced-autoplugging.xml:
1106         * docs/manual/appendix-checklist.xml:
1107         * docs/manual/appendix-integration.xml:
1108         * docs/manual/highlevel-components.xml:
1109           Fix playbin/decodebin examples, update docs a bit, mention bus
1110           instead of signals in various places, mention kmplayer and
1111           kaffeine since they have a working GStreamer backend in the KDE
1112           section.
1113
1114 2005-06-30  Wim Taymans  <wim@fluendo.com>
1115
1116         * CHANGES-0.9:
1117         * docs/design/draft-ghostpads.txt:
1118         * docs/design/draft-push-pull.txt:
1119         * docs/design/draft-query.txt:
1120         * docs/design/part-TODO.txt:
1121         * docs/design/part-query.txt:
1122         Added CHANGES-0.9 doc, updated status of other docs.
1123         
1124         * gst/gstquery.h:
1125         Remove "hmm" macro
1126
1127 2005-06-30  Wim Taymans  <wim@fluendo.com>
1128
1129         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1130         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1131         (gst_base_sink_change_state):
1132         * gst/base/gstbasesink.h:
1133         Some tweaks, only EOS and a buffer complete a preroll.
1134
1135 2005-06-30  Andy Wingo  <wingo@pobox.com>
1136
1137         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1138         activate_push down to the internal pad as well.
1139
1140 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1141
1142         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1143
1144         * gst/gsttaginterface.c:
1145           Some documentation fixes (#307394 and #307397).
1146
1147 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1148
1149         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1150
1151         * gst/gstvalue.c: (gst_value_intersect_list):
1152           Fix memleak (#309125).
1153
1154 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1155
1156         * docs/manual/advanced-dataaccess.xml:
1157           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1158         * docs/manual/basics-pads.xml:
1159           Add reference for filtered caps to above chapter.
1160
1161 2005-06-30  Wim Taymans  <wim@fluendo.com>
1162
1163         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1164         (gst_bin_change_state):
1165         Probes are gone.
1166         Lame attempt at making the state change function a bit
1167         more readable.
1168
1169 2005-06-30  Wim Taymans  <wim@fluendo.com>
1170
1171         * docs/design/part-clocks.txt:
1172         * docs/design/part-element-sink.txt:
1173         * docs/design/part-events.txt:
1174         * docs/design/part-preroll.txt:
1175         * docs/design/part-states.txt:
1176         Some more tweeks and additions to the docs.
1177
1178 2005-06-30  Wim Taymans  <wim@fluendo.com>
1179
1180         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1181         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1182         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1183         (gst_pad_check_pull_range), (gst_pad_get_range),
1184         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1185         * gst/gstpad.h:
1186         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1187         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1188         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1189         (gst_pad_remove_buffer_probe):
1190         Removed atomic operations, use existing LOCK.
1191         Move exception handling out of main code path.
1192
1193 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1194
1195         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1196         (silly_return_true_function), (gst_pad_class_init),
1197         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1198         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1199         (gst_pad_send_event):
1200           Fix accumulator, add default value by using _emitv() instead
1201           of _emit() for signal emission.
1202
1203 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1204
1205         * docs/manual/advanced-dataaccess.xml:
1206         * examples/manual/Makefile.am:
1207           Add probe example.
1208         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1209           Make work (??).
1210
1211 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1212
1213         * gst/elements/gstfilesink.c: (gst_filesink_render):
1214           Simplify code so that we don't have to handle short
1215           writes and return GST_FLOW_ERROR if an error occured.
1216
1217 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1218
1219         * docs/gst/gstreamer-docs.sgml:
1220           Remove probes more.
1221
1222 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1223
1224         * docs/gst/gstreamer-sections.txt:
1225         * docs/gst/tmpl/gstpad.sgml:
1226         * docs/gst/tmpl/gstprobe.sgml:
1227         * gst/Makefile.am:
1228         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1229         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1230         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1231         (gst_pad_push_event), (gst_pad_send_event):
1232         * gst/gstpad.h:
1233         * gst/gstutils.c: (gst_pad_add_data_probe),
1234         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1235         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1236         (gst_pad_remove_buffer_probe):
1237         * gst/gstutils.h:
1238           Remove old probes, add new g-signal-based probes and some utility
1239           functions.
1240
1241 2005-06-29  Edward Hervey  <edward@fluendo.com>
1242
1243         * gst/gstelementfactory.c:
1244         * gst/gstutils.h:
1245         * gst/gstutils.c:
1246         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1247         the definition to the header file.
1248
1249 2005-06-29  Andy Wingo  <wingo@pobox.com>
1250
1251         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1252         plugins from the source directory.
1253
1254 2005-06-29  Wim Taymans  <wim@fluendo.com>
1255
1256         * docs/gst/tmpl/gstbuffer.sgml:
1257         * docs/gst/tmpl/gstclock.sgml:
1258         Some fixings for blantently wrong text.
1259
1260 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1261
1262         * check/Makefile.am:
1263         * gst/gst.c: (add_path_func), (init_pre):
1264         * gst/gstregistry.c: (gst_registry_add_path):
1265           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1266           only scan the GST_PLUGIN_PATH locations, and not add
1267           system locations
1268
1269 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1270
1271         * docs/gst/gstreamer-sections.txt:
1272         * docs/gst/tmpl/gstbasesrc.sgml:
1273         * gst/gstelement.c:
1274         * gst/gstelement.h:
1275         * gst/gstevent.c:
1276         * gst/gstutils.c:
1277           doc fixes
1278
1279 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1280
1281         * docs/manual/advanced-autoplugging.xml:
1282           Fix autoplugging example.
1283
1284 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1285
1286         * docs/manual/advanced-autoplugging.xml:
1287         * docs/manual/mime-world.fig:
1288           Try to get autoplugging working, fix type detection. Fix text
1289           in hello-world image.
1290
1291 2005-06-29  Wim Taymans  <wim@fluendo.com>
1292
1293         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1294         (gst_base_sink_change_state):
1295         Small debug line.
1296
1297         * gst/gstclock.h:
1298         map SIGNAL and BROADCAST to the right function.
1299
1300         * gst/gstobject.h:
1301         Remove redundant braces.
1302
1303         * gst/gstpad.c: (gst_pad_set_caps):
1304         Don't call setcaps function when reseting caps to NULL.
1305
1306         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1307         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1308         (gst_system_clock_id_unschedule):
1309         Use BROADCAST as this is what we do.
1310
1311 2005-06-29  Wim Taymans  <wim@fluendo.com>
1312
1313         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1314         We are actually prerolling before commiting the state
1315         change. 
1316
1317 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1318
1319         * docs/manual/advanced-clocks.xml:
1320         * docs/manual/advanced-interfaces.xml:
1321         * docs/manual/advanced-metadata.xml:
1322         * docs/manual/advanced-position.xml:
1323         * docs/manual/advanced-schedulers.xml:
1324         * docs/manual/advanced-threads.xml:
1325         * docs/manual/appendix-porting.xml:
1326         * docs/manual/basics-bins.xml:
1327         * docs/manual/basics-bus.xml:
1328         * docs/manual/basics-elements.xml:
1329         * docs/manual/basics-helloworld.xml:
1330         * docs/manual/basics-pads.xml:
1331         * docs/manual/highlevel-components.xml:
1332         * docs/manual/manual.xml:
1333         * docs/manual/thread.fig:
1334           Update (until threads/scheduling) Application Development Manual;
1335           remove GstThread, add GstBus, add simple porting checklist, add
1336           documentation for tag writing, clocks, make all examples until this
1337           part compile and run.
1338         * examples/manual/Makefile.am:
1339           Update from changes to Application Development Manual; add bus
1340           example, remove thread example.
1341
1342 2005-06-28  Wim Taymans  <wim@fluendo.com>
1343
1344         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1345         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1346         (gst_bus_source_dispatch):
1347         Add debugging messages.
1348         Make internal methods static.
1349         Handle the case where the bus is flushed in the handler.
1350         
1351         * gst/gstelement.c: (gst_element_get_bus):
1352         Fix refcount in _get_bus();
1353
1354         * gst/gstpipeline.c: (gst_pipeline_change_state),
1355         (gst_pipeline_get_clock_func):
1356         Clock refcounting fixes.
1357         Handle the case where preroll timed out more gracefully.
1358         
1359         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1360         Clean up the internal thread in dispose. This is needed
1361         for subclasses that actually get disposed.
1362         
1363         * gst/schedulers/threadscheduler.c:
1364         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1365         (gst_thread_scheduler_dispose):
1366         Free thread pool in dispose.
1367
1368 2005-06-28  Andy Wingo  <wingo@pobox.com>
1369
1370         * tests/network-clock-utils.scm (debug, print-event): New utils.
1371
1372         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1373         (*packet-loss*): Unified loss probability.
1374         (network-time): Report out-of-band events.
1375
1376         * tests/plot-data: Add support for out-of-band events. Hack it
1377         into this script instead of passing it down the pipe; should fix
1378         this later.
1379
1380 2005-06-28  Wim Taymans  <wim@fluendo.com>
1381
1382         * docs/gst/gstreamer.types:
1383         * docs/gst/tmpl/gstbasesrc.sgml:
1384         * docs/gst/tmpl/gstpad.sgml:
1385         Docs fixes.
1386
1387 2005-06-28  Wim Taymans  <wim@fluendo.com>
1388
1389         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1390         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1391         (gst_proxy_pad_do_fixatecaps):
1392         Correctly proxy the check_pull_range function.
1393
1394 2005-06-28  Andy Wingo  <wingo@pobox.com>
1395
1396         * tests/network-clock.scm: Removed need for slib.
1397         
1398 2005-06-28  Wim Taymans  <wim@fluendo.com>
1399
1400         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1401         (gst_basesink_preroll_queue_flush):
1402         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1403         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1404         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1405         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1406         (gst_proxy_pad_set_property):
1407         * gst/gstpad.c:
1408         * gst/gstpad.h:
1409         * gst/gstqueue.c: (gst_queue_init):
1410         The deprecated pad loop function is removed now.
1411
1412 2005-06-28  Andy Wingo  <wingo@pobox.com>
1413
1414         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1415         New parameters, simulate network packet loss.
1416
1417         * tests/network-clock-utils.scm: Initialize the RNG.
1418
1419 2005-06-28  Wim Taymans  <wim@fluendo.com>
1420
1421         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1422         (gst_basesink_event), (gst_basesink_deactivate):
1423         Flushing the preroll queue always needs to unlock the waiters.
1424
1425 2005-06-28  Edward Hervey  <edward@fluendo.com>
1426
1427         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1428         Wheen a seek was successful on a pipeline, set the stream_time to the
1429         seek offset in order to have a synchronized stream_time.
1430
1431 2005-06-28  Wim Taymans  <wim@fluendo.com>
1432
1433         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1434         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1435         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1436         (gst_proxy_pad_do_fixatecaps):
1437         Call wrapper function instead of just calling the function
1438         pointers. This takes care of any locking and whatmore.
1439
1440 2005-06-28  Wim Taymans  <wim@fluendo.com>
1441
1442         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1443         (gst_pad_pull_range):
1444         * gst/gstpad.h:
1445         CONNECTED -> LINKED.
1446
1447 2005-06-28  Andy Wingo  <wingo@pobox.com>
1448
1449         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1450         source-munging commit!!!
1451
1452         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1453         (gst_object_sink): Take gpointer arguments, not GstObject --
1454         avoids casts. Like GLib.
1455
1456         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1457         activate.
1458
1459 2005-06-27  Andy Wingo  <wingo@pobox.com>
1460
1461         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1462         remaining buffer.
1463
1464         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1465         returns a sorted copy of the trace list.
1466         (gst_alloc_trace_print_live): New API, only prints traces with
1467         live objects. Sort the list.
1468         (gst_alloc_trace_print_all): Sort the list.
1469         (gst_alloc_trace_print): Align columns.
1470
1471         * gst/elements/gstttypefindelement.c:
1472         * gst/elements/gsttee.c:
1473         * gst/base/gstbasesrc.c:
1474         * gst/base/gstbasesink.c:
1475         * gst/base/gstbasetransform.c:
1476         * gst/gstqueue.c: Adapt for pad activation changes.
1477
1478         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
1479         sched.
1480         (gst_pipeline_dispose): Drop ref on sched.
1481
1482         * gst/gstpad.c (gst_pad_init): Set the default activate func.
1483         (gst_pad_activate_default): Push mode by default.
1484         (pre_activate_switch, post_activate_switch): New stubs, things to
1485         do before and after switching activation modes on pads.
1486         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
1487         the pad's activate function to choose which mode to activate.
1488         Shortcut on deactivation and call the right function directly.
1489         (gst_pad_activate_pull): New API, (de)activates a pad in pull
1490         mode.
1491         (gst_pad_activate_push): New API, same for push mode.
1492         (gst_pad_set_activate_function) 
1493         (gst_pad_set_activatepull_function) 
1494         (gst_pad_set_activatepush_function): Setters for new API.
1495
1496         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
1497         Trace all miniobjects.
1498         (gst_mini_object_make_writable): Unref the arg if we copy, like
1499         gst_caps_make_writable.
1500
1501         * gst/gstmessage.c (_gst_message_initialize): No trace init.
1502
1503         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
1504         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
1505         Adapt for new pad API.
1506
1507         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
1508
1509         * gst/gstelement.h:
1510         * gst/gstelement.c (gst_element_iterate_src_pads) 
1511         (gst_element_iterate_sink_pads): New API functions.
1512         
1513         * gst/gstelement.c (iterator_fold_with_resync): New utility,
1514         should fold into gstiterator.c in some form.
1515         (gst_element_pads_activate): Simplified via use of fold and
1516         delegation of decisions to gstpad->activate.
1517
1518         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
1519         help in debugging.
1520
1521         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
1522         class once in init, like gstmessage. Didn't run into this issue
1523         but it seems correct. Don't initialize a trace, gstminiobject does
1524         that.
1525
1526         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
1527         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
1528         to the bus.
1529         (assert_live_count): New util function, uses alloc traces to check
1530         cleanup.
1531
1532         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
1533         To be modified when unlink drops the internal pad.
1534
1535 2005-06-27  Wim Taymans  <wim@fluendo.com>
1536
1537         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
1538         (gst_bin_change_state):
1539         Cleanup the get_state() function a little, make sure it
1540         iterates the same set of elements.
1541         Added stub iterate_state_order().
1542
1543 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1544
1545         * docs/gst/gstreamer-docs.sgml:
1546         * docs/gst/gstreamer-sections.txt:
1547         * docs/gst/gstreamer.types:
1548         * docs/gst/tmpl/gstbasesink.sgml:
1549         * docs/gst/tmpl/gstbasesrc.sgml:
1550         * docs/gst/tmpl/gstbasetransform.sgml:
1551         * docs/gst/tmpl/gstelement.sgml:
1552         * docs/gst/tmpl/gstiterator.sgml:
1553         * gst/base/gstbasesrc.c:
1554         * gst/base/gstbasesrc.h:
1555         * gst/base/gstbasetransform.h:
1556         * gst/gstelement.c:
1557         * gst/gstiterator.h:
1558           adding basetransform and iterator docs
1559
1560 2005-06-27  Andy Wingo  <wingo@pobox.com>
1561
1562         * docs/design/part-activation.txt: Notes on how activation should
1563         work -- not quite implemented yet.
1564
1565 2005-06-25  Wim Taymans  <wim@fluendo.com>
1566
1567         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
1568         At least get the chain function correct, needs more
1569         fixing.
1570
1571 2005-06-25  Wim Taymans  <wim@fluendo.com>
1572
1573         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1574         (gst_basesink_handle_object), (gst_basesink_event),
1575         (gst_basesink_do_sync), (gst_basesink_handle_event),
1576         (gst_basesink_change_state):
1577         * gst/gsttask.h:
1578         Right, two problems here: ghostpads don't take locks and
1579         glib _rec_mutex_lock_full() with depth==0 still locks.
1580         Catch illegal locking and g_warn them.
1581
1582 2005-06-25  Wim Taymans  <wim@fluendo.com>
1583
1584         * check/states/sinks.c: (START_TEST), (gst_object_suite):
1585         Have to check for completion now...
1586
1587 2005-06-25  Wim Taymans  <wim@fluendo.com>
1588
1589         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1590         (gst_basesink_handle_object), (gst_basesink_event),
1591         (gst_basesink_do_sync), (gst_basesink_handle_event),
1592         (gst_basesink_change_state):
1593         * gst/gstpad.h:
1594         Unlock STREAM_LOCK whatever the recursion was.
1595
1596 2005-06-25  Wim Taymans  <wim@fluendo.com>
1597
1598         * gst/base/gstbasesink.c: (gst_basesink_set_property),
1599         (gst_basesink_preroll_queue_empty),
1600         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
1601         (gst_basesink_event), (gst_basesink_do_sync),
1602         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
1603         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
1604         (gst_basesink_change_state):
1605         Reworked the base sink, handle event and buffer serialisation
1606         correctly and removed possible deadlock.
1607         Handle EOS correctly.
1608
1609 2005-06-25  Wim Taymans  <wim@fluendo.com>
1610
1611         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
1612         (gst_pipeline_change_state):
1613         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1614         Allow elements to post EOS in the state change function.
1615         Fix up -launch, make it exit the poll loop when the
1616         pipeline actually changed state.
1617         Fix up warning parsing in -launch.
1618
1619 2005-06-25  Wim Taymans  <wim@fluendo.com>
1620
1621         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
1622         (gst_tee_sink_activate):
1623         Core takes STREAM_LOCK for us now.
1624
1625 2005-06-25  Wim Taymans  <wim@fluendo.com>
1626
1627         * gst/gstelement.c: (gst_element_get_state_func),
1628         (gst_element_set_state):
1629         * gst/gstelement.h:
1630         * gst/gstmessage.c: (gst_message_parse_error),
1631         (gst_message_parse_warning):
1632         Keep track of current target state while performing a state
1633         change so that subclasses can do something interesting.
1634         Fix parsing of warning/error messages when GError is NULL.
1635
1636 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1637
1638         * docs/gst/Makefile.am:
1639         * docs/gst/gstreamer-docs.sgml:
1640         * docs/gst/gstreamer-sections.txt:
1641         * docs/gst/gstreamer.types:
1642         * docs/gst/tmpl/gstbasesink.sgml:
1643         * docs/gst/tmpl/gstbasesrc.sgml:
1644         * docs/gst/tmpl/gstbin.sgml:
1645         * docs/gst/tmpl/gstcompat.sgml:
1646         * docs/gst/tmpl/gstfakesink.sgml:
1647         * docs/gst/tmpl/gstfakesrc.sgml:
1648         * docs/gst/tmpl/gstfilesink.sgml:
1649         * docs/gst/tmpl/gstfilesrc.sgml:
1650         * docs/gst/tmpl/gstindex.sgml:
1651         * docs/manual/appendix-quotes.xml:
1652         * gst/base/gstbasesrc.h:
1653         * gst/elements/gstfakesrc.h:
1654         * gst/gstmessage.h:
1655           start pulling in base classes and elements in our docs
1656
1657 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
1658
1659         * docs/gst/Makefile.am:
1660         * docs/libs/Makefile.am:
1661           fixed make distcheck with gtk-doc 1.3
1662
1663 2005-06-23  Wim Taymans  <wim@fluendo.com>
1664
1665         * gst/gstelement.c: (gst_element_get_state_func),
1666         (gst_element_set_state), (gst_element_change_state):
1667         When the state did not change, also report NO_PREROLL
1668         when it matters.
1669
1670 2005-06-23  Wim Taymans  <wim@fluendo.com>
1671
1672         * gst/gstpad.c: (gst_pad_event_default):
1673         * gst/gstqueue.c: (gst_queue_loop):
1674         No unsafe task pausing please.
1675
1676 2005-06-23  Wim Taymans  <wim@fluendo.com>
1677
1678         * gst/schedulers/threadscheduler.c:
1679         (gst_thread_scheduler_task_start),
1680         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
1681         Ref the task before pushing it on the threadpool. This
1682         makes sure that we have a ref when the threadfunction is
1683         actually called.
1684
1685 2005-06-23  Andy Wingo  <wingo@pobox.com>
1686
1687         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
1688         offset is greater than the file's size.
1689
1690         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
1691         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
1692         * gst/gstobject.c (gst_object_class_init): Make the class lock
1693         recursive. Wim won't let me drop deep_notify. Decodebin works
1694         again, whoopdy doo.
1695
1696         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
1697         internal pad, and hacks accordingly. Doesn't do it on the target
1698         pad because we change its caps. Probably catches all cases of
1699         interest tho.
1700         (gst_ghost_pad_set_property): Connect to notify::caps as
1701         appropritate.
1702
1703         * tests/network-clock.scm (plot-simulation): Pipe data to the
1704         elite python skript.
1705
1706         * tests/network-clock-utils.scm (define-parameter): New macro,
1707         defines a parameter that can be set via the command line.
1708         (set-parameter!, parse-parameter-arguments): Command line args
1709         parser.
1710
1711         * tests/plot-data: Simple matplotlib-based plotter, takes input on
1712         stdin.
1713
1714 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
1715
1716         * gst/elements/gsttypefindelement.c:
1717         (gst_type_find_element_handle_event):
1718           Don't restart typefinding on a discont.
1719         * gst/gstelement.c: (gst_element_set_state):
1720           Debug spelling fix.
1721         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
1722           Allow changing mode of an active pad.
1723           Debug output fixes.
1724         * gst/registries/gstlibxmlregistry.c: (load_feature):
1725           Don't cast a static pad template to a normal pad template.
1726
1727 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1728
1729         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1730         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1731           remove gst_strtoll completely, since it didn't actually do
1732           anything more than what g_ascii_strtoull already does.
1733           check for range errors when deserializing
1734           do a cast for the unsigned cases; but further fixing needs
1735           a decision on what the interpretation of "(int)" and
1736           deserialization should be for values that fall outside the
1737           type's boundaries (ie, refuse, or interpret as casting)
1738
1739 2005-06-23  Wim Taymans  <wim@fluendo.com>
1740
1741         * check/Makefile.am:
1742         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
1743         * docs/design/part-live-source.txt:
1744         * docs/design/part-states.txt:
1745         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1746         (gst_basesrc_set_live), (gst_basesrc_is_live),
1747         (gst_basesrc_get_range), (gst_basesrc_activate),
1748         (gst_basesrc_change_state):
1749         * gst/base/gstbasesrc.h:
1750         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1751         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1752         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
1753         * gst/gstelement.c: (gst_element_get_state_func),
1754         (gst_element_set_state):
1755         * gst/gstelement.h:
1756         * gst/gsttypes.h:
1757         * tools/gst-launch.c: (event_loop), (main):
1758         Added support for live sources and other elements that
1759         cannot do preroll.
1760         Updated design docs, added live-source design doc.
1761         Implemented live source functionality in basesrc
1762         Fix error condition in _bin_get_state()
1763         Implement live source handling in -launch.
1764         Added check for live sources.
1765         Fixed case in GstBin where elements were changed state
1766         multiple times.
1767
1768
1769 2005-06-23  Andy Wingo  <wingo@pobox.com>
1770
1771         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
1772         borken refcounting.
1773
1774         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
1775         gst_caps_replace takes care of this for us.
1776
1777         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
1778         gst_pad_set_caps on the target, not just its setcaps() function.
1779
1780         * tests/network-clock.scm: 
1781         * tests/network-clock-utils.scm: A network clock simulator.
1782         Something of an algorithmic testbed before doing something in C.
1783
1784 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1785
1786         * check/Makefile.am:
1787         * check/gst/capslist.h:
1788           copy over from 0.8, and add two with bitmasks specified with
1789           (int) 0xFF...
1790         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1791           add test to parse everything from capslist.h
1792         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
1793         (main):
1794           add test for structure deserialization
1795         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1796           add tests for deserialization of strings to int types
1797         * gst/gststructure.c: (gst_structure_nth_field_name):
1798         * gst/gststructure.h:
1799           add a way to get the name of a field referenced by index
1800         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1801           instead of checking if the resulting long long lies between
1802           min and max, we check if the long long would fit into
1803           a number of bytes for the final type.
1804           This fixes cases where a string represents 2^32 - 1, which
1805           when cast to int would be the (valid) -1, but is bigger than
1806           G_MAXINT
1807
1808 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1809
1810         * gst/parse/grammar.y:
1811           add a log line for type deserialization
1812
1813 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1814
1815         * check/gst/gstvalue.c: (START_TEST):
1816         * gst/gstvalue.c: (gst_value_deserialize):
1817           return long long, not int, so gint64 deserialization actually
1818           works.  Is there any flag that makes the compiler check this ?
1819           Fixes #308559
1820
1821 2005-06-22  Wim Taymans  <wim@fluendo.com>
1822
1823         * gst/gstbuffer.h:
1824         Added convenience macros for setting buffers in GValue.
1825
1826 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1827
1828         * check/gst/.cvsignore:
1829         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1830           add a test deserializing int64, and comment part out because
1831           it fails, yay !
1832
1833 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1834
1835         * check/Makefile.am:
1836         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
1837         * testsuite/Makefile.am:
1838         * testsuite/caps/Makefile.am:
1839         * testsuite/caps/value_serialize.c:
1840         * testsuite/test_gst_init.c:
1841           move a value_serialize test over
1842
1843 2005-06-20  Wim Taymans  <wim@fluendo.com>
1844
1845         * gst/gstpad.c:
1846         Small doc updates.
1847         
1848         * gst/gstvalue.c: (gst_value_compare_buffer),
1849         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
1850         (gst_value_compare_flags), (gst_value_serialize_flags),
1851         (gst_value_deserialize_flags), (_gst_value_initialize):
1852         Fix serialisation of buffers, they are not boxed types anymore
1853
1854 2005-06-20  Wim Taymans  <wim@fluendo.com>
1855
1856         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1857         Testcase to show error in buffer-on-caps serialisation.
1858
1859 2005-06-20  Andy Wingo  <wingo@pobox.com>
1860
1861         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
1862         will be adding to later.
1863
1864         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
1865         if its socks fill with rocks.
1866         (gst_system_clock_obtain): Set the name on object construction.
1867         Avoid double-checked locking.
1868
1869 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
1870
1871         * gst/gsturi.c: (gst_element_make_from_uri):
1872           Fix potential endless loop.
1873
1874 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1875
1876         * check/Makefile.am:
1877           add gsttag
1878         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
1879         (main):
1880           move over from testsuite dir and clean up
1881         * configure.ac:
1882         * gst/gsttag.c:
1883         * testsuite/Makefile.am:
1884         * testsuite/tags/.cvsignore:
1885         * testsuite/tags/Makefile.am:
1886         * testsuite/tags/merge.c:
1887           remove testsuite/tags
1888
1889 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1890
1891         * docs/gst/gstreamer-sections.txt:
1892         * docs/gst/tmpl/gstenumtypes.sgml:
1893         * win32/gstenumtypes.c:
1894           clean up documentation build a little
1895
1896 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1897
1898         * check/gstcheck.h:
1899           add macros for checking refcounts on objects and caps
1900         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
1901           add some more unit tests
1902         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1903         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
1904           fix leaked refcounts (I hope :)) so unittest works
1905         * gst/gstpad.h:
1906           whitespace removal
1907
1908 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1909
1910         * configure.ac: back to HEAD
1911
1912 === release 0.9.1 ===
1913
1914 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1915
1916         * NEWS:
1917         * RELEASE:
1918           updated
1919
1920 2005-06-17  Andy Wingo  <wingo@pobox.com>
1921
1922         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
1923         assert; it's always possible that the pad gets deactivated in
1924         between the checks in gstpad.c and the implementation. Rely on
1925         finish_preroll() to return a FLUSHING or similar instead of on the
1926         assert.
1927         
1928         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
1929         clock and post an EOS message if we come out of finish_preroll in
1930         the playing state.
1931
1932 2005-06-16  David Schleef  <ds@schleef.org>
1933
1934         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1935         (gst_capsfilter_set_property): Allow NULL as possible value
1936         for filter_caps property, indicating GST_CAPS_ANY.
1937
1938 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1939
1940         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
1941           fix debug output
1942         * gst/schedulers/Makefile.am:
1943           use libgst prefix
1944         * gstreamer.spec.in:
1945           fix spec for it
1946
1947 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1948
1949         * gstreamer.spec.in:
1950           clean up
1951
1952 2005-06-08  Andy Wingo  <wingo@pobox.com>
1953
1954         * gst/gstutils.c: RPAD fixes all around.
1955         (gst_element_link_pads): Refcounting fixes.
1956
1957         * tools/gst-inspect.c:
1958         * tools/gst-xmlinspect.c:
1959         * parse/grammar.y:
1960         * gst/base/gsttypefindhelper.c:
1961         * gst/base/gstbasesink.c:
1962         * gst/gstqueue.c: RPAD fixes.
1963
1964         * gst/gstghostpad.h:
1965         * gst/gstghostpad.c: New ghost pad implementation as full proxy
1966         pads. The tricky thing is they provide both source and sink
1967         interfaces, since they proxy the internal pad for the external
1968         pad, and vice versa. Implement with lower-level ProxyPad objects,
1969         with the interior proxy pad as a child of the exterior ghost pad.
1970         Should write a doc on this.
1971         
1972         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
1973         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
1974         gst_object API.
1975         
1976         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
1977         pads are real pads. No ghost pads in this file. Not documenting
1978         the myriad s/RPAD/PAD/ and REALIZE fixes.
1979         (gst_pad_class_init): Add properties for "direction" and
1980         "template". Both are construct-only, so they can't change during
1981         the life of the pad. Fixes properly deriving from GstPad.
1982         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
1983         derived objects, just set properties when creating the objects via
1984         g_object_new.
1985         (gst_pad_get_parent): Implement as a function, return NULL if the
1986         parent is not an element.
1987         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
1988         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
1989         
1990         * gst/gstobject.c (gst_object_class_init): Make name a construct
1991         property. Don't set it in the object init.
1992
1993         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
1994         with UNKNOWN direction.
1995         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
1996         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
1997         (gst_element_remove_pad): Remove ghost-pad special cases.
1998         (gst_element_pads_activate): Remove rpad cruft.
1999
2000         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2001         catch the pad's-parent-not-an-element case.
2002
2003         * gst/gst.h: Include gstghostpad.h.
2004
2005         * gst/gst.c (init_post): No more real, ghost pads.
2006
2007         * gst/Makefile.am: Add gstghostpad.[ch].
2008
2009         * check/Makefile.am:
2010         * check/gst/gstbin.c:
2011         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2012         into a bin creates ghost pads, and that the refcounts are right.
2013         Partly moved from gstbin.c.
2014
2015 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2016
2017         * check/gst-libs/.cvsignore:
2018         * check/gst/.cvsignore:
2019         * check/pipelines/.cvsignore:
2020           ignore more
2021         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2022         (START_TEST), (cleanup_suite), (main):
2023           add some tests related to cleanup after running pipelines
2024
2025 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2026
2027         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2028           add a testsuite for GstBuffer
2029
2030 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2031
2032         * gst/gstminiobject.h:
2033           add defines for accessing the refcount
2034
2035 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2036
2037         * Makefile.am: added support for html unit test coverage reports
2038
2039 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2040
2041         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2042           Free existing caps if the capsfilter changes. Add a FIXME about
2043           setting those caps on the pads.
2044
2045         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2046           Before adding a ghost pad to a parent bin, check that there isn't
2047           already one for the element on the bin. Prevents infinite recursion
2048           when using decodebin in parse pipelines. Andy says he'll rewrite the
2049           way this works anyway, so ignore the hack.
2050
2051 2005-06-02  Andy Wingo  <wingo@pobox.com>
2052
2053         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2054         file size, pass it on to the type find helper.
2055
2056         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2057         segment_start and segment_end properly according to the seek
2058         method. Segment_end is still a bit flaky because offset can be
2059         negative for CUR and END cases, but it takes -1 as an "unset"
2060         value.
2061
2062 2005-06-02  Wim Taymans  <wim@fluendo.com>
2063
2064         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2065         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2066         (gst_basesink_activate):
2067         * gst/base/gstbasesink.h:
2068         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2069         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2070         (gst_pad_query), (gst_pad_start_task):
2071         * gst/gstpad.h:
2072         * gst/gstqueue.c: (gst_queue_bufferalloc),
2073         (gst_queue_handle_sink_event), (gst_queue_chain):
2074         Bufferalloc: return GstFlowReturn to more accuratly report
2075         why allocation failed.
2076
2077 2005-06-02  Wim Taymans  <wim@fluendo.com>
2078
2079         * gst/gstpipeline.c: (gst_pipeline_send_event):
2080         Take snapshot of state without blocking.
2081
2082 2005-06-02  Wim Taymans  <wim@fluendo.com>
2083
2084         * docs/design/part-TODO.txt:
2085         * docs/design/part-caps.txt:
2086         * docs/design/part-clocks.txt:
2087         * docs/design/part-negotiation.txt:
2088         * docs/design/part-preroll.txt:
2089         Small doc updates 
2090
2091 2005-05-30  Wim Taymans  <wim@fluendo.com>
2092
2093         * gst/elements/gstidentity.c: (gst_identity_event),
2094         (gst_identity_transform), (gst_identity_get_property):
2095         Protect last_message property as it is accessed from
2096         multiple threads.
2097
2098 2005-05-30  Wim Taymans  <wim@fluendo.com>
2099
2100         * gst/gstelement.c: (gst_element_init),
2101         (gst_element_pads_activate), (gst_element_change_state):
2102         Slicker pad activation code.
2103
2104 2005-05-30  Wim Taymans  <wim@fluendo.com>
2105
2106         * gst/Makefile.am:
2107         * gst/gstelement.h:
2108         * gst/gstelementfactory.h:
2109         * gst/gsttypes.h:
2110         Move elementfactory methods to separate .h file.
2111
2112 2005-05-30  Wim Taymans  <wim@fluendo.com>
2113
2114         * docs/design/part-overview.txt:
2115         * gst/gstsystemclock.h:
2116         Small typo fixes, doc updates.
2117
2118 2005-05-30  Wim Taymans  <wim@fluendo.com>
2119
2120         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2121         (init_popt_callback):
2122         Remove cpu-opt flag.
2123
2124 2005-05-30  Wim Taymans  <wim@fluendo.com>
2125
2126         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2127         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2128         * gst/gstbuffer.h:
2129         Avoid typechecking in places where not needed.
2130         Added accessor for malloc_data.
2131
2132 2005-05-30  Wim Taymans  <wim@fluendo.com>
2133
2134         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2135         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2136         (gst_pad_configure_sink), (gst_pad_configure_src),
2137         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2138         (gst_pad_start_task):
2139         Propagate errors from _set_caps() in configure_src/sink
2140         functions instead of returning TRUE.
2141         FLUSH events can travel up and downstream
2142
2143
2144 2005-05-30  Wim Taymans  <wim@fluendo.com>
2145
2146         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2147         (gst_basesink_activate):
2148         Handle EOS in preroll.
2149
2150 2005-05-30  Wim Taymans  <wim@fluendo.com>
2151
2152         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2153         (gst_queue_loop), (gst_queue_handle_src_event):
2154         Remove old pieces of code
2155         Flushing the queue in an upstream event is a very bad idea.
2156
2157 2005-05-26  Andy Wingo  <wingo@pobox.com>
2158
2159         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2160         gst_value_set_mini_object so as to add a ref on the object (which
2161         will be removed when the value is unset).
2162
2163         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2164         arg type in ::handoff.
2165
2166         * gst/gstelement.c (gst_element_change_state): Also deactivate
2167         pads in READY->NULL, just in case the element didn't make it to
2168         PAUSED. Wingo tested, Wim approved.
2169
2170 2005-05-26  Wim Taymans  <wim@fluendo.com>
2171
2172         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2173         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2174         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2175         A flushing pad cannot be used to alloc_buffer from.
2176
2177 2005-05-26  Wim Taymans  <wim@fluendo.com>
2178
2179         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2180         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2181         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2182         (gst_bus_create_watch), (gst_bus_add_watch_full):
2183         * gst/gstbus.h:
2184         Implement a real GSource and use g_main_context_wakeup() to
2185         signal new messages instead of the socketpair.
2186
2187 2005-05-25  Wim Taymans  <wim@fluendo.com>
2188
2189         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2190         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2191         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2192         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2193         (gst_pad_send_event), (gst_pad_start_task):
2194         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2195         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2196         (gst_queue_sink_activate), (gst_queue_src_activate),
2197         (gst_queue_change_state):
2198         * gst/gstqueue.h:
2199         Fix state changes for non sinks. We now change sinks, then elements
2200         with unconnected srcpads, then the rest.
2201         More efficient queue unlocking in flush and state changes.
2202         Set the pad activate mode even if it does not have an activate
2203         function.
2204
2205 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2206
2207         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2208           Don't go in pull mode for non-seekable sources.
2209         * gst/elements/gsttypefindelement.h:
2210         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2211         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2212         (free_entry), (stop_typefinding),
2213         (gst_type_find_element_handle_event), (find_peek),
2214         (gst_type_find_element_chain), (do_pull_typefind),
2215         (gst_type_find_element_change_state):
2216           Allow typefinding (w/o seeking) in push-mode, simplified version
2217           of what was in 0.8.
2218         * gst/gstutils.c: (gst_buffer_join):
2219         * gst/gstutils.h:
2220           gst_buffer_join() from 0.8.
2221
2222 2005-05-25  Wim Taymans  <wim@fluendo.com>
2223
2224         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2225         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2226         (gst_pad_send_event), (gst_pad_start_task):
2227         Disable attempt at mode switching until it is figured out.
2228
2229 2005-05-25  Wim Taymans  <wim@fluendo.com>
2230
2231         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2232         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2233         (gst_basesink_finish_preroll), (gst_basesink_chain),
2234         (gst_basesink_loop), (gst_basesink_activate),
2235         (gst_basesink_change_state):
2236         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2237         (gst_basesrc_get_range), (gst_basesrc_loop),
2238         (gst_basesrc_activate):
2239         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2240         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2241         (gst_real_pad_init), (gst_real_pad_set_property),
2242         (gst_real_pad_get_property), (gst_pad_set_active),
2243         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2244         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2245         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2246         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2247         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2248         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2249         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2250         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2251         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2252         (gst_pad_stop_task):
2253         * gst/gstpad.h:
2254         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2255         (gst_queue_loop), (gst_queue_src_activate):
2256         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2257         (gst_task_get_state):
2258         * gst/gsttask.h:
2259         * gst/schedulers/threadscheduler.c:
2260         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2261         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2262         in task function.
2263         Remove ACTIVE pad flag, use FLUSHING everywhere
2264         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2265         functions.
2266         Add locks around IS_FLUSHING when reading.
2267         Take STREAM lock in chain(), get_range() functions so plugins
2268         don't need to take it anymore.
2269         
2270
2271
2272 2005-05-25  Wim Taymans  <wim@fluendo.com>
2273
2274         * tools/gst-launch.c: (event_loop):
2275         Unref message after using its contents instead of
2276         before.
2277
2278 2005-05-24  Wim Taymans  <wim@fluendo.com>
2279
2280         * docs/design/draft-ghostpads.txt:
2281         * docs/design/draft-push-pull.txt:
2282         * docs/design/draft-query.txt:
2283         * docs/design/part-overview.txt:
2284         Docs updates, added general overview doc.
2285
2286 2005-05-21  David Schleef  <ds@schleef.org>
2287
2288         * docs/gst/tmpl/old/GstBin.sgml:
2289         * docs/gst/tmpl/old/GstBuffer.sgml:
2290         * docs/gst/tmpl/old/GstCaps.sgml:
2291         * docs/gst/tmpl/old/GstClock.sgml:
2292         * docs/gst/tmpl/old/GstCompat.sgml:
2293         * docs/gst/tmpl/old/GstData.sgml:
2294         * docs/gst/tmpl/old/GstElement.sgml:
2295         * docs/gst/tmpl/old/GstEvent.sgml:
2296         * docs/gst/tmpl/old/GstIndex.sgml:
2297         * docs/gst/tmpl/old/GstStructure.sgml:
2298         * docs/gst/tmpl/old/GstTag.sgml:
2299         * docs/gst/tmpl/old/cothreads.sgml:
2300         * docs/gst/tmpl/old/cothreads_compat.sgml:
2301         * docs/gst/tmpl/old/gettext.sgml:
2302         * docs/gst/tmpl/old/gobject2gtk.sgml:
2303         * docs/gst/tmpl/old/grammar.tab.sgml:
2304         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2305         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2306         * docs/gst/tmpl/old/gst_private.sgml:
2307         * docs/gst/tmpl/old/gstaggregator.sgml:
2308         * docs/gst/tmpl/old/gstarch.sgml:
2309         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2310         * docs/gst/tmpl/old/gstbufferstore.sgml:
2311         * docs/gst/tmpl/old/gstdata_private.sgml:
2312         * docs/gst/tmpl/old/gstdisksink.sgml:
2313         * docs/gst/tmpl/old/gstdisksrc.sgml:
2314         * docs/gst/tmpl/old/gstelementfactory.sgml:
2315         * docs/gst/tmpl/old/gstextratypes.sgml:
2316         * docs/gst/tmpl/old/gstfakesink.sgml:
2317         * docs/gst/tmpl/old/gstfakesrc.sgml:
2318         * docs/gst/tmpl/old/gstfdsink.sgml:
2319         * docs/gst/tmpl/old/gstfdsrc.sgml:
2320         * docs/gst/tmpl/old/gstfilesink.sgml:
2321         * docs/gst/tmpl/old/gstfilesrc.sgml:
2322         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2323         * docs/gst/tmpl/old/gstidentity.sgml:
2324         * docs/gst/tmpl/old/gstindexfactory.sgml:
2325         * docs/gst/tmpl/old/gstmarshal.sgml:
2326         * docs/gst/tmpl/old/gstmd5sink.sgml:
2327         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2328         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2329         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2330         * docs/gst/tmpl/old/gstpipefilter.sgml:
2331         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2332         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2333         * docs/gst/tmpl/old/gstshaper.sgml:
2334         * docs/gst/tmpl/old/gstspider.sgml:
2335         * docs/gst/tmpl/old/gstspideridentity.sgml:
2336         * docs/gst/tmpl/old/gststatistics.sgml:
2337         * docs/gst/tmpl/old/gsttee.sgml:
2338         * docs/gst/tmpl/old/gsttimecache.sgml:
2339         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2340         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2341         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2342         * docs/gst/tmpl/old/types.sgml:
2343           I didn't intend to add these or check them in.
2344
2345 2005-05-19  David Schleef  <ds@schleef.org>
2346
2347         * configure.ac: Use -no-common everywhere.  In a sane world, it
2348           would be the default in libtool, because without it, you can't
2349           build DLLs on Windows.
2350         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2351         * docs/gst/gstreamer-sections.txt:
2352         * docs/gst/tmpl/gstcpu.sgml:
2353         * docs/gst/tmpl/gstdata.sgml:
2354         * docs/gst/tmpl/gstthread.sgml:
2355
2356 2005-05-19  David Schleef  <ds@schleef.org>
2357
2358         * gst/gstminiobject.c: (gst_value_set_mini_object),
2359         (gst_value_take_mini_object), (gst_value_get_mini_object):
2360         * gst/gstminiobject.h: Add GValue set/get functions.
2361
2362 2005-05-19  Wim Taymans  <wim@fluendo.com>
2363
2364         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2365         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2366         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2367         * gst/gstbuffer.h:
2368         * gst/gstbus.c: (gst_bus_post):
2369         * gst/gstelement.c: (gst_element_get_random_pad):
2370         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2371         Make subbufer unref the parent in finalize.
2372         some more debugging info.
2373
2374
2375 2005-05-19  Wim Taymans  <wim@fluendo.com>
2376
2377         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2378         (gst_basesink_init), (gst_basesink_finalize),
2379         (gst_basesink_activate), (gst_basesink_change_state):
2380         Don't free preroll queue too early.
2381
2382 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2383
2384         * gst/Makefile.am:
2385         * gst/ROADMAP:
2386           Hi, I'm outdated. Please shoot me.
2387
2388 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2389
2390         * gst/gstpipeline.c: (gst_pipeline_send_event):
2391           Do not access variables after they have been deleted.
2392
2393 2005-05-19  Wim Taymans  <wim@fluendo.com>
2394
2395         * tools/gst-inspect.c: (print_plugin_features):
2396         A plugin feature does unfortunatly not use the
2397         object name yet...
2398
2399 2005-05-18  Wim Taymans  <wim@fluendo.com>
2400
2401         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2402         Port _span() functions to new subbuffers.
2403
2404 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2405
2406         * gst/gstbin.c: (gst_bin_add_func):
2407           Fix clock settery in bins when adding kids after the clock has
2408           been selected.
2409
2410 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2411
2412         * gst/elements/gstidentity.c: (gst_identity_class_init):
2413           Workaround until signals support GstMiniObject.
2414
2415 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2416
2417         * gst/gstbuffer.c:
2418         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2419
2420 2005-05-18  Wim Taymans  <wim@fluendo.com>
2421
2422         * gst/base/Makefile.am:
2423         * gst/base/gstadapter.c: (gst_adapter_base_init),
2424         (gst_adapter_class_init), (gst_adapter_init),
2425         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2426         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2427         (gst_adapter_flush), (gst_adapter_available),
2428         (gst_adapter_available_fast):
2429         * gst/base/gstadapter.h:
2430         Ported and added adapter to the base classes.
2431
2432 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2433
2434         * gst/gst.c:
2435         * gst/gstmessage.c:
2436           Make sure the class is reffed/unreffed once before threads can be
2437           used.  Fixes #304551.
2438
2439 2005-05-17  Wim Taymans  <wim@fluendo.com>
2440
2441         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2442         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2443         * gst/gstminiobject.c: (gst_mini_object_get_type),
2444         (gst_mini_object_free):
2445         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2446         (gst_pad_push), (gst_pad_push_event):
2447         * gst/gstqueue.c: (gst_queue_change_state):
2448         Don't queue buffers in basesink when we are flushing.
2449         Unref buffer when flushing in basesink.
2450         Flush queue when going to READY
2451         Unref buffer when _push() returns an error.
2452         Don't free MiniObject instance when refcount is incremented
2453         in _finalize() so that we can recover objects.
2454
2455 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2456
2457         * docs/manual/advanced-schedulers.xml:
2458         * docs/manual/appendix-checklist.xml:
2459         * docs/pwg/advanced-clock.xml:
2460         * docs/pwg/advanced-interfaces.xml:
2461         * docs/pwg/advanced-request.xml:
2462         * docs/pwg/advanced-types.xml:
2463         * docs/pwg/intro-preface.xml:
2464         * examples/plugins/example.c: (gst_example_get_type),
2465         (gst_example_class_init), (gst_example_chain),
2466         (gst_example_set_property), (gst_example_get_property),
2467         (gst_example_change_state), (plugin_init):
2468         * examples/plugins/example.h:
2469           small doc fixes
2470
2471 2005-05-17  Wim Taymans  <wim@fluendo.com>
2472
2473         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
2474         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
2475         * gst/gstqueue.c: (gst_queue_change_state):
2476         Clear queue when going to READY.
2477         Remove IN_SETCAPS flag too.
2478
2479 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
2480
2481         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
2482           Remove implicit cast from gboolean to GstElementStateReturn;
2483           make sure we still return failure in paused => ready case if
2484           the parent class fails to change state and our own stop 
2485           vfunc succeeds.
2486
2487 2005-05-17  Wim Taymans  <wim@fluendo.com>
2488
2489         * tools/gst-launch.c: (event_loop):
2490         Message was unreffed too soon.
2491
2492 2005-05-16  Andy Wingo  <wingo@pobox.com>
2493
2494         * gst/gstbin.c (sink_iterator_filter): Err... um...
2495
2496         * check/gst/gstbin.c (test_ghost_pads): New test for the
2497         ghosting-if-elements-not-in-same-bin behavior.
2498
2499 2005-05-16  David Schleef  <ds@schleef.org>
2500
2501         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
2502         accessing refcount directly.
2503
2504 2005-05-15  David Schleef  <ds@schleef.org>
2505
2506         * check/Makefile.am: remove GstData checks
2507         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
2508         * gst/Makefile.am: add miniobject, remove data
2509         * gst/gst.h: add miniobject, remove data
2510         * gst/gstdata.c: remove
2511         * gst/gstdata.h: remove
2512         * gst/gstdata_private.h: remove
2513         * gst/gsttypes.h: remove GstEvent and GstMessage
2514         * gst/gstelement.c: (gst_element_post_message): fix for API changes
2515         * gst/gstmarshal.list: change BOXED -> OBJECT
2516
2517         Implement GstMiniObject.
2518         * gst/gstminiobject.c:
2519         * gst/gstminiobject.h:
2520
2521         Modify to be subclasses of GstMiniObject.
2522         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
2523         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
2524         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
2525         (gst_subbuffer_get_type), (gst_subbuffer_init),
2526         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
2527         (gst_buffer_span):
2528         * gst/gstbuffer.h:
2529         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
2530         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
2531         (_gst_event_copy), (gst_event_new):
2532         * gst/gstevent.h:
2533         * gst/gstmessage.c: (_gst_message_initialize),
2534         (gst_message_get_type), (gst_message_class_init),
2535         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
2536         (gst_message_new), (gst_message_new_error),
2537         (gst_message_new_warning), (gst_message_new_tag),
2538         (gst_message_new_state_changed), (gst_message_new_application):
2539         * gst/gstmessage.h:
2540         * gst/gstprobe.c: (gst_probe_perform),
2541         (gst_probe_dispatcher_dispatch):
2542         * gst/gstprobe.h:
2543         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
2544         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
2545         (_gst_query_copy), (gst_query_new):
2546
2547         Update elements for GstData -> GstMiniObject changes
2548         * gst/gstquery.h:
2549         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
2550         (gst_queue_chain), (gst_queue_loop):
2551         * gst/elements/gstbufferstore.c:
2552         (gst_buffer_store_add_buffer_func),
2553         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
2554         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2555         (gst_fakesink_render):
2556         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2557         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
2558         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
2559         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
2560         (gst_filesrc_create_read):
2561         * gst/elements/gstidentity.c: (gst_identity_class_init):
2562         * gst/elements/gsttypefindelement.c:
2563         (gst_type_find_element_src_event), (free_entry_buffers),
2564         (gst_type_find_element_handle_event):
2565         * libs/gst/dataprotocol/dataprotocol.c:
2566         (gst_dp_header_from_buffer):
2567         * libs/gst/dataprotocol/dataprotocol.h:
2568         * libs/gst/dataprotocol/dp-private.h:
2569
2570 2005-05-15  David Schleef  <ds@schleef.org>
2571
2572         * gst/elements/gstelements.c: Don't include headers that were
2573         just removed.
2574
2575 2005-05-15  David Schleef  <ds@schleef.org>
2576
2577         * gst/elements/Makefile.am: Remove some elements that don't
2578         need to be in the core (or even exist at all).
2579         * gst/elements/gstaggregator.c:
2580         * gst/elements/gstaggregator.h:
2581         * gst/elements/gstmd5sink.c:
2582         * gst/elements/gstmd5sink.h:
2583         * gst/elements/gstmultifilesrc.c:
2584         * gst/elements/gstmultifilesrc.h:
2585         * gst/elements/gstpipefilter.c:
2586         * gst/elements/gstpipefilter.h:
2587         * gst/elements/gstshaper.c:
2588         * gst/elements/gstshaper.h:
2589         * gst/elements/gststatistics.c:
2590         * gst/elements/gststatistics.h:
2591         * po/POTFILES.in: Remove above files.
2592
2593 2005-05-14  Andy Wingo  <wingo@pobox.com>
2594
2595         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
2596         so as to get the refs right.
2597         (sink_iterator_filter): New function, wraps bin_element_is_sink,
2598         unreffing objects that don't pass the filter.
2599
2600         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
2601         gst_element_set_bus.
2602         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
2603         normal cases, this will destroy the bus.
2604
2605         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
2606         object.
2607
2608         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
2609         has no sinks.
2610
2611 2005-05-13  Andy Wingo  <wingo@pobox.com>
2612
2613         * gst/gstutils.c (gst_element_link_pads): Instead of calling
2614         gst_pad_link, call pad_link_maybe_ghosting,
2615         (pad_link_maybe_ghosting): Links pads, making sure that the
2616         elements being linked are in the same bin.
2617         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
2618         Helpers for pad_link_maybe_ghosting.
2619
2620 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2621
2622         * configure.ac:
2623           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
2624
2625 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2626
2627         * docs/design/part-element-source.txt:
2628           Mention GstPushSrc
2629
2630 2005-05-12  Wim Taymans  <wim@fluendo.com>
2631
2632         * gst/base/gstbasesink.c: (gst_basesink_init),
2633         (gst_basesink_activate):
2634         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
2635         (gst_basesrc_is_seekable):
2636         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2637         (bin_element_is_sink), (gst_bin_change_state):
2638         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2639         * gst/gstelement.h:
2640         Identify sinks by their flag to avoid overly complicated
2641         checks (fow now).
2642         Do state changes even for elements not reachable from the
2643         sinks.
2644         BaseSink is a sink now :)
2645         Some more debugging info in the basesrc.
2646
2647
2648 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2649
2650         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
2651           Implement _query on a bin, similar to _send_event.
2652
2653 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2654
2655         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
2656           Discont event offset format should be GST_FORMAT_BYTES,
2657           not GST_FORMAT_TIME.
2658
2659 2005-05-12  Wim Taymans  <wim@fluendo.com>
2660
2661         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
2662         Same fix as Ronald's but without the signal. 
2663
2664 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2665
2666         * gst/gstutils.c: (gst_element_query_position):
2667           No, an element is not a pad.
2668
2669 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2670
2671         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
2672         (gst_bin_get_state):
2673           If a child is removed from a bin while we remove the child from
2674           the bin and while we're retrieving its state, signal this to the
2675           get_state function so we abort the wait (instead of waiting for
2676           a timeout) and can immediately re-iterate over all other elements.
2677
2678 2005-05-12  Wim Taymans  <wim@fluendo.com>
2679
2680         * gst/base/Makefile.am:
2681         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
2682         (gst_basesrc_start):
2683         * gst/base/gstbasesrc.h:
2684         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
2685         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
2686         (gst_pushsrc_init), (gst_pushsrc_create):
2687         * gst/base/gstpushsrc.h:
2688         Added is_seekable to BaseSrc
2689         Added simple PushSrc.
2690
2691 2005-05-11  Wim Taymans  <wim@fluendo.com>
2692
2693         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2694         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2695         (gst_element_link_pads), (gst_element_query_position),
2696         (gst_element_query_convert), (intersect_caps_func),
2697         (gst_pad_query_position), (gst_pad_query_convert):
2698         Fix refcounting in utils function.
2699         No point in trying to activate a pad when it's added, it could
2700         be added from the state change function and then we deadlock, the
2701         element has to decide what to do.
2702
2703 2005-05-10  Andy Wingo  <wingo@pobox.com>
2704
2705         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
2706         *all* the arguments.
2707
2708         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
2709         stream lock if it's a FLUSH_DONE; normal flushes don't get the
2710         lock (according to the docs -- if this is wrong change the docs).
2711
2712         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
2713         flush messages in the NULL state.
2714
2715         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
2716         message immediately and return.
2717         (gst_bus_set_flushing): New function. If a bus is flushing, it
2718         flushes out any queued messages and immediately unrefs new
2719         messages. This is so when an element goes to NULL, all of the
2720         unhandled messages coming from it can be freed, and their
2721         references to the element dropped. In other words: message source
2722         ref considered harmful :P
2723
2724         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
2725         we're finished with it.
2726
2727         * gst/gstmessage.c (gst_message_new_state_changed): 
2728
2729 2005-05-10  Wim Taymans  <wim@fluendo.com>
2730
2731         * gst/gstvalue.c: (gst_value_compare_flags),
2732         (gst_value_serialize_flags), (gst_value_deserialize_flags),
2733         (_gst_value_initialize):
2734         Added flags serialize/deserialize/compare code.
2735
2736 2005-05-09  Andy Wingo  <wingo@pobox.com>
2737
2738         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
2739         Intersect the peer's caps with our caps.
2740
2741 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2742
2743         * gst/base/gsttypefindhelper.c: (helper_find_peek):
2744         * gst/elements/gsttypefindelement.c: (find_peek):
2745           Handle negative offsets better. Fixes decodebin.
2746
2747 2005-05-09  Wim Taymans  <wim@fluendo.com>
2748
2749         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
2750         (gst_base_transform_event):
2751         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
2752         Implement accept_caps.
2753         Fix silly lock/unlock mismatch in base class.
2754
2755 2005-05-09  Wim Taymans  <wim@fluendo.com>
2756
2757         * docs/design/draft-push-pull.txt:
2758         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
2759         * gst/elements/gstfilesink.c: (gst_filesink_init),
2760         (gst_filesink_query):
2761         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2762         (gst_type_find_handle_src_query), (find_element_get_length):
2763         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
2764         * gst/gstelement.h:
2765         * gst/gstmessage.c:
2766         * gst/gstmessage.h:
2767         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
2768         (gst_real_pad_get_caps_unlocked),
2769         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
2770         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2771         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
2772         (gst_real_pad_dispose), (gst_real_pad_finalize),
2773         (gst_pad_load_and_link), (gst_pad_save_thyself),
2774         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
2775         (gst_pad_check_pull_range), (gst_pad_pull_range),
2776         (gst_pad_template_get_type), (gst_pad_template_class_init),
2777         (gst_pad_template_init), (gst_pad_template_dispose),
2778         (name_is_valid), (gst_static_pad_template_get),
2779         (gst_pad_template_new), (gst_static_pad_template_get_caps),
2780         (gst_pad_template_get_caps), (gst_pad_set_element_private),
2781         (gst_pad_get_element_private), (gst_pad_start_task),
2782         (gst_pad_pause_task), (gst_pad_stop_task),
2783         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
2784         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
2785         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
2786         (gst_ghost_pad_new):
2787         * gst/gstpad.h:
2788         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
2789         (gst_query_new_position), (gst_query_set_position),
2790         (gst_query_parse_position), (gst_query_new_convert),
2791         (gst_query_set_convert), (gst_query_parse_convert):
2792         * gst/gstquery.h:
2793         * gst/gstqueryutils.c:
2794         * gst/gstqueryutils.h:
2795         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2796         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2797         (gst_queue_handle_src_query):
2798         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2799         (gst_element_query_position), (gst_element_query_convert),
2800         (intersect_caps_func), (gst_pad_query_position),
2801         (gst_pad_query_convert):
2802         * gst/gstutils.h:
2803         * tools/gst-inspect.c: (print_pad_info):
2804         * tools/gst-xmlinspect.c: (print_element_info):
2805         Remove old query functions. Ported old code.
2806         Added position/convert helper functions to gstutils.
2807         Reordered gstpad.c code, grouping relevant things.
2808         Remove gst_message_new(), always need to speficy a specific
2809         message.
2810
2811
2812 2005-05-09  Andy Wingo  <wingo@pobox.com>
2813
2814         * gst/gstiterator.h: Add some includes.
2815
2816         * gst/gstqueryutils.h: Include more headers.
2817
2818         * gst/gstpad.h:
2819         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
2820         some uses of gst_pad_query.
2821
2822         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
2823         NULL out parameters.
2824         (gst_query_new_position): New proc, allocates a new position
2825         query.
2826
2827         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
2828         gstqueryutils.c to the build.
2829
2830         * gst/gststructure.c (gst_structure_set_valist): Implement with
2831         the generic G_VALUE_COLLECT.
2832         
2833 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
2834
2835         * gst/Makefile.am: (gst_headers):
2836         Added gstqueryutils.h to the list of headers to install, that was
2837         a 'nachty' move wingo :)
2838
2839 2005-05-06  Andy Wingo  <wingo@pobox.com>
2840
2841         * gst/gstquery.h
2842         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
2843         GstData, init a memchunk.
2844         (standard_definitions): Add a few query types, deprecate a few.
2845         (gst_query_get_type): New proc.
2846         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
2847         implementation.
2848         (gst_query_new_application, gst_query_get_structure): New public
2849         procs.
2850
2851         * docs/design/draft-query.txt: Removed LINKS from the query types,
2852         because all the rest can be dispatched to other pads -- seemed
2853         ugly to have a query that couldn't be dispatched. internal_links
2854         is fine as a pad method.
2855
2856         * gst/gstpad.h: Add query2 as a pad method, add the new functions
2857         in gstpad.c, but maintain binary compatibility for the moment.
2858         Will fix before 0.9 is out.
2859
2860         * gst/gstqueryutils.c: 
2861         * gst/gstqueryutils.h: New files, implement 3 methods for each
2862         query type: parse_query, parse_response, and set. Probably need an
2863         allocator as well.
2864
2865         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
2866
2867         * gst/elements/gstfilesink.c (gst_filesink_query2):
2868         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
2869         query_types, and formats methods.
2870
2871         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
2872         (gst_pad_set_query2_function): New functions.
2873         (gst_real_pad_init): Set query2_default as the default query2
2874         function. Basically just dispatches to internally linked pads.
2875
2876         Needs review!
2877         
2878         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
2879         without using the atomic operations. Only one thread can possibly
2880         be accessing the data at this point. Changed so as to avoid
2881         gst_atomic operations.
2882
2883 2005-05-06  Wim Taymans  <wim@fluendo.com>
2884
2885         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
2886         Also set caps if we use the fallback buffer alloc.
2887
2888 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
2889
2890         * docs/gst/Makefile.am:
2891         * docs/gst/gstreamer-docs.sgml:
2892         * docs/gst/gstreamer-sections.txt:
2893         * docs/gst/tmpl/gstatomic.sgml:
2894         * docs/gst/tmpl/gstmemchunk.sgml:
2895         * testsuite/elements/struct_i386.h:
2896         * win32/GStreamer.vcproj:
2897         * win32/Makefile:
2898           Purge GstAtomic stuff from docs and win32 makefiles as well
2899
2900 2005-05-06  Wim Taymans  <wim@fluendo.com>
2901
2902         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
2903         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
2904         * gst/gstpad.c: (gst_pad_peer_get_caps):
2905         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2906         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2907         (gst_queue_src_activate), (gst_queue_change_state):
2908         * gst/gstqueue.h:
2909         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2910         (intersect_caps_func):
2911         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
2912         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
2913         Some fixes for the peer_get_caps() change.
2914
2915 2005-05-06  Wim Taymans  <wim@fluendo.com>
2916
2917         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2918         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
2919         (gst_basesink_activate):
2920         Actually do something with error codes returned from the push
2921         functions.
2922
2923 2005-05-06  Wim Taymans  <wim@fluendo.com>
2924
2925         * docs/design/part-element-sink.txt:
2926         * docs/design/part-element-source.txt:
2927         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2928         (gst_basesink_event), (gst_basesink_activate):
2929         * gst/base/gstbasesink.h:
2930         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
2931         (gst_basesrc_activate):
2932         * gst/base/gstbasesrc.h:
2933         * gst/gstelement.c: (gst_element_pads_activate):
2934         Some more documentation.
2935         Fixed scheduling decision in _pads_activate().
2936
2937 2005-05-05  Andy Wingo  <wingo@pobox.com>
2938
2939         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
2940         the test suite.
2941
2942 2005-05-05  Wim Taymans  <wim@fluendo.com>
2943
2944         * gst/base/Makefile.am:
2945         * gst/base/gstbasesink.h:
2946         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2947         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
2948         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
2949         (gst_collectpads_class_init), (gst_collectpads_init),
2950         (gst_collectpads_finalize), (gst_collectpads_new),
2951         (gst_collectpads_set_function), (gst_collectpads_add_pad),
2952         (find_pad), (gst_collectpads_remove_pad),
2953         (gst_collectpads_is_active), (gst_collectpads_collect),
2954         (gst_collectpads_collect_range), (gst_collectpads_start),
2955         (gst_collectpads_stop), (gst_collectpads_peek),
2956         (gst_collectpads_pop), (gst_collectpads_available),
2957         (gst_collectpads_read), (gst_collectpads_flush),
2958         (gst_collectpads_chain):
2959         * gst/base/gstcollectpads.h:
2960         * gst/elements/Makefile.am:
2961         * gst/elements/gstelements.c:
2962         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2963         (gst_fakesink_get_times), (gst_fakesink_event),
2964         (gst_fakesink_preroll), (gst_fakesink_render):
2965         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2966         (gst_filesink_init), (gst_filesink_set_location),
2967         (gst_filesink_open_file), (gst_filesink_close_file),
2968         (gst_filesink_pad_query), (gst_filesink_event),
2969         (gst_filesink_render), (gst_filesink_change_state):
2970         * gst/elements/gstfilesink.h:
2971         Added object to help in making collect pad based elements.
2972         Ported filesink.
2973         Make event function in sink baseclass return gboolean.
2974
2975 2005-05-05  Wim Taymans  <wim@fluendo.com>
2976
2977         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
2978         (gst_bin_get_by_name):
2979         * gst/gstbuffer.h:
2980         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
2981         (gst_clock_finalize):
2982         * gst/gstdata.c: (gst_data_replace):
2983         * gst/gstdata.h:
2984         * gst/gstelement.c: (gst_element_request_pad),
2985         (gst_element_pads_activate):
2986         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2987         (gst_object_unref):
2988         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2989         (gst_pad_set_checkgetrange_function),
2990         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
2991         (gst_pad_check_pull_range), (gst_pad_pull_range),
2992         (gst_static_pad_template_get_caps), (gst_pad_start_task),
2993         (gst_pad_pause_task), (gst_pad_stop_task):
2994         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2995         (gst_element_request_pad), (gst_pad_proxy_getcaps):
2996         Fix name lookup in GstBin.
2997         Added _data_replace() function and _buffer_replace()
2998         Use finalize method to clean up clock.
2999         Fix refcounting on request pads.
3000         Fix pad schedule mode error.
3001         Some more object refcounting debug info,
3002
3003
3004 2005-05-04  Andy Wingo <wingo@pobox.com>
3005
3006         * check/Makefile.am:
3007         * docs/gst/tmpl/gstatomic.sgml:
3008         * docs/gst/tmpl/gstplugin.sgml:
3009         * gst/base/gstbasesink.c: (gst_basesink_activate):
3010         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3011         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3012         (gst_basesrc_query), (gst_basesrc_set_property),
3013         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3014         (gst_basesrc_activate):
3015         * gst/base/gstbasesrc.h:
3016         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3017         (gst_base_transform_src_activate):
3018         * gst/elements/gstelements.c:
3019         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3020         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3021         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3022         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3023         (gst_type_find_element_checkgetrange),
3024         (gst_type_find_element_activate):
3025         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3026         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3027         (gst_caps_load_thyself):
3028         * gst/gstelement.c: (gst_element_pads_activate),
3029         (gst_element_save_thyself), (gst_element_restore_thyself):
3030         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3031         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3032         * gst/gstpad.h:
3033         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3034         (gst_xml_parse_file), (gst_xml_parse_memory),
3035         (gst_xml_get_element), (gst_xml_make_element):
3036         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3037         (_file_index_id_save_xml), (gst_file_index_commit):
3038         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3039         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3040         (load_paths):
3041         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3042         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3043         * tools/gst-complete.c: (main):
3044         * tools/gst-compprep.c: (main):
3045         * tools/gst-inspect.c: (print_element_properties_info):
3046         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3047         * tools/gst-xmlinspect.c: (print_element_properties):
3048         GCC 4 fixen.
3049         
3050 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3051
3052         * gst/gstplugin.c: (gst_plugin_check_module),
3053         (gst_plugin_check_file), (gst_plugin_load_file):
3054             apply patch from #172526 to make register work on MacOSX
3055
3056 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3057
3058         * docs/gst/tmpl/gstconfig.sgml:
3059         * gst/gstconfig.h.in:
3060           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3061         * testsuite/debug/printf_extension.c: (main):
3062           Do not use GST_PTR_FORMAT on pointers to types with
3063           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3064         * testsuite/elements/property.h:
3065           use correct printf format
3066
3067 2005-05-02  Wim Taymans  <wim@fluendo.com>
3068
3069         * docs/design/draft-push-pull.txt:
3070         * docs/design/draft-query.txt:
3071         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3072         (gst_basesrc_start):
3073         Added draft for new query API.
3074         Added draft for better selecting scheduling methods.
3075         Make basesrc ignore length if the subclass does not support
3076         it.
3077
3078 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3079
3080         * gst/Makefile.am:
3081           possible fixes for automake-1.5 - _LIBADD is reserved
3082
3083 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3084
3085         * docs/faq/Makefile.am:
3086         * docs/manual/Makefile.am:
3087         * docs/manuals.mak:
3088         * docs/pwg/Makefile.am:
3089         * gst/Makefile.am:
3090           possible fixes for automake-1.5
3091
3092 2005-04-28  Wim Taymans  <wim@fluendo.com>
3093
3094         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3095         (gst_basesink_pad_getcaps), (gst_basesink_init),
3096         (gst_basesink_do_sync):
3097         * gst/gstclock.c: (gst_clock_entry_new):
3098         * gst/gstevent.c: (gst_event_discont_get_value):
3099         * gst/gstpipeline.c: (pipeline_bus_handler),
3100         (gst_pipeline_change_state):
3101         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3102         Better debugging of clocking info.
3103         Allow NULL values when getting discont values.
3104
3105 2005-04-27  Wim Taymans  <wim@fluendo.com>
3106
3107         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3108         * check/gst/gstpad.c: (gst_pad_suite):
3109         Increase timeout for checks.
3110
3111 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3112
3113         * check/Makefile.am:
3114           fix the broken rule for cleanup.  Apparently this rule is
3115           only needed on FC2, so maybe this warrants further autotool
3116           inspection.
3117
3118 2005-04-26  Wim Taymans  <wim@fluendo.com>
3119
3120         * gst/gsttrashstack.h:
3121         Ooohh. a nasty one! After having a failed pop() from the stack,
3122         it's possible that the stack is empty. In that case, don't
3123         follow the NULL pointer.
3124
3125 2005-04-25  Wim Taymans  <wim@fluendo.com>
3126
3127         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3128         (gst_pad_set_checkgetrange_function),
3129         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3130         (gst_pad_check_pull_range), (gst_pad_pull_range),
3131         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3132         (gst_pad_pause_task), (gst_pad_stop_task):
3133         * gst/gstplugin.c: (gst_plugin_load):
3134         * gst/gstplugin.h:
3135         Remove gst_library_load as it does more harm than good with
3136         the new g_module flags.
3137         Revert bogus caps template check in pad linking, pad caps
3138         are important when linking not the template, which is more
3139         general than the current caps.
3140
3141 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3142
3143         * gst/autoplug/.cvsignore:
3144         * gst/autoplug/Makefile.am:
3145         * gst/autoplug/gstsearchfuncs.c:
3146         * gst/autoplug/gstsearchfuncs.h:
3147         * gst/autoplug/gstspider.c:
3148         * gst/autoplug/gstspider.h:
3149         * gst/autoplug/gstspideridentity.c:
3150         * gst/autoplug/gstspideridentity.h:
3151         * gst/autoplug/spidertest.c:
3152           Die, spider, die.
3153
3154 2005-04-25  Wim Taymans  <wim@fluendo.com>
3155
3156         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3157         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3158         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3159         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3160         * gst/gstpad.h:
3161         Added stubs for unimplemented functions. 
3162
3163 2005-04-24  David Schleef  <ds@schleef.org>
3164
3165         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3166         please fix.
3167
3168 2005-04-24  David Schleef  <ds@schleef.org>
3169
3170         Convert everything from GstAtomicInt to g_atomic_int_*, and
3171         remove gstatomic.
3172         * gst/Makefile.am:
3173         * gst/gstatomic.c:
3174         * gst/gstatomic.h:
3175         * gst/gstatomic_impl.h:
3176         * gst/gstbuffer.c:
3177         * gst/gstcaps.c:
3178         * gst/gstcaps.h:
3179         * gst/gstclock.c:
3180         * gst/gstclock.h:
3181         * gst/gstdata.c:
3182         * gst/gstdata.h:
3183         * gst/gstdata_private.h:
3184         * gst/gstevent.c:
3185         * gst/gstinfo.c:
3186         * gst/gstinfo.h:
3187         * gst/gstmessage.c:
3188         * gst/gstobject.c:
3189         * gst/gstobject.h:
3190         * gst/gststructure.c:
3191         * gst/gststructure.h:
3192         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3193         * gst/gstutils.h:
3194
3195 2005-04-24  David Schleef  <ds@schleef.org>
3196
3197         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3198         make the regressions tests work.  Remove some code that is no
3199         longer true.
3200         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3201         Disable warning for pads without templates.
3202
3203 2005-04-24  David Schleef  <ds@schleef.org>
3204
3205         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3206         functions that handle filtered links.
3207         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3208         removed functions.
3209         * gst/gstutils.c: Fix/remove utility functions that handle
3210         filtered caps.
3211         * gst/gstutils.h:
3212         * gst/gstvalue.c: Add serialization/deserialization of caps
3213         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3214         requires fixing so that the filter caps notation creates
3215         a capsfilter element and sets the filter_caps property.  I
3216         think everyone probably wants to keep the shorthand notation.
3217         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3218         * docs/gst/tmpl/gstpad.sgml:
3219
3220         * gst/elements/gstelements.c: Register capsfilter element.
3221         * gst/Makefile.am: fix spacing
3222         * docs/random/ds/0.9-suggested-changes: random
3223
3224 2005-04-23  David Schleef  <ds@schleef.org>
3225
3226         * gst/elements/Makefile.am:
3227         * gst/elements/gstcapsfilter.c: New element that acts like an
3228         identity, but filters caps.  Will eventually replace filtered
3229         caps in pad linking.
3230         * gst/gstutils.c: (gst_element_create_all_pads): New function
3231         to create all the ALWAYS pads that are registered with an
3232         element class.  This functionality should eventually be
3233         merged in with GstElement initialization.
3234         * gst/gstutils.h:
3235         * testsuite/trigger/README: part of trigger test code that should
3236         have been checked in a long time ago.
3237
3238 2005-04-23  David Schleef  <ds@schleef.org>
3239
3240         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3241         needed with new versions of libtool (nobody will confirm this),
3242         and hard to carry around.
3243         * gst/autoplug/Makefile.am:
3244         * gst/base/Makefile.am:
3245         * gst/elements/Makefile.am:
3246         * gst/indexers/Makefile.am:
3247         * gst/schedulers/Makefile.am:
3248         * libs/gst/bytestream/Makefile.am:
3249         * libs/gst/control/Makefile.am:
3250         * libs/gst/dataprotocol/Makefile.am:
3251         * libs/gst/getbits/Makefile.am:
3252
3253 2005-04-21  Wim Taymans  <wim@fluendo.com>
3254
3255         * docs/design/draft-push-pull.txt:
3256         * docs/design/part-MT-refcounting.txt:
3257         * docs/design/part-TODO.txt:
3258         * docs/design/part-caps.txt:
3259         * docs/design/part-events.txt:
3260         * docs/design/part-gstbus.txt:
3261         * docs/design/part-gstpipeline.txt:
3262         * docs/design/part-messages.txt:
3263         * docs/design/part-push-pull.txt:
3264         * docs/design/part-query.txt:
3265         Some more docs.
3266
3267 2005-04-21  Wim Taymans  <wim@fluendo.com>
3268
3269         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3270         (gst_message_new), (gst_message_new_error),
3271         (gst_message_new_warning), (gst_message_new_tag),
3272         (gst_message_new_state_changed), (gst_message_new_application),
3273         (gst_message_get_structure):
3274         * gst/gstmessage.h:
3275         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3276         (gst_structure_copy_conditional):
3277         Use parent refcount in GstMessage to ensure GstStructure
3278         consistency.
3279         Cleaned up headers a bit.
3280         
3281
3282 2005-04-20  Wim Taymans  <wim@fluendo.com>
3283
3284         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3285         (gst_basesink_pad_getcaps), (gst_basesink_init),
3286         (gst_basesink_chain_unlocked):
3287         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3288         (gst_type_find_helper):
3289         * gst/elements/gsttypefindelement.c:
3290         (gst_type_find_element_have_type), (gst_type_find_element_init),
3291         (stop_typefinding), (gst_type_find_element_handle_event),
3292         (find_suggest), (gst_type_find_element_chain),
3293         (gst_type_find_element_checkgetrange),
3294         (gst_type_find_element_getrange), (do_typefind),
3295         (gst_type_find_element_activate):
3296         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3297         (gst_buffer_default_free), (gst_buffer_default_copy),
3298         (gst_buffer_set_caps):
3299         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3300         (gst_caps_replace):
3301         * gst/gstmessage.c: (gst_message_new),
3302         (gst_message_new_state_changed):
3303         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3304         (gst_pad_set_checkgetrange_function),
3305         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3306         (gst_pad_set_caps), (gst_pad_check_pull_range),
3307         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3308         * gst/gstpad.h:
3309         * gst/gsttypefind.c: (gst_type_find_register):
3310         Make gst_caps_replace() work like other _replace() functions.
3311         Use _caps_replace() where possible.
3312         Make sure _message_new() initialises its field.
3313         Add gst_static_pad_template_get_caps()
3314
3315
3316 2005-04-18  Andy Wingo  <wingo@pobox.com>
3317
3318         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3319         on the peer, not the pad. I think that was a typo. Pass an extra
3320         arg to see if random access is possible. Activate the pads as
3321         PULL_RANGE if possible.
3322
3323         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3324
3325         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3326         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3327         to PROP_....
3328
3329 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3330
3331         * docs/faq/using.xml:
3332           Add note on gstreamer-properties (#154996).
3333
3334 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3335
3336         * docs/random/bbb/optional-properties:
3337           Some analysis on optional properties.
3338
3339 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3340
3341         * docs/gst/tmpl/gstelementfactory.sgml:
3342         * gst/gstelement.h:
3343         * gst/gstelementfactory.c: (gst_element_factory_init),
3344         (gst_element_factory_cleanup), (gst_element_register),
3345         (__gst_element_factory_add_static_pad_template),
3346         (gst_element_factory_get_static_pad_templates),
3347         (gst_element_factory_can_src_caps),
3348         (gst_element_factory_can_sink_caps):
3349         * gst/registries/Makefile.am:
3350         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3351         (gst_xml_registry_class_init), (gst_xml_registry_init),
3352         (gst_xml_registry_new), (gst_xml_registry_set_property),
3353         (gst_xml_registry_get_property), (get_time), (make_dir),
3354         (gst_xml_registry_get_perms_func),
3355         (plugin_times_older_than_recurse), (plugin_times_older_than),
3356         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3357         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3358         (add_to_char_array), (read_string), (read_uint), (read_enum),
3359         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3360         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3361         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3362         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3363         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3364         (gst_xml_registry_rebuild):
3365         * gst/registries/gstlibxmlregistry.h:
3366         * tools/gst-compprep.c: (main):
3367         * tools/gst-inspect.c: (print_pad_templates_info):
3368         * tools/gst-xmlinspect.c: (print_element_info):
3369           Use libxml2 for registry parsing, use staticpadtemplates in
3370           elementfactories. Makes gst_init() +/- 10x faster.
3371
3372 2005-04-12  Wim Taymans  <wim@fluendo.com>
3373
3374         * gst/base/Makefile.am:
3375         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3376         (gst_basesink_pad_getcaps), (gst_basesink_init),
3377         (gst_basesink_event), (gst_basesink_change_state):
3378         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3379         (gst_basesrc_init), (gst_basesrc_query),
3380         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3381         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3382         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3383         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3384         (gst_basesrc_stop), (gst_basesrc_activate),
3385         (gst_basesrc_change_state):
3386         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3387         (helper_find_suggest), (gst_type_find_helper):
3388         * gst/base/gsttypefindhelper.h:
3389         * gst/elements/Makefile.am:
3390         * gst/elements/gstelements.c:
3391         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3392         (gst_fakesink_get_times), (gst_fakesink_event),
3393         (gst_fakesink_preroll), (gst_fakesink_render):
3394         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3395         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3396         (gst_fakesrc_get_property), (gst_fakesrc_create),
3397         (gst_fakesrc_start), (gst_fakesrc_stop):
3398         * gst/elements/gstfakesrc.h:
3399         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3400         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3401         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3402         (gst_filesrc_create_read), (gst_filesrc_create),
3403         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3404         (gst_filesrc_start):
3405         * gst/elements/gsttypefindelement.c:
3406         (gst_type_find_element_have_type), (gst_type_find_element_init),
3407         (start_typefinding), (stop_typefinding), (push_buffer_store),
3408         (gst_type_find_element_handle_event),
3409         (gst_type_find_element_chain),
3410         (gst_type_find_element_checkgetrange),
3411         (gst_type_find_element_getrange), (do_typefind),
3412         (gst_type_find_element_activate),
3413         (gst_type_find_element_change_state):
3414         * gst/elements/gsttypefindelement.h:
3415         * gst/gstpipeline.c: (pipeline_bus_handler):
3416         Added typefind helper.
3417         Small preroll fix in the base sink.
3418         Disable typefind code in basesrc.
3419         Crude port of typefindelement.
3420         Fakesrc cleanups.
3421
3422
3423 2005-04-11  Wim Taymans  <wim@fluendo.com>
3424
3425         * check/gst/gstbus.c: (gstbus_suite):
3426         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3427         * check/gstcheck.h:
3428           Fix up the timeout so that the test does not fail.
3429
3430 2005-04-06  Wim Taymans  <wim@fluendo.com>
3431
3432         * gst/base/README:
3433         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3434         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3435         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3436         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3437         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3438         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3439         (gst_basesrc_stop), (gst_basesrc_activate),
3440         (gst_basesrc_change_state), (basesrc_find_peek),
3441         (basesrc_find_suggest), (gst_basesrc_type_find):
3442         * gst/base/gstbasesrc.h:
3443         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3444         (gst_filesrc_class_init), (gst_filesrc_init),
3445         (gst_filesrc_finalize), (gst_filesrc_set_location),
3446         (gst_filesrc_set_property), (gst_filesrc_get_property),
3447         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3448         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3449         (gst_filesrc_create_read), (gst_filesrc_create),
3450         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3451         * gst/elements/gstfilesrc.h:
3452         * gst/gstelement.c: (gst_element_get_state_func),
3453         (gst_element_lost_state), (gst_element_pads_activate):
3454         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3455         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3456         (gst_pad_pull_range):
3457         * gst/gstpad.h:
3458         More work on the generic source base class, implement seeking,
3459         query.
3460         Make filesrc extend the base source class.
3461         Added gst_pad_set_checkgetrange_function to GstPad.
3462
3463 2005-04-06  Andy Wingo  <wingo@pobox.com>
3464
3465         * pkgconfig/gstreamer-base.pc.in:
3466         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3467
3468         * pkgconfig/Makefile.am:
3469         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3470
3471 2005-04-04  Wim Taymans  <wim@fluendo.com>
3472
3473         * gst/base/Makefile.am:
3474         * gst/base/README:
3475         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3476         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3477         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3478         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
3479         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3480         (gst_basesrc_base_init), (gst_basesrc_class_init),
3481         (gst_basesrc_init), (gst_basesrc_get_formats),
3482         (gst_basesrc_get_query_types), (gst_basesrc_query),
3483         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
3484         (gst_basesrc_set_property), (gst_basesrc_get_property),
3485         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
3486         (gst_basesrc_loop), (gst_basesrc_activate),
3487         (gst_basesrc_change_state):
3488         * gst/base/gstbasesrc.h:
3489         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
3490         (gst_fakesrc_class_init), (gst_fakesrc_init),
3491         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
3492         (gst_fakesrc_get_property), (gst_fakesrc_create):
3493         * gst/elements/gstfakesrc.h:
3494         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
3495         (gst_filesrc_open_file), (gst_filesrc_loop),
3496         (gst_filesrc_activate), (filesrc_find_peek),
3497         (gst_filesrc_type_find):
3498         Made base source class, make fakesrc extend it.
3499         Add comments to basesink class.
3500         Some filesrc cleanup.
3501
3502 2005-03-31  David Schleef  <ds@schleef.org>
3503
3504         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
3505         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
3506         expected to link against libgstreamer.
3507         * gst/base/Makefile.am: link against libgstreamer
3508         * gst/elements/Makefile.am: same
3509
3510 2005-03-31  Andy Wingo  <wingo@pobox.com>
3511
3512         * tests/instantiate/Makefile.am:
3513         * tests/instantiate/caps.c: Add test to test speed of caps copy
3514         and free.
3515
3516         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
3517         GMemChunk to be fair.
3518
3519         * gst/gsttrashstack.h: Remove warning about using the fallback
3520         trash stack implementation, it's still faster than malloc.
3521
3522 2005-03-30  Andy Wingo  <wingo@pobox.com>
3523
3524         * tests/complexity.c: Add a copyright.
3525
3526 2005-03-31  Wim Taymans  <wim@fluendo.com>
3527
3528         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
3529         (gst_base_transform_class_init), (gst_base_transform_init),
3530         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3531         (gst_base_transform_get_property),
3532         (gst_base_transform_sink_activate),
3533         (gst_base_transform_src_activate),
3534         (gst_base_transform_change_state):
3535         * gst/base/gstbasetransform.h:
3536         * gst/elements/gstidentity.c: (gst_identity_class_init),
3537         (gst_identity_event), (gst_identity_check_perfect),
3538         (gst_identity_transform), (gst_identity_start),
3539         (gst_identity_stop):
3540         Added start/stop methods to transform base class so subclasses 
3541         don't need to deal with state changes even.
3542
3543 2005-03-31  Wim Taymans  <wim@fluendo.com>
3544
3545         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
3546         (gst_event_new_discontinuous), (gst_event_discont_get_value):
3547         * gst/gstevent.h:
3548         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3549         (gst_pad_pull_range):
3550         Added rate to the discont event to prepare for variable speed
3551         and reverse playback.
3552
3553 2005-03-29  David Schleef  <ds@schleef.org>
3554
3555         * configure.ac:
3556         * testsuite/trigger/Makefile.am:
3557         * testsuite/trigger/trigger.c: A little example program to show
3558         how trigger-based elements can work.
3559
3560 2005-03-29  Wim Taymans  <wim@fluendo.com>
3561
3562         * gst/base/Makefile.am:
3563         * gst/base/README:
3564         * gst/base/gstbasesink.c: (gst_basesink_get_type),
3565         (gst_basesink_base_init), (gst_basesink_class_init),
3566         (gst_basesink_pad_getcaps), (gst_basesink_init),
3567         (gst_basesink_activate), (gst_basesink_change_state):
3568         * gst/base/gstbasesink.h:
3569         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3570         (gst_base_transform_base_init), (gst_base_transform_finalize),
3571         (gst_base_transform_class_init), (gst_base_transform_init),
3572         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
3573         (gst_base_transform_event), (gst_base_transform_getrange),
3574         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
3575         (gst_base_transform_set_property),
3576         (gst_base_transform_get_property),
3577         (gst_base_transform_sink_activate),
3578         (gst_base_transform_src_activate),
3579         (gst_base_transform_change_state):
3580         * gst/base/gstbasetransform.h:
3581         * gst/elements/gstidentity.c: (gst_identity_finalize),
3582         (gst_identity_class_init), (gst_identity_init),
3583         (gst_identity_event), (gst_identity_check_perfect),
3584         (gst_identity_transform), (gst_identity_set_property),
3585         (gst_identity_get_property), (gst_identity_change_state):
3586         * gst/elements/gstidentity.h:
3587         * gst/gstelement.c: (gst_element_get_state_func),
3588         (gst_element_lost_state), (gst_element_pads_activate):
3589         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3590         (gst_pad_check_pull_range), (gst_pad_pull_range):
3591         * gst/gstpad.h:
3592         Simplify pad activation.
3593         Added function to check if pull_range can be performed.
3594         Error out when pulling inactive or flushing pads.
3595         Removed const from refcounted types as it does not make sense.
3596         Simplify pad templates in basesink
3597         Added base class for simple 1-to-1 transforms.
3598         Make identity subclass the base transform.
3599
3600 2005-03-29  Andy Wingo  <wingo@pobox.com>
3601
3602         * docs/libs/gstreamer-libs-overrides.txt: 
3603         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
3604         really don't understand what's going on, but like whatever. I want
3605         green buildbot!
3606
3607         * docs/gst/Makefile.am:
3608         * docs/libs/Makefile.am: Dist the overrides files.
3609
3610         * check/Makefile.am (clean-local): Remove .libs directories.
3611
3612         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
3613         elements to EXTRA_DIST, so po/ files are happy.
3614
3615         * po/POTFILES.in: Er, remove it here.
3616
3617         * po/POTFILES: Remove gstspider.c.
3618
3619         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
3620
3621         * docs/libs/gstreamer-libs-docs.sgml: 
3622         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
3623         bytestream.
3624
3625         * tests/complexity.c (main): Set the length of the preroll queue
3626         on the sinks to prevent a lockup.
3627
3628         * libs/gst/dataprotocol/Makefile.am: 
3629         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
3630         the same as the one in check/gst-libs/gdp.c.
3631
3632         * po/, docs/gst/: Commit automatic changes to docs and po files.
3633
3634         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
3635         the versioned libgstbase.
3636
3637         * check/Makefile.am: Depend on an unversioned gst-register, seems
3638         to make autoconf happier.
3639
3640         * gst/base/Makefile.am: Make libgstbase a versioned lib.
3641
3642 2005-03-28  Wim Taymans  <wim@fluendo.com>
3643
3644         * configure.ac:
3645         * docs/design/part-gstelement.txt:
3646         * docs/design/part-negotiation.txt:
3647         * docs/design/part-preroll.txt:
3648         * docs/design/part-scheduling.txt:
3649         * docs/design/part-states.txt:
3650         * gst/Makefile.am:
3651         * gst/base/Makefile.am:
3652         * gst/base/README:
3653         * gst/base/gstbasesink.c: (gst_basesink_get_template),
3654         (gst_basesink_base_init), (gst_basesink_class_init),
3655         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3656         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3657         (gst_basesink_set_pad_functions),
3658         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
3659         (gst_basesink_set_property), (gst_basesink_get_property),
3660         (gst_base_sink_get_template), (gst_base_sink_get_caps),
3661         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
3662         (gst_basesink_preroll_queue_push),
3663         (gst_basesink_preroll_queue_empty),
3664         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
3665         (gst_basesink_event), (gst_basesink_get_times),
3666         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
3667         (gst_basesink_chain_unlocked), (gst_basesink_chain),
3668         (gst_basesink_loop), (gst_basesink_activate),
3669         (gst_basesink_change_state):
3670         * gst/base/gstbasesink.h:
3671         * gst/elements/Makefile.am:
3672         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
3673         (gst_fakesink_class_init), (gst_fakesink_init),
3674         (gst_fakesink_set_property), (gst_fakesink_get_property),
3675         (gst_fakesink_get_times), (gst_fakesink_event),
3676         (gst_fakesink_preroll), (gst_fakesink_render),
3677         (gst_fakesink_change_state):
3678         * gst/elements/gstfakesink.h:
3679         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3680         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
3681         * gst/gstelement.c: (gst_element_add_pad),
3682         (gst_element_get_state_func), (gst_element_abort_state),
3683         (gst_element_commit_state), (gst_element_lost_state),
3684         (gst_element_set_state), (gst_element_pads_activate):
3685         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
3686         * gst/gstpipeline.c: (gst_pipeline_send_event),
3687         (gst_pipeline_change_state):
3688         Added state change code.
3689         Added/updated docs.
3690         Added sink base class, make fakesink extend the base class.
3691         Small cleanups in GstPipeline.
3692
3693 2005-03-26  David Schleef  <ds@schleef.org>
3694
3695         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
3696         is broken and should be implemented in a different library.
3697         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
3698         * gst/gst.h: remove gstcpu.h
3699         * gst/gstcpu.c: remove
3700         * gst/gstcpu.h: remove
3701         * gst/Makefile.am.future: Remove this file.  It's ancient.
3702
3703 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3704
3705         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3706         (gst_bin_send_event):
3707           Add default event/set_manager handlers. The set_manager handler
3708           takes care that the manager is distributed over kids that were
3709           already in the bin before the manager was set. The event handler
3710           is a utility virtual function that sends the event over all sinks,
3711           so that gst_element_send_event (bin, event); has the expected
3712           behaviour.
3713         * gst/gstpad.c: (gst_pad_event_default):
3714           Re-install default event handling for discontinuities, so that
3715           seeking works without requiring hacks in applications or extra
3716           code in sinks.
3717         * gst/gstpipeline.c: (gst_pipeline_class_init),
3718         (gst_pipeline_send_event):
3719           Half hack, half utility: set a pipeline to PAUSED for seek events,
3720           since that is the only way we can guarantee a/v sync. Means that
3721           you can do gst_element_seek (pipeline, method, pos); on a pipeline
3722           and it "just works".
3723
3724 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3725
3726         * gst/gstpipeline.c: (gst_pipeline_use_clock):
3727           Lock/unlock mismatch.
3728
3729 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3730
3731         * docs/faq/gst-uninstalled:
3732           add gst-plugins-base
3733         * docs/gst/Makefile.am:
3734           don't error out until docs are fixed
3735         * docs/gst/gstreamer.types:
3736           remove thread
3737
3738 2005-03-22  Wim Taymans  <wim@fluendo.com>
3739
3740         * check/Makefile.am:
3741         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
3742         * gst/gststructure.c: (gst_structure_set_valist),
3743         (gst_structure_copy_conditional):
3744         Activated more tests.
3745         Added message test.
3746         Added G_TYPE_POINTER to GstStructure.
3747         
3748
3749 2005-03-22  Wim Taymans  <wim@fluendo.com>
3750
3751         * docs/design/part-TODO.txt:
3752         * docs/design/part-events.txt:
3753         * docs/design/part-gstbin.txt:
3754         * docs/design/part-gstbus.txt:
3755         * docs/design/part-gstpipeline.txt:
3756         * docs/design/part-messages.txt:
3757         * gst/gstbus.c:
3758         * gst/gstmessage.c:
3759         Docs updates
3760
3761 2005-03-21  Wim Taymans  <wim@fluendo.com>
3762
3763         * gst/gstbus.c: (gst_bus_post):
3764         Fix copy-and-paste error.
3765
3766 2005-03-21  Wim Taymans  <wim@fluendo.com>
3767
3768         * check/Makefile.am:
3769         * gst/Makefile.am:
3770         * gst/elements/Makefile.am:
3771         * gst/elements/gstelements.c:
3772         * gst/elements/gstfakesink.c: (gst_fakesink_init),
3773         (gst_fakesink_event), (gst_fakesink_chain):
3774         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3775         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
3776         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
3777         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
3778         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
3779         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
3780         (gst_fakesrc_loop), (gst_fakesrc_activate),
3781         (gst_fakesrc_change_state):
3782         * gst/elements/gstfakesrc.h:
3783         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
3784         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
3785         (gst_filesrc_open_file), (gst_filesrc_loop),
3786         (gst_filesrc_activate), (gst_filesrc_change_state),
3787         (filesrc_find_peek), (filesrc_find_suggest),
3788         (gst_filesrc_type_find):
3789         * gst/elements/gstidentity.c: (gst_identity_finalize),
3790         (gst_identity_class_init), (gst_identity_init),
3791         (gst_identity_proxy_getcaps), (identity_queue_push),
3792         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
3793         (gst_identity_getrange), (gst_identity_chain),
3794         (gst_identity_sink_loop), (gst_identity_src_loop),
3795         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
3796         (gst_identity_set_property), (gst_identity_get_property),
3797         (gst_identity_change_state):
3798         * gst/elements/gstidentity.h:
3799         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3800         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
3801         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
3802         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
3803         (gst_tee_sink_activate):
3804         * gst/elements/gsttee.h:
3805         * gst/gst.c: (gst_register_core_elements), (init_post):
3806         * gst/gst.h:
3807         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
3808         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
3809         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
3810         (gst_bin_change_state):
3811         * gst/gstbin.h:
3812         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
3813         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
3814         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
3815         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
3816         (gst_bus_set_sync_handler), (gst_bus_create_watch),
3817         (bus_watch_callback), (bus_watch_destroy),
3818         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
3819         (poll_timeout), (gst_bus_poll):
3820         * gst/gstbus.h:
3821         * gst/gstcaps.h:
3822         * gst/gstdata.h:
3823         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
3824         (gst_element_post_message), (gst_element_message_full),
3825         (gst_element_get_state_func), (gst_element_get_state),
3826         (gst_element_abort_state), (gst_element_commit_state),
3827         (gst_element_lost_state), (gst_element_set_state),
3828         (gst_element_pads_activate), (gst_element_change_state),
3829         (gst_element_dispose), (gst_element_set_manager_func),
3830         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
3831         (gst_element_set_manager), (gst_element_get_manager),
3832         (gst_element_set_bus), (gst_element_get_bus),
3833         (gst_element_set_scheduler), (gst_element_get_scheduler):
3834         * gst/gstelement.h:
3835         * gst/gstevent.c: (gst_event_new_segment_seek),
3836         (gst_event_new_flush):
3837         * gst/gstevent.h:
3838         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
3839         (_gst_message_free), (gst_message_get_type), (gst_message_new),
3840         (gst_message_new_eos), (gst_message_new_error),
3841         (gst_message_new_warning), (gst_message_new_tag),
3842         (gst_message_new_state_changed), (gst_message_new_application),
3843         (gst_message_get_structure), (gst_message_parse_tag),
3844         (gst_message_parse_state_changed), (gst_message_parse_error),
3845         (gst_message_parse_warning):
3846         * gst/gstmessage.h:
3847         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
3848         (gst_real_pad_set_property), (gst_pad_set_active),
3849         (gst_pad_is_active), (gst_pad_set_blocked_async),
3850         (gst_pad_set_blocked), (gst_pad_is_blocked),
3851         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
3852         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
3853         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3854         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
3855         (gst_pad_link_filtered), (gst_pad_relink_filtered),
3856         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
3857         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
3858         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
3859         (gst_pad_set_caps), (gst_pad_configure_sink),
3860         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
3861         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
3862         (gst_real_pad_dispose), (gst_real_pad_finalize),
3863         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
3864         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3865         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
3866         * gst/gstpad.h:
3867         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
3868         (pipeline_bus_handler), (gst_pipeline_change_state),
3869         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
3870         * gst/gstpipeline.h:
3871         * gst/gstprobe.h:
3872         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3873         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
3874         (gst_queue_link_src), (gst_queue_bufferalloc),
3875         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3876         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
3877         (gst_queue_loop), (gst_queue_handle_src_event),
3878         (gst_queue_handle_src_query), (gst_queue_src_activate),
3879         (gst_queue_change_state):
3880         * gst/gstqueue.h:
3881         * gst/gstscheduler.c: (gst_scheduler_init),
3882         (gst_scheduler_dispose), (gst_scheduler_create_task),
3883         (gst_scheduler_factory_create):
3884         * gst/gstscheduler.h:
3885         * gst/gststructure.c: (gst_structure_get_type),
3886         (gst_structure_copy_conditional):
3887         * gst/gststructure.h:
3888         * gst/gsttaginterface.h:
3889         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
3890         (gst_task_init), (gst_task_dispose), (gst_task_create),
3891         (gst_task_get_state), (gst_task_start), (gst_task_stop),
3892         (gst_task_pause):
3893         * gst/gsttask.h:
3894         * gst/gstthread.c:
3895         * gst/gstthread.h:
3896         * gst/gsttypes.h:
3897         * gst/schedulers/Makefile.am:
3898         * gst/schedulers/cothreads_compat.h:
3899         * gst/schedulers/entryscheduler.c:
3900         * gst/schedulers/faircothreads.c:
3901         * gst/schedulers/faircothreads.h:
3902         * gst/schedulers/fairscheduler.c:
3903         * gst/schedulers/gstbasicscheduler.c:
3904         * gst/schedulers/gstoptimalscheduler.c:
3905         * gst/schedulers/gthread-cothreads.h:
3906         * gst/schedulers/threadscheduler.c:
3907         (gst_thread_scheduler_task_get_type),
3908         (gst_thread_scheduler_task_class_init),
3909         (gst_thread_scheduler_task_init),
3910         (gst_thread_scheduler_task_start),
3911         (gst_thread_scheduler_task_stop),
3912         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
3913         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
3914         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
3915         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
3916         (plugin_init):
3917         * libs/gst/Makefile.am:
3918         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
3919         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
3920         (gst_file_pad_parent_set):
3921         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3922         (gst_dp_event_from_packet):
3923         * tests/complexity.c: (main):
3924         * tests/mass_elements.c: (main):
3925         * testsuite/states/locked.c: (message_received), (main):
3926         * testsuite/states/parent.c: (main):
3927         * tools/gst-inspect.c: (print_element_flag_info),
3928         (print_implementation_info), (print_pad_info):
3929         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
3930         (main):
3931         * tools/gst-md5sum.c: (event_loop), (main):
3932         * tools/gst-typefind.c: (main):
3933         * tools/gst-xmlinspect.c: (print_element_info):
3934         Next big merge.
3935         Added GstBus for mainloop integration.
3936         Added GstMessage for sending notifications on the bus.
3937         Added GstTask as an abstraction for pipeline entry points.
3938         Removed GstThread.
3939         Removed Schedulers.
3940         Simplified GstQueue for multithreaded core.
3941         Made _link threadsafe, removed old capsnego.
3942         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
3943         Added pad blocking functions.
3944         Reworked scheduling functions in GstPad to prepare for
3945         scheduling updates soon.
3946         Moved events out of data stream.
3947         Simplified GstEvent types.
3948         Added return values to push/pull.
3949         Removed clocking from GstElement.
3950         Added prototypes for state change function for next merge.
3951         Removed iterate from bins and state change management.
3952         Fixed some elements, disabled others for now.
3953         Fixed -inspect and -launch.
3954         Added check for GstBus.
3955
3956 2005-03-10  Wim Taymans  <wim@fluendo.com>
3957
3958         * docs/design/part-MT-refcounting.txt:
3959         * docs/design/part-clocks.txt:
3960         * docs/design/part-gstelement.txt:
3961         * docs/design/part-gstobject.txt:
3962         * docs/design/part-standards.txt:
3963         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3964         (gst_bin_remove_func), (gst_bin_remove):
3965         * gst/gstbin.h:
3966         * gst/gstbuffer.c:
3967         * gst/gstcaps.h:
3968         * testsuite/clock/clock1.c: (main):
3969         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
3970         (main):
3971         * testsuite/dlopen/loadgst.c: (do_test):
3972         * testsuite/refcounting/bin.c: (add_remove_test1),
3973         (add_remove_test2), (main):
3974         * testsuite/refcounting/element.c: (main):
3975         * testsuite/refcounting/element_pad.c: (main):
3976         * testsuite/refcounting/pad.c: (main):
3977         * tools/gst-launch.c: (sigint_handler_sighandler):
3978         * tools/gst-typefind.c: (main):
3979         Doc updates.
3980         Added doc about clock.
3981         removed gst_bin_iterate_recurse_up(), marked methods
3982         for removal.
3983         Fix more testsuites.
3984
3985 2005-03-09  Wim Taymans  <wim@fluendo.com>
3986
3987         * gst/gstpad.c: (gst_pad_get_direction),
3988         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
3989         (gst_pad_collect_valist):
3990         * testsuite/bins/interface.c: (main):
3991         * testsuite/caps/audioscale.c: (test_caps):
3992         * testsuite/caps/caps.c: (test1), (test2), (test3):
3993         * testsuite/caps/deserialize.c: (main):
3994         * testsuite/caps/enumcaps.c: (main):
3995         * testsuite/caps/filtercaps.c: (main):
3996         * testsuite/caps/intersect2.c: (main):
3997         * testsuite/caps/random.c: (main):
3998         * testsuite/caps/renegotiate.c: (my_fixate), (main):
3999         * testsuite/caps/sets.c: (check_caps):
4000         * testsuite/caps/simplify.c: (check_caps), (main):
4001         * testsuite/caps/subtract.c: (check_caps):
4002         Fix _pad_get_direction wrt ghostpads.
4003         Fix caps testsuite.
4004
4005 2005-03-09  Wim Taymans  <wim@fluendo.com>
4006
4007         * check/Makefile.am:
4008         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4009         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4010         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4011         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4012         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4013         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4014         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4015         (bin_element_is_sink), (gst_bin_iterate_sinks),
4016         (gst_bin_iterate_all_by_interface):
4017         * gst/gstbin.h:
4018         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4019         (gst_element_change_state), (gst_element_dispose),
4020         (gst_element_finalize), (gst_element_set_loop_function):
4021         * gst/gstelement.h:
4022         * gst/gstiterator.c: (find_custom_fold_func):
4023         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4024         (gst_pad_collectv), (gst_pad_collect_valist),
4025         (gst_pad_template_new):
4026         * gst/gstpipeline.c: (gst_pipeline_class_init),
4027         (gst_pipeline_dispose), (gst_pipeline_set_property),
4028         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4029         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4030         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4031         * gst/gstutils.h:
4032         * gst/schedulers/entryscheduler.c:
4033         * gst/schedulers/gstbasicscheduler.c:
4034         (gst_basic_scheduler_cothreaded_chain),
4035         (gst_basic_scheduler_chain_add_element):
4036         * testsuite/bins/interface.c: (main):
4037         Added GstBin test.
4038         Added GstSystemClock test.
4039         Implemented clock distribution code in GstBin.
4040         Implemented iterate sinks method for future use.
4041         Rearranged gstelement.h
4042         Fix GstIterator comparison bug.
4043         Moved some code to GstPipeline, mostly clocking related.
4044
4045 2005-03-09  Wim Taymans  <wim@fluendo.com>
4046
4047         * configure.ac:
4048         * gst/gst_private.h:
4049         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4050         (gst_bin_remove_func), (gst_bin_remove),
4051         (gst_bin_get_by_name_recurse_up):
4052         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4053         (gst_clock_id_compare_func), (gst_clock_id_wait),
4054         (gst_clock_id_wait_async), (gst_clock_init),
4055         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4056         * gst/gstelement.h:
4057         * gst/gstinfo.c: (_gst_debug_init):
4058         * gst/gstobject.h:
4059         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4060         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4061         * gst/gstpad.h:
4062         Bump version number, we're now 0.9.0
4063         Add future debugging category.
4064         Fix NULL _unref() in _get_by_name_recurse_up
4065         Rearrange gstpad.h.
4066         Update some docs.
4067
4068 2005-03-08  Wim Taymans  <wim@fluendo.com>
4069
4070         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4071         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4072         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4073         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4074         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4075         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4076         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4077         * gst/elements/gstidentity.c: (gst_identity_class_init):
4078         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4079         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4080         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4081         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4082         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4083         (gst_tee_link):
4084         * gst/gstelement.c: (gst_element_class_init),
4085         (gst_element_base_class_init), (gst_element_init),
4086         (gst_element_get_random_pad), (gst_element_wait_state_change),
4087         (gst_element_change_state), (gst_element_dispose),
4088         (gst_element_finalize), (gst_element_set_loop_function):
4089         * gst/gstelement.h:
4090         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4091         * gst/gstthread.c: (gst_thread_class_init),
4092         (gst_thread_release_children_locks), (gst_thread_change_state):
4093         * gst/schedulers/gstbasicscheduler.c:
4094         (gst_basic_scheduler_loopfunc_wrapper),
4095         (gst_basic_scheduler_chain_wrapper),
4096         (gst_basic_scheduler_src_wrapper),
4097         (gst_basic_scheduler_remove_element):
4098         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4099         Remove threadsafe properties. Fix elements because GObject
4100         complains when installing a property before declaring a
4101         set/get_property handler.
4102         Rearrange gstelement.h file, use STATE macros for state locks.
4103         Free mutexes in the finalize method instead of dispose.
4104
4105 2005-03-08  Wim Taymans  <wim@fluendo.com>
4106
4107         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4108         * gst/gstthread.c: (gst_thread_release_children_locks):
4109         Added parentage check.
4110         Fix build og GstThread again.
4111
4112 2005-03-08  Wim Taymans  <wim@fluendo.com>
4113
4114         * docs/design/part-MT-refcounting.txt:
4115         * docs/design/part-conventions.txt:
4116         * docs/design/part-gstobject.txt:
4117         * docs/design/part-relations.txt:
4118         * docs/design/part-standards.txt:
4119         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4120         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4121         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4122         (gst_bin_iterate_all_by_interface):
4123         * gst/gstbuffer.h:
4124         * gst/gstclock.h:
4125         * gst/gstelement.c: (gst_element_class_init),
4126         (gst_element_change_state), (gst_element_set_loop_function):
4127         * gst/gstelement.h:
4128         * gst/gstiterator.c:
4129         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4130         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4131         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4132         (gst_object_set_parent), (gst_object_unparent),
4133         (gst_object_check_uniqueness):
4134         * gst/gstobject.h:
4135         Docs updates, clean up some headers.
4136
4137 2005-03-07  Wim Taymans  <wim@fluendo.com>
4138
4139         * check/.cvsignore:
4140         * check/Makefile.am:
4141         * check/gst-libs/.cvsignore:
4142         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4143         * check/gst/.cvsignore:
4144         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4145         (START_TEST), (gstbus_suite), (main):
4146         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4147         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4148         (gst_data_suite), (main):
4149         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4150         (add_fold_func), (gstiterator_suite), (main):
4151         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4152         (thread_name_object), (thread_name_object_default),
4153         (gst_object_name_compare), (gst_object_suite), (main):
4154         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4155         (gst_pad_suite), (main):
4156         * check/gstcheck.c: (gst_check_log_message_func),
4157         (gst_check_log_critical_func), (gst_check_init):
4158         * check/gstcheck.h:
4159         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4160         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4161         Added checks.
4162
4163 2005-03-07  Wim Taymans  <wim@fluendo.com>
4164
4165         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4166         (gst_list_iterator_next), (gst_list_iterator_resync),
4167         (gst_list_iterator_free), (gst_iterator_new_list),
4168         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4169         (gst_iterator_free), (gst_iterator_push), (filter_next),
4170         (filter_resync), (filter_uninit), (filter_free),
4171         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4172         (gst_iterator_foreach), (find_custom_fold_func),
4173         (gst_iterator_find_custom):
4174         * gst/gstiterator.h:
4175         Added missing files.
4176
4177 2005-03-07  Wim Taymans  <wim@fluendo.com>
4178
4179         * Makefile.am:
4180         * configure.ac:
4181         * docs/design/part-MT-refcounting.txt:
4182         * docs/design/part-conventions.txt:
4183         * docs/design/part-gstobject.txt:
4184         * docs/design/part-relations.txt:
4185         * examples/mixer/mixer.c: (main):
4186         * examples/thread/thread.c: (eos), (main):
4187         * gst/Makefile.am:
4188         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4189         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4190         (gst_spider_plug_from_srcpad):
4191         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4192         (gst_spider_identity_change_state),
4193         (gst_spider_identity_sink_loop_type_finding):
4194         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4195         * gst/elements/gstidentity.c: (gst_identity_init):
4196         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4197         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4198         * gst/elements/gsttypefindelement.c: (free_entry):
4199         * gst/gst.c:
4200         * gst/gst.h:
4201         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4202         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4203         (gst_bin_set_index), (gst_bin_set_element_sched),
4204         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4205         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4206         (gst_bin_iterate_elements), (iterate_child_recurse),
4207         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4208         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4209         (compare_interface), (gst_bin_get_by_interface),
4210         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4211         * gst/gstbin.h:
4212         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4213         (gst_buffer_default_free), (gst_buffer_default_copy),
4214         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4215         (gst_buffer_create_sub):
4216         * gst/gstbuffer.h:
4217         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4218         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4219         (gst_caps_unref), (gst_static_caps_get),
4220         (gst_caps_remove_and_get_structure), (gst_caps_append),
4221         (gst_caps_append_structure), (gst_caps_remove_structure),
4222         (gst_caps_copy_nth), (gst_caps_set_simple),
4223         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4224         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4225         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4226         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4227         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4228         (gst_caps_structure_figure_out_union),
4229         (gst_caps_switch_structures), (gst_caps_do_simplify),
4230         (gst_caps_replace), (gst_caps_from_string),
4231         (gst_caps_copy_conditional):
4232         * gst/gstcaps.h:
4233         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4234         (_gst_clock_id_free), (gst_clock_id_unref),
4235         (gst_clock_id_compare_func), (gst_clock_id_wait),
4236         (gst_clock_id_wait_async), (gst_clock_class_init),
4237         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4238         (gst_clock_get_time), (gst_clock_set_time_adjust),
4239         (gst_clock_set_property), (gst_clock_get_property):
4240         * gst/gstclock.h:
4241         * gst/gstcompat.h:
4242         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4243         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4244         * gst/gstdata.h:
4245         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4246         (gst_element_requires_clock), (gst_element_provides_clock),
4247         (gst_element_set_clock), (gst_element_clock_wait),
4248         (gst_element_wait), (gst_element_set_time_delay),
4249         (gst_element_is_indexable), (gst_element_add_pad),
4250         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4251         (pad_compare_name), (gst_element_get_static_pad),
4252         (gst_element_request_pad), (gst_element_get_request_pad),
4253         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4254         (gst_element_class_get_pad_template_list),
4255         (gst_element_class_get_pad_template), (gst_element_error_func),
4256         (gst_element_get_random_pad), (gst_element_get_event_masks),
4257         (gst_element_send_event), (gst_element_seek),
4258         (gst_element_get_query_types), (gst_element_query),
4259         (gst_element_get_formats), (gst_element_convert),
4260         (gst_element_is_locked_state), (gst_element_set_locked_state),
4261         (gst_element_sync_state_with_parent), (gst_element_change_state),
4262         (gst_element_finalize), (gst_element_yield),
4263         (gst_element_interrupt), (gst_element_set_scheduler),
4264         (gst_element_get_scheduler), (gst_element_set_loop_function):
4265         * gst/gstelement.h:
4266         * gst/gstevent.h:
4267         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4268         (gst_format_get_by_nick), (gst_format_get_details),
4269         (gst_format_iterate_definitions):
4270         * gst/gstformat.h:
4271         * gst/gstindex.c: (gst_index_gtype_resolver):
4272         * gst/gstinfo.c:
4273         * gst/gstinfo.h:
4274         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4275         (gst_mem_chunk_free):
4276         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4277         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4278         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4279         (gst_object_dispatch_properties_changed),
4280         (gst_object_set_name_default), (gst_object_set_name),
4281         (gst_object_get_name), (gst_object_set_name_prefix),
4282         (gst_object_get_name_prefix), (gst_object_set_parent),
4283         (gst_object_get_parent), (gst_object_unparent),
4284         (gst_object_check_uniqueness), (gst_object_save_thyself),
4285         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4286         (gst_object_set_property), (gst_object_get_property),
4287         (gst_object_get_path_string):
4288         * gst/gstobject.h:
4289         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4290         (gst_real_pad_init), (gst_real_pad_get_property),
4291         (gst_pad_custom_new), (gst_pad_get_direction),
4292         (gst_pad_set_active), (gst_pad_is_active),
4293         (gst_pad_set_event_function), (gst_pad_is_linked),
4294         (gst_pad_link_free), (gst_pad_link_intersect),
4295         (gst_pad_link_fixate), (gst_pad_set_caps),
4296         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4297         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4298         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4299         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4300         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4301         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4302         (gst_pad_realize), (gst_pad_get_allowed_caps),
4303         (gst_real_pad_dispose), (gst_real_pad_finalize),
4304         (gst_pad_collectv), (gst_pad_collect_valist),
4305         (gst_pad_template_dispose), (gst_pad_template_new),
4306         (gst_pad_get_internal_links):
4307         * gst/gstpad.h:
4308         * gst/gstpipeline.c: (gst_pipeline_dispose),
4309         (gst_pipeline_change_state):
4310         * gst/gstpipeline.h:
4311         * gst/gstplugin.c:
4312         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4313         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4314         * gst/gstpluginfeature.h:
4315         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4316         * gst/gstquery.c: (_gst_query_type_initialize),
4317         (gst_query_type_register), (gst_query_type_get_by_nick),
4318         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4319         * gst/gstquery.h:
4320         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4321         * gst/gstscheduler.c: (gst_scheduler_add_element),
4322         (gst_scheduler_factory_create):
4323         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4324         (gst_structure_free), (gst_structure_set_name),
4325         (gst_structure_id_set_value), (gst_structure_set_value),
4326         (gst_structure_set_valist), (gst_structure_remove_field),
4327         (gst_structure_remove_fields),
4328         (gst_structure_remove_fields_valist),
4329         (gst_structure_remove_all_fields), (gst_structure_foreach),
4330         (gst_structure_map_in_place),
4331         (gst_caps_structure_fixate_field_nearest_int),
4332         (gst_caps_structure_fixate_field_nearest_double):
4333         * gst/gststructure.h:
4334         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4335         (gst_system_clock_init), (gst_system_clock_dispose),
4336         (gst_system_clock_async_thread),
4337         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4338         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4339         * gst/gstsystemclock.h:
4340         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4341         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4342         * gst/gsttaginterface.c:
4343         * gst/gstthread.c: (gst_thread_dispose),
4344         (gst_thread_release_children_locks), (gst_thread_change_state),
4345         (gst_thread_main_loop):
4346         * gst/gsttrashstack.h:
4347         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4348         * gst/gsttypes.h:
4349         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4350         (gst_element_request_pad), (gst_element_get_pad_from_template),
4351         (gst_element_request_compatible_pad),
4352         (gst_element_get_compatible_pad_filtered),
4353         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4354         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4355         (gst_element_link_many), (gst_element_link),
4356         (gst_element_link_pads), (gst_element_unlink_pads),
4357         (gst_element_unlink_many), (gst_element_unlink),
4358         (gst_pad_can_link_filtered), (gst_pad_can_link),
4359         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4360         (gst_object_default_error), (gst_bin_add_many),
4361         (gst_bin_remove_many), (gst_element_populate_std_props),
4362         (gst_element_class_install_std_props), (gst_buffer_merge),
4363         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4364         (link_fold_func), (gst_pad_proxy_setcaps):
4365         * gst/gstutils.h:
4366         * gst/gstvalue.c: (gst_value_deserialize_string):
4367         * gst/parse/grammar.y:
4368         * gst/schedulers/gstbasicscheduler.c:
4369         (gst_basic_scheduler_cothreaded_chain),
4370         (gst_basic_scheduler_chain_recursive_add),
4371         (gst_basic_scheduler_pad_link):
4372         * gst/schedulers/gstoptimalscheduler.c:
4373         (get_group_schedule_function),
4374         (gst_opt_scheduler_state_transition),
4375         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4376         * libs/gst/bytestream/bytestream.c:
4377         * libs/gst/dataprotocol/dataprotocol.c:
4378         (gst_dp_header_from_buffer):
4379         * po/nb.po:
4380         * po/ru.po:
4381         * tests/threadstate/threadstate2.c: (eos):
4382         * tools/gst-compprep.c: (main):
4383         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4384         (print_pad_info), (print_children_info):
4385         * tools/gst-launch.c: (idle_func), (main):
4386         * tools/gst-md5sum.c: (idle_func), (main):
4387         * tools/gst-xmlinspect.c: (print_element_info):
4388         First THREADED backport attempt, focusing on adding locks and
4389         making sure the API is threadsafe. Needs more work. More docs
4390         follow this week.
4391
4392 2005-02-24  Andy Wingo  <wingo@pobox.com>
4393
4394         * tests/bench-complexity.scm:
4395         * tests/complexity.gnuplot: New files, good for running complexity
4396         benchmarks.
4397
4398         * tests/Makefile.am:
4399         * tests/complexity.c: New test, sets up N elements, at each level
4400         teeing into M streams per element. Eeeenteresting.
4401
4402         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4403         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4404         running bench-mass_elements.scm.
4405
4406         * tests/bench-mass_elements.scm: New script, runs mass_elements
4407         for various numbers of identities, outputting the results to a
4408         file. Requires guile 1.6. Just for testing.
4409
4410 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4411
4412         * gst/schedulers/fairscheduler.c:
4413           compile with debug disabled
4414
4415 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4416
4417         * configure.ac:
4418           hunting season on 0.9 is now OPEN
4419
4420 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4421
4422         * docs/libs/tmpl/gstcontrol.sgml:
4423         * docs/libs/tmpl/gstdparam.sgml:
4424         * docs/libs/tmpl/gstdplinint.sgml:
4425         * docs/libs/tmpl/gstdpman.sgml:
4426         * docs/libs/tmpl/gstdpsmooth.sgml:
4427         * docs/libs/tmpl/gstunitconvert.sgml:
4428           more docs for the state of dparams
4429
4430 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4431
4432         * gst/gstelementfactory.c: (gst_element_factory_create):
4433         * gst/gstobject.c: (gst_object_init),
4434         (gst_object_set_name_default), (gst_object_set_name):
4435           name objects by default, not in gst_element_factory_create. Allows
4436           using elements created with g_object_new. (fixes #167283)
4437
4438 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4439
4440         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4441           make the time that debugging functions print relative to when
4442           gst_init was called
4443
4444 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4445
4446         * gst/gsttaginterface.c:
4447           Fix inline docs: tag setter vararg functions are NULL-terminated,
4448           GST_TAG_INVALID doesn't exist any more.
4449
4450 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4451
4452         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4453         Allocate the 1 byte more memory that was forgotten!!!!!
4454         fixes memory corruption on 64bit platforms
4455
4456 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4457
4458         * docs/pwg/building-pads.xml:
4459         * docs/pwg/intro-basics.xml:
4460           fixed a few typos, relabeled introductionary list of types
4461         * docs/random/ensonic/dparams.txt:
4462           more notes abut dparam changes
4463         * libs/gst/control/dparam.c: (gst_dparam_attach):
4464         * libs/gst/control/dparammanager.c:
4465         * libs/gst/control/dparammanager.h:
4466           - many comments and notes on dparam implementation
4467           - new dparams are were not initialized to the default value
4468             from param spec
4469
4470 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4471
4472         submitted by: Peter Astakhov
4473
4474         * po/LINGUAS:
4475         * po/ru.po:
4476           adding Russian translation
4477
4478 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4479
4480         * configure.ac:
4481         * docs/gst/Makefile.am:
4482         * docs/libs/Makefile.am:
4483           make sure popt is added to gtk-doc flags.  Fixes #147782.
4484
4485 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4486
4487         * docs/faq/using.xml:
4488           Fix typo in FAQ (artssink => artsdsink)
4489
4490 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4491
4492         * tools/gst-launch.1.in:
4493           Fix typo (#166699).
4494
4495 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
4496
4497         * docs/faq/using.xml:
4498           Add -v argument to fakesrc/fakesink gst-launch line,
4499           so that the promised output will actually show up.
4500
4501 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4502
4503         * gst/gstthread.c: (gst_thread_change_state):
4504           Implement state-change error handling (#166073).
4505
4506 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4507
4508         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4509           Release interrupt after handling (#166250).
4510
4511 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4512
4513         * configure.ac:
4514           back to HEAD
4515
4516 === release 0.8.9 ===
4517
4518 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4519
4520         * NEWS:
4521         * RELEASE:
4522         * configure.ac:
4523           releasing 0.8.9, "Like Eating Glass"
4524
4525 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4526
4527         submitted by: Clytie Siddall
4528
4529         * po/vi.po: Added Vietnamese translation
4530
4531 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4532
4533         patch by: Tim Philipp-Müller
4534
4535         * configure.ac:
4536         * gst/gstpad.c:
4537           unref data when probe function returns FALSE.  Fixes #166362
4538
4539 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4540
4541         * gst/gst.c: (gst_init_get_popt_table):
4542           Fix typo (#166269).
4543
4544 2005-02-04  Andy Wingo  <wingo@pobox.com>
4545
4546         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
4547         the debugging on whether the caps are compatible.
4548
4549 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4550
4551         * docs/manual/basics-elements.xml:
4552           Fix two typos.
4553
4554 2005-02-02  Wim Taymans  <wim@fluendo.com>
4555
4556         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
4557         (schedule_chain), (get_invalid_call), (chain_invalid_call),
4558         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
4559         Remove some FIXMEs after analysing and commenting why they
4560         are not issues.
4561
4562 2005-02-02  Wim Taymans  <wim@fluendo.com>
4563
4564         * gst/schedulers/gstoptimalscheduler.c:
4565         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
4566         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
4567         (get_invalid_call), (chain_invalid_call),
4568         (get_group_schedule_function), (loop_group_schedule_function),
4569         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
4570         (gst_opt_scheduler_state_transition),
4571         (gst_opt_scheduler_add_element),
4572         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
4573         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
4574         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
4575         (gst_opt_scheduler_show):
4576         Added lock to protect scheduler data structures.
4577
4578 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4579
4580         * testsuite/threads/threadi.c: (cb_data):
4581           Fix buglet in test.
4582
4583 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4584
4585         * testsuite/threads/Makefile.am:
4586         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
4587           On Wim's request, split the test in three separately-compiled
4588           tests that each test a very specific bug. Two of them still fail,
4589           will create bugs for those. threadi.c indicates why they fail.
4590
4591 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4592
4593         * gst/schedulers/gstoptimalscheduler.c:
4594         (get_group_schedule_function):
4595           Try to work with the threading mess that queue_link is.
4596
4597 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4598
4599         * gst/gstbin.c: (gst_bin_remove_func):
4600           Explicitely make an element release locks in a group when being
4601           remove from a bin.
4602         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4603           If there's no scheduler, always return immediately (similar to
4604           gst_element_interrupt).
4605
4606 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4607
4608         * gst/gstbin.c: (gst_bin_child_state_change_func):
4609           Remove a piece of code that could never be reached.
4610         * docs/gst/gstreamer-sections.txt:
4611         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
4612         (gst_pad_call_get_function):
4613         * gst/gstpad.h:
4614         * testsuite/pad/Makefile.am:
4615           Fix #150546, enable tests.
4616
4617 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4618
4619         * docs/pwg/advanced-types.xml:
4620           Fix description for buffer-frames=0.
4621         * docs/gst/tmpl/gstbin.sgml:
4622         * gst/gstbin.c: (gst_bin_child_state_change_func),
4623         (gst_bin_change_state), (gst_bin_change_state_norecurse):
4624         * gst/gstbin.h:
4625         * testsuite/threads/Makefile.am:
4626         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
4627         (cb_state), (cb_play), (main):
4628           Fix non-recursive state changes to *really* change the state
4629           of the object, and not just call parent_class->state_change.
4630           Fix a lot of lockups caused by this. Fixes #132775. Add test
4631           for the problem. Also enable test to show #142588 (fixed).
4632         * gst/gstthread.c: (gst_thread_change_state),
4633         (gst_thread_child_state_change):
4634           Don't exit the thread if we go to NULL and are inside thread
4635           context. Instead, return control to the main thread context
4636           and exit from there.
4637         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
4638           Don't unset virtual functions, since those may still be used.
4639           That's not necessarily correct, but suffices for now.
4640         * configure.ac:
4641         * testsuite/Makefile.am:
4642         * testsuite/pad/Makefile.am:
4643         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
4644         (gst_test_sink_base_init), (gst_test_sink_chain),
4645         (gst_test_sink_init), (main):
4646         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
4647         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
4648         (main):
4649         * testsuite/pad/link.c: (gst_test_element_class_init),
4650         (gst_test_element_base_init), (gst_test_src_get),
4651         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
4652         (gst_test_filter_loop), (gst_test_filter_init),
4653         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
4654         (cb_error), (main):
4655           Add tests to show #150546. Pass, but should fail (currently
4656           disabled from the testsuite).
4657         * gst/gstscheduler.c: (gst_scheduler_dispose):
4658           Dereference child schedulers on dispose (#94464).
4659         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4660           Fix typo.
4661         * testsuite/threads/thread.c: (main):
4662           Add more debug.
4663
4664 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4665
4666         * gst/gstpad.c: (gst_pad_push):
4667           Oops, revert previous commit, broke testsuite...
4668
4669 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4670
4671         * gst/gstpad.c: (gst_pad_push):
4672           Add check that the pad on which the push is performed is not a
4673           get-based pad (#150546).
4674
4675 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4676
4677         * gst/elements/gsttypefindelement.c:
4678         (gst_type_find_element_handle_event):
4679           Fix buffer pushing if stream EOSes during typefinding.
4680
4681 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
4682
4683         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4684
4685         * gst/gstvalue.c: (gst_string_wrap):
4686           Allow NULL-strings as argument (#165365).
4687
4688 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
4689
4690         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4691
4692         * gst/schedulers/faircothreads.c:
4693         (gst_fair_scheduler_cothread_queue_show):
4694           Fix build without debug enabled.
4695
4696 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
4697
4698         * docs/gst/gstreamer-sections.txt:
4699         * docs/libs/gstreamer-libs-docs.sgml:
4700         * docs/libs/gstreamer-libs-sections.txt:
4701         * docs/libs/tmpl/gstcontrol.sgml:
4702         * docs/libs/tmpl/gstdparam.sgml:
4703         * docs/libs/tmpl/gstdplinint.sgml:
4704         * docs/libs/tmpl/gstdpman.sgml:
4705         * docs/libs/tmpl/gstdpsmooth.sgml:
4706         * docs/libs/tmpl/gstputbits.sgml:
4707         * docs/libs/tmpl/gstunitconvert.sgml:
4708         * libs/gst/control/dparam.c:
4709         * libs/gst/control/dparam.h:
4710         * libs/gst/control/dparammanager.c:
4711         (gst_dpman_add_required_dparam_callback),
4712         (gst_dpman_add_required_dparam_direct),
4713         (gst_dpman_add_required_dparam_array),
4714         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
4715         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
4716         (gst_dpman_get_manager)
4717           restructured DParam docs
4718
4719 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
4720
4721         * gst-element-check.m4:
4722           Only check for gst-inspect if we haven't already
4723           found it in previous element check runs
4724
4725 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
4726
4727         * docs/gst/Makefile.am:
4728         * docs/libs/Makefile.am:
4729           fixed install rules to treat style.css as optional
4730
4731 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
4732
4733         * docs/gst/Makefile.am:
4734         * docs/libs/Makefile.am:
4735           install style.css along with docs
4736         * docs/gst/tmpl/gstbin.sgml:
4737         * docs/gst/tmpl/gstclock.sgml:
4738         * docs/gst/tmpl/gstdata.sgml:
4739         * docs/gst/tmpl/gstelement.sgml:
4740         * gst/gstbin.h:
4741         * gst/gstelement.c: (gst_element_class_init):
4742         * gst/gstelement.h:
4743           fixing incomplete docs
4744
4745 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4746
4747         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4748           Don't unref seek event twice when fflush() fails
4749           
4750 2005-01-22  David Schleef  <ds@schleef.org>
4751
4752         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
4753
4754 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
4755
4756         * docs/gst/Makefile.am:
4757         * docs/libs/Makefile.am:
4758           added params for deprecation guards
4759         * gst/gst.c:
4760         * gst/gst.h:
4761         * gst/gsterror.c: (_gst_resource_errors_init),
4762         (_gst_stream_errors_init):
4763         * gst/gsterror.h:
4764           documented some more enums
4765
4766 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4767         * gst/autoplug/gstspideridentity.c:
4768         Cosmetic fix - spider_find_peek should be static
4769         * gst/parse/parse.l:
4770         Applying fix for #164261
4771
4772 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
4773
4774         * docs/gst/gstreamer-sections.txt:
4775         * docs/gst/tmpl/gstplugin.sgml:
4776         * docs/libs/gstreamer-libs-sections.txt:
4777         * docs/libs/tmpl/gstcontrol.sgml:
4778         * gst/gstbuffer.h:
4779         * gst/gsttag.h:
4780         * gst/gstvalue.c:
4781           added docs for the TAG defines
4782
4783 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4784
4785         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4786           Only unref entry if there is an entry.
4787
4788 2005-01-17  Wim Taymans  <wim@fluendo.com>
4789
4790         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4791         (remove_from_group), (schedule_group), (normalize_group),
4792         (gst_opt_scheduler_iterate):
4793         Also ref/unref decoupled elements before iterating the
4794         group since they are not added to the list of elements.
4795
4796 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4797
4798         * docs/manual/highlevel-components.xml:
4799           Add subtitle/streamselection as new features to playbin.
4800
4801 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4802
4803         * docs/manual/manual.xml:
4804           Re-enable dataaccess docs (oops).
4805
4806 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4807
4808         * docs/pwg/advanced-types.xml:
4809         * docs/random/mimetypes:
4810           Add documentation on libsndfile types (#163309), by Steve Baker
4811           <steve@stevebaker.org>.
4812         * gst/gstelement.c: (gst_element_release_request_pad):
4813           If an element has no explicit function, just remove the pad.
4814
4815 2005-01-17  Luca Ognibene  <luogni@tin.it>
4816
4817         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4818
4819         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
4820           Fix memleak (#163801).
4821
4822 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4823
4824         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
4825           I think this is actually more correct...
4826
4827 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4828
4829         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4830           Another workaround for memory access while destroyed in callback.
4831           Please, someone with refcount knowledge, have a look at this.
4832
4833 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4834
4835         * docs/faq/faq.xml:
4836         * docs/faq/legal.xml:
4837           move the legal Q&A here
4838
4839 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4840
4841         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
4842         (gst_tee_request_new_pad):
4843           Fix negotiation.
4844
4845 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4846
4847         * docs/random/omega/caps2:
4848         * testsuite/caps/caps_strings:
4849           replace framerate aproximations by their real value
4850           (24000/1001, 30000/1001, 60000/1001)
4851           Partially fixes bug #164049
4852
4853 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4854
4855         * docs/gst/Makefile.am:
4856           don't fail on the stupid GstPoptOption
4857
4858 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4859
4860         * gst/gstpad.h:
4861         * gst/gstprobe.c:
4862           allow probes to work on ghost pads by realizing the pad
4863           probe debugging
4864
4865 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4866
4867         * docs/gst/gstreamer-sections.txt:
4868         * docs/gst/tmpl/gstpad.sgml:
4869         * gst/gstpad.c: (gst_pad_set_active_recursive):
4870         * gst/gstpad.h:
4871           Add gst_pad_set_active_recursive().
4872
4873 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4874
4875         * docs/random/release:
4876           updates
4877         * gst/gst_private.h:
4878         * gst/gstinfo.c:
4879         * gst/gstobject.c:
4880           move deep_notify logging to a new category
4881         * gst/gstprobe.c:
4882         * gst/gstprobe.h:
4883           add stuff so bindings can wrap probes
4884
4885 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4886
4887         * gst/gstplugin.c: (gst_plugin_load):
4888           Fix plugin loading if plugin/lib was already loaded. Fixes
4889           #163383
4890
4891 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
4892
4893         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4894
4895         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
4896           Protect plugin loading by a mutex so it's threadsafe. Fixes
4897           #163234.
4898
4899 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4900
4901         * gst/gstevent.c: (_gst_event_copy):
4902           Reference source object when copying events, since it'll be
4903           dereferenced on event dereferencing as well.
4904
4905 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4906
4907         * docs/gst/gstreamer-sections.txt:
4908         * docs/gst/tmpl/gstevent.sgml:
4909         * gst/gstevent.c: (gst_event_new_filler_stamped),
4910         (gst_event_filler_get_duration):
4911         * gst/gstevent.h:
4912           Add two new functions for filler events (which are used to
4913           synchronize streams if one of them is not having any data
4914           for a while) without interrupting the actual data-stream.
4915           Basically a no-op.
4916         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4917         (gst_queue_link_sink), (gst_queue_link_src),
4918         (gst_queue_change_state):
4919           Allow for renegotiation while filled. Required for stream
4920           switching while playing.
4921
4922 2005-01-08  Benjamin Otte  <otte@gnome.org>
4923
4924         * gst/gstelement.c: (gst_element_link_many):
4925           fix up g_return_if_fail's
4926         * po/LINGUAS:
4927         * po/de.po:
4928           add German translation, that was somehow not included
4929
4930 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4931
4932         * docs/random/mimetypes:
4933           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
4934           do not add them to riff-lib as they are not common
4935
4936 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4937
4938         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4939           Check for existence of probe after performing the probe before
4940           re-accessing it to prevent segfaults caused by removal of the
4941           probe in the callback.
4942
4943 2005-01-05  David Schleef  <ds@schleef.org>
4944
4945         * testsuite/registry/Makefile.am:
4946         * testsuite/registry/gst-print-formats.c:
4947         (print_pad_templates_info), (print_element_list),
4948         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
4949         (g_list_uniqify), (get_pad_templates_info),
4950         (get_element_mime_list), (print_mime_list), (main): A little
4951         program that looks through the registry to find elements of
4952         a given type.  Not particularly interesting as a test, except
4953         that there's no other test covering the same area.
4954
4955 2005-01-05  David Schleef  <ds@schleef.org>
4956
4957         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
4958         (fault_handler_sigaction), (fault_spin),
4959         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
4960         in signal.h-type signal handlers by not calling forbidden functions,
4961         including gst_element_set_state().
4962
4963 2005-01-05  David Schleef  <ds@schleef.org>
4964
4965         * gst/gstvalue.h: Mark _gst_reserved[] as private
4966
4967 2005-01-05  David Schleef  <ds@schleef.org>
4968
4969         * gst/gstvalue.c: Fix doc build problem.
4970
4971 2005-01-05  David Schleef  <ds@schleef.org>
4972
4973         * gst/gstvalue.c: Add some documentation
4974
4975 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
4976
4977         * docs/README:
4978           another shell oneliner for empty return value docs
4979         * gst/gstcaps.c:
4980         * gst/gstvalue.c:
4981         * libs/gst/control/dparam.c:
4982           more doc fixes (parameters and return values)
4983
4984 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
4985
4986         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4987
4988         * gst/gstregistry.h:
4989         * gst/registries/gstxmlregistry.c:
4990           Fix macro's for Mingw (fixes #162276).
4991
4992 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
4993
4994         * docs/README:
4995           quick shell oneliner to find undocumented members
4996         * docs/gst/tmpl/gstplugin.sgml:
4997         * docs/gst/tmpl/gstscheduler.sgml:
4998         * docs/gst/tmpl/gstthread.sgml:
4999           more enumtypes cleanup
5000         * gst/gsterror.h:
5001           activated documentation comments, now someone needs to document
5002           the enums :(
5003
5004 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5005
5006         * docs/manual/manual.xml:
5007           Add dataaccess part (doh!).
5008
5009 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5010
5011         * docs/manual/advanced-autoplugging.xml:
5012           Fix typo (intiate -> initiate).
5013
5014 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5015
5016         * docs/random/bbb/streamselection:
5017           Add some notes on how to handle multi-subtitle/-audio streams.
5018
5019 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5020
5021         * docs/gst/gstreamer-docs.sgml:
5022         * docs/gst/gstreamer-sections.txt:
5023         * docs/gst/tmpl/gstenumtypes.sgml:
5024         * docs/gst/tmpl/gsterror.sgml:
5025         * docs/gst/tmpl/gstevent.sgml:
5026         * docs/gst/tmpl/gstpad.sgml:
5027         * docs/gst/tmpl/gstpadtemplate.sgml:
5028         * docs/gst/tmpl/gstthread.sgml:
5029           removed gstenumtypes section from docs and put all the enums into
5030           their sections
5031
5032 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5033
5034         * gst/gstplugin.c:
5035           document gst_library_load a bit more (riff special case + return
5036           value if already loaded)
5037         * testsuite/bytestream/filepadsink.c:
5038           plugin name is 'gstbytestream', not 'bytestream'
5039
5040 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5041
5042         * docs/random/bbb/subtitles:
5043           Add some first mind rumblings on proper subtitle support.
5044
5045 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5046
5047         * po/ca.po:
5048         * po/sv.po:
5049           updated translations
5050
5051 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5052
5053         * docs/manual/advanced-dataaccess.xml:
5054           Add section on how to use fakesrc/fakesink/identity in your
5055           application, plus section on how to embed plugins. Also mention
5056           probes.
5057         * docs/manual/appendix-checklist.xml:
5058         * docs/manual/appendix-debugging.xml:
5059         * docs/manual/appendix-gnome.xml:
5060         * docs/manual/appendix-integration.xml:
5061           Debug -> checklist, GNOME -> integration, add sections on Linux,
5062           KDE integration and add other things useful for application
5063           development.
5064         * docs/manual/manual.xml:
5065           Remove some fixmes, update some file pointers.
5066         * docs/pwg/appendix-checklist.xml:
5067           Fix typo.
5068         * docs/pwg/building-boiler.xml:
5069           Remove ugly header and add commented fixme.
5070         * docs/pwg/pwg.xml:
5071           Add fixme.
5072         * examples/manual/Makefile.am:
5073           Add example for added docs.
5074
5075 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5076
5077         * configure.ac:
5078           back to HEAD
5079
5080 === release 0.8.8 ===
5081
5082 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5083
5084         * NEWS:
5085         * RELEASE:
5086         * configure.ac:
5087           Releasing 0.8.8, "I'll Take Care Of You"
5088
5089 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5090
5091         * configure.ac:
5092           second prerelease
5093
5094 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         patch by: Wim Taymans
5097
5098         * gst/gstbin.c:
5099           Fix for #159852 - make iterate emission threadsafe
5100
5101 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5102
5103         * docs/faq/cvs.xml:
5104           notes about new fdo account request
5105
5106 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5107
5108         * docs/gst/gstreamer-docs.sgml:
5109         * docs/gst/tmpl/gstenumtypes.sgml:
5110         * docs/gst/tmpl/gstplugin.sgml:
5111         * docs/libs/gstreamer-libs-docs.sgml:
5112           Added missing short docs. Added ids for navigation.
5113
5114 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5115
5116         * docs/manual/advanced-autoplugging.xml:
5117         * docs/manual/advanced-schedulers.xml:
5118         * docs/manual/advanced-threads.xml:
5119           Rewrites. Remove cothreads, go a bit into opt specifically,
5120           document threads and their gotchas, and do some technical stuff
5121           on autoplugging plus add some working examples. Fixes #157395.
5122         * examples/manual/Makefile.am:
5123           Add typefind/autoplugger example (one that actually works).
5124           Remove queue example since it's a duplicate of the thread one.
5125
5126 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5127
5128         * gst/gstvalue.c: (gst_value_deserialize_string):
5129           use deprecated g_value_set_string_take_ownership to keep compatible
5130           with glib 2.2
5131
5132 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5133
5134         * gst/gstvalue.c: (gst_value_deserialize_string):
5135           revert last patch, only dom a g_utf8_validate now before accepting
5136           the string - caps parsing strips " from strings so we can't rely on
5137           them
5138         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5139           disable a test that tested the above and comment it
5140
5141 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5142
5143         Patch reviewed by David Schleef  <ds@schleef.org>
5144
5145         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5146         bug #153882)
5147         * win32/gstenumtypes.h: same
5148
5149 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5150
5151         * gst/gstpad.c: (gst_pad_query):
5152           Do query on realized pad, similar to how convert/send_event handle
5153           this. Also makes sense, since this pad belongs to the function to
5154           which this query will be sent. Fixes #158163.
5155
5156 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5157
5158         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5159
5160 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5161
5162         * docs/faq/general.xml: fix pipeline to actually work
5163
5164 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5165
5166         * gst/gstvalue.c: (gst_value_deserialize_string):
5167           check that a simple string that gets deserialized does not contain
5168           invalid characters
5169         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5170           remove a test that tested a wring behaviour
5171
5172 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5173
5174         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5175
5176         * docs/manual/intro-motivation.xml:
5177           Fix typos.
5178
5179 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5180
5181         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5182
5183         * docs/gst/tmpl/gstprobe.sgml:
5184           Fix documentation of probe callback - it is supposed to return
5185           FALSE, not TRUE, to remove data from the stream (#159087).
5186
5187 2004-12-16  Daniel Gazard  <dany42@free.fr>
5188
5189         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5190
5191         * gst/gstelementfactory.c: (gst_element_factory_create):
5192           Fix compile failure if compiling without libxml2 support (#149936).
5193
5194 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5195
5196         * docs/manual/advanced-autoplugging.xml:
5197         * docs/manual/highlevel-components.xml:
5198           Move spider from autoplugging to components. Autoplugging is for
5199           internals, not for solutions. ;-).
5200
5201 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5202
5203         * docs/random/ds/0.9-suggested-changes:
5204           Make note on device/location/uri property names.
5205
5206 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5207
5208         * docs/manual/advanced-autoplugging.xml:
5209         * docs/manual/advanced-clocks.xml:
5210         * docs/manual/advanced-interfaces.xml:
5211         * docs/manual/advanced-metadata.xml:
5212         * docs/manual/advanced-position.xml:
5213         * docs/manual/advanced-schedulers.xml:
5214         * docs/manual/advanced-threads.xml:
5215         * docs/manual/appendix-gnome.xml:
5216         * docs/manual/appendix-programs.xml:
5217         * docs/manual/appendix-quotes.xml:
5218         * docs/manual/autoplugging.xml:
5219         * docs/manual/basics-bins.xml:
5220         * docs/manual/basics-data.xml:
5221         * docs/manual/basics-elements.xml:
5222         * docs/manual/basics-helloworld.xml:
5223         * docs/manual/basics-init.xml:
5224         * docs/manual/basics-pads.xml:
5225         * docs/manual/basics-plugins.xml:
5226         * docs/manual/bins-api.xml:
5227         * docs/manual/bins.xml:
5228         * docs/manual/buffers-api.xml:
5229         * docs/manual/buffers.xml:
5230         * docs/manual/clocks.xml:
5231         * docs/manual/components.xml:
5232         * docs/manual/cothreads.xml:
5233         * docs/manual/debugging.xml:
5234         * docs/manual/dparams-app.xml:
5235         * docs/manual/dynamic.xml:
5236         * docs/manual/elements-api.xml:
5237         * docs/manual/elements.xml:
5238         * docs/manual/factories.xml:
5239         * docs/manual/gnome.xml:
5240         * docs/manual/goals.xml:
5241         * docs/manual/helloworld.xml:
5242         * docs/manual/helloworld2.xml:
5243         * docs/manual/highlevel-components.xml:
5244         * docs/manual/highlevel-xml.xml:
5245         * docs/manual/init-api.xml:
5246         * docs/manual/intro-basics.xml:
5247         * docs/manual/intro-motivation.xml:
5248         * docs/manual/intro-preface.xml:
5249         * docs/manual/intro.xml:
5250         * docs/manual/links-api.xml:
5251         * docs/manual/links.xml:
5252         * docs/manual/manual.xml:
5253         * docs/manual/motivation.xml:
5254         * docs/manual/pads-api.xml:
5255         * docs/manual/pads.xml:
5256         * docs/manual/plugins-api.xml:
5257         * docs/manual/plugins.xml:
5258         * docs/manual/programs.xml:
5259         * docs/manual/queues.xml:
5260         * docs/manual/quotes.xml:
5261         * docs/manual/schedulers.xml:
5262         * docs/manual/states-api.xml:
5263         * docs/manual/states.xml:
5264         * docs/manual/threads.xml:
5265         * docs/manual/typedetection.xml:
5266         * docs/manual/win32.xml:
5267         * docs/manual/xml.xml:
5268           Try 2. This time, include a short preface as a "general
5269           introduction", also add code blocks around all code samples
5270           so they get compiled. We still need a way to tell readers
5271           the filename of the code sample. In some cases, don't show
5272           all code in the documentation, but do include it in the generated
5273           code. This allows for focussing on specific bits in the docs,
5274           while still having a full test application available.
5275         * examples/manual/Makefile.am:
5276           Fix up examples for new ADM. Add several of the new examples that
5277           were either added or were missing from the build system.
5278         * examples/manual/extract.pl:
5279           Allow nameless blocks.
5280
5281 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5282
5283         * docs/manual/elements-api.xml:
5284         * docs/manual/helloworld.xml:
5285         * examples/manual/extract.pl:
5286           fix last example.  Add example of adding code blocks that are not
5287           shown in docbook output.
5288
5289 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5290
5291         * docs/manual/dynamic.xml:
5292         * docs/manual/elements-api.xml:
5293         * docs/manual/gnome.xml:
5294         * docs/manual/helloworld2.xml:
5295         * docs/manual/init-api.xml:
5296         * docs/manual/queues.xml:
5297         * docs/manual/threads.xml:
5298         * docs/manual/xml.xml:
5299         * examples/manual/extract.pl:
5300           Make it possible to extract example code from separate blocks.
5301           Should make Ronald happy.
5302
5303 2004-12-15  Wim Taymans  <wim@fluendo.com>
5304
5305         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5306         (remove_from_group), (group_elements_set_visited),
5307         (normalize_group), (gst_opt_scheduler_iterate):
5308         Fix bug where a flag was not updated on a decoupled entry point 
5309         because we were just checking the group element list and decoupled
5310         elements are not in that list..
5311
5312 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5313
5314         * docs/manual/advanced-autoplugging.xml:
5315         * docs/manual/advanced-clocks.xml:
5316         * docs/manual/advanced-dparams.xml:
5317         * docs/manual/advanced-interfaces.xml:
5318         * docs/manual/advanced-metadata.xml:
5319         * docs/manual/advanced-position.xml:
5320         * docs/manual/advanced-schedulers.xml:
5321         * docs/manual/advanced-threads.xml:
5322         * docs/manual/appendix-debugging.xml:
5323         * docs/manual/appendix-gnome.xml:
5324         * docs/manual/appendix-programs.xml:
5325         * docs/manual/appendix-quotes.xml:
5326         * docs/manual/appendix-win32.xml:
5327         * docs/manual/autoplugging.xml:
5328         * docs/manual/basics-bins.xml:
5329         * docs/manual/basics-data.xml:
5330         * docs/manual/basics-elements.xml:
5331         * docs/manual/basics-helloworld.xml:
5332         * docs/manual/basics-init.xml:
5333         * docs/manual/basics-pads.xml:
5334         * docs/manual/basics-plugins.xml:
5335         * docs/manual/bins-api.xml:
5336         * docs/manual/bins.xml:
5337         * docs/manual/buffers-api.xml:
5338         * docs/manual/buffers.xml:
5339         * docs/manual/clocks.xml:
5340         * docs/manual/components.xml:
5341         * docs/manual/cothreads.xml:
5342         * docs/manual/debugging.xml:
5343         * docs/manual/dparams-app.xml:
5344         * docs/manual/dynamic.xml:
5345         * docs/manual/elements-api.xml:
5346         * docs/manual/elements.xml:
5347         * docs/manual/factories.xml:
5348         * docs/manual/gnome.xml:
5349         * docs/manual/goals.xml:
5350         * docs/manual/helloworld.xml:
5351         * docs/manual/helloworld2.xml:
5352         * docs/manual/highlevel-components.xml:
5353         * docs/manual/highlevel-xml.xml:
5354         * docs/manual/init-api.xml:
5355         * docs/manual/intro-motivation.xml:
5356         * docs/manual/intro-preface.xml:
5357         * docs/manual/intro.xml:
5358         * docs/manual/links-api.xml:
5359         * docs/manual/links.xml:
5360         * docs/manual/manual.xml:
5361         * docs/manual/motivation.xml:
5362         * docs/manual/pads-api.xml:
5363         * docs/manual/pads.xml:
5364         * docs/manual/plugins-api.xml:
5365         * docs/manual/plugins.xml:
5366         * docs/manual/programs.xml:
5367         * docs/manual/queues.xml:
5368         * docs/manual/quotes.xml:
5369         * docs/manual/schedulers.xml:
5370         * docs/manual/states-api.xml:
5371         * docs/manual/states.xml:
5372         * docs/manual/threads.xml:
5373         * docs/manual/typedetection.xml:
5374         * docs/manual/win32.xml:
5375         * docs/manual/xml.xml:
5376           First try at rewriting the ADM. Needs lotsamore work, but some
5377           parts might already be somewhat useful.
5378         * docs/pwg/advanced-interfaces.xml:
5379           Remove properties interface, it never actually existed (except for
5380           on my HD...).
5381
5382 2004-12-13  David Schleef  <ds@schleef.org>
5383
5384         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5385         be NULL (bug #160220).
5386
5387 2004-12-13  David Schleef  <ds@schleef.org>
5388
5389         * configure.ac: remove all mmx stuff, because it's not used.
5390         * docs/random/ds/0.9-suggested-changes: additional notes
5391         * include/Makefile.am: we don't use these anymore
5392         * include/mmx.h: remove
5393         * include/sse.h: remove
5394
5395 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5396
5397         * docs/random/mimetypes:
5398           Add FOURCC code for h264 codec (VSSH)
5399           Add alternate FOURCC codes for h263 related codecs
5400
5401 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5402
5403         * docs/manual/programs.xml:
5404           Added more gst-launch examples.
5405
5406 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5407
5408         * gst/gstqueue.c: (gst_queue_handle_src_query):
5409           Check for availability again.
5410
5411 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5412
5413         * gst/gstcaps.c: (gst_caps_compare_structures):
5414           Simple caps go first. This has the nice side-effect of fixing an
5415           obscure warning.
5416
5417 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5418
5419         * gst/gstversion.h.in:
5420           Protect header.
5421
5422 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5423
5424         * gst/schedulers/gstoptimalscheduler.c:
5425         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5426         (gst_opt_scheduler_get_wrapper):
5427           When we're recursing into a chain run, only run the directly
5428           related group, not all queued ones. This will fix a possible
5429           deadlock in chains with more than two groups.
5430
5431 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5432
5433         * autogen.sh:
5434           remove patch if autopoint fails
5435
5436 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5437
5438         * docs/gst/gstreamer-sections.txt:
5439           Document Thomas' addition, fix build, make Luis the sheriff happy.
5440
5441 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5442
5443         * gst/gstplugin.c:
5444         * gst/gstplugin.h:
5445           add accessor for version field
5446
5447 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5448
5449         submitted by: Luca Ferretti <elle.uca@infinito.it>
5450
5451         * po/LINGUAS:
5452         * po/it.po:
5453           New tranlation added: Italian
5454
5455 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5456
5457         * gst/gstpad.c: (gst_pad_is_negotiated),
5458         (gst_pad_get_negotiated_caps):
5459           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5460           it doesn't actually check the contents), so be sure to hand it
5461           a RealPad else we'll crash.
5462
5463 2004-12-03  Wim Taymans  <wim@fluendo.com>
5464
5465         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5466         (gst_queue_link), (gst_queue_handle_src_query):
5467         Reverted to 1.110 until this makes the testsuite and various
5468         apps work.
5469
5470 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5471
5472         * docs/upload.mak: fix included CVS conflict strings
5473
5474 2004-12-01  William Jon McCann  <mccann@jhu.edu>
5475
5476         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5477
5478         * gst/gstelement.c: (gst_element_error_full):
5479           Use g_error_new_literal because error text may have
5480           percentage signs in it. Fixes #160019.
5481
5482 2004-12-01  Benjamin Otte  <otte@gnome.org>
5483
5484         * gst/elements/gstbufferstore.c:
5485         (gst_buffer_store_add_buffer_func):
5486           don't try to make subbuffers bigger than they can be. (fixes
5487           #159970)
5488
5489 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5490
5491         * docs/gst/gstreamer-sections.txt:
5492         * docs/gst/tmpl/gstvalue.sgml:
5493           Add new function to docs to fix build.
5494
5495 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5496
5497         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
5498         * gst/gstpad.c: (_gst_pad_default_fixate_value),
5499         (_gst_pad_default_fixate_foreach):
5500         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
5501         * gst/gstvalue.h:
5502           Deprecate _type_is_fixed, use _value_is_fixed instead, since
5503           in some cases (arrays), the fixedness depends on the content.
5504         * gst/gstqueue.c: (gst_queue_handle_src_query):
5505           Check for availability before doing something.
5506
5507 2004-11-29  Wim Taymans  <wim@fluendo.com>
5508
5509         * testsuite/threads/Makefile.am:
5510         * testsuite/threads/signals.c: (gst_test_get_type),
5511         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
5512         (gst_test_set_property), (gst_test_get_property),
5513         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
5514         (gst_test_do_prop), (run_thread), (main):
5515         Added a bunch of testcases that show threadsafety bugs in glib.
5516
5517 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
5518
5519         * docs/manual/programs.xml:
5520           Added a first batch of gst-launch examples, as provided by Ronald
5521           and others from the devel-mlist
5522
5523 2004-11-28  Benjamin Otte  <otte@gnome.org>
5524
5525         * gst/gstelement.c: (gst_element_negotiate_pads):
5526           simplify
5527         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
5528         (gst_value_serialize_string), (gst_value_deserialize_string):
5529           add unwrapping of previously wrapped strings. Fix bug in wrapping
5530           while at it.
5531         * testsuite/caps/value_serialize.c: (test1),
5532         (test_string_serialization), (test_string_deserialization), (main):
5533           add tests for string (de)serialization
5534
5535 2004-11-26  Wim Taymans  <wim@fluendo.com>
5536
5537         * testsuite/threads/159566.c: (object_deep_notify), (main):
5538         * testsuite/threads/Makefile.am:
5539         Added testsuite to show bug #159566
5540
5541 2004-11-25  Wim Taymans  <wim@fluendo.com>
5542
5543         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
5544         (gst_thread_child_state_change), (gst_thread_main_loop):
5545         Ref the thread object in the GThread mainloop. Break out of the
5546         thread mainloop if it holds the last ref. This properly exits
5547         the threads when disposing the thread from its own context. It
5548         also avoids possible deadlocks in the dispose function.
5549
5550 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
5551
5552         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
5553         it is necessary to wait.
5554
5555 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5556
5557         * docs/pwg/building-boiler.xml:
5558           Make description somewhat clearer.
5559
5560 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5561
5562         * docs/upload.mak:
5563           Apparently docs changed location on FDO's server.
5564
5565 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5566
5567         * docs/pwg/appendix-checklist.xml:
5568           Add some random notes on things to check when writing an element.
5569           This list can be extended as people see fit.
5570
5571 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
5572
5573         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
5574         (gst_queue_link_src): Allow for renegotiating the caps of the sink
5575         pad. The queue will now wait until it is empty and forward the new
5576         caps to the source.
5577         * gst/gstbin.c (gst_bin_set_element_sched)
5578         (gst_bin_unset_element_sched): Make sure that all elements and
5579         links are registered and unregistered with the scheduler exactly
5580         once. This elaborates on a fix by Benjamin Otte, but
5581         guarantees that decoupled elements are also registered.
5582
5583 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5584
5585         * docs/manual/quotes.xml:
5586           add a quote
5587         * configure.ac:
5588         * gst/gst.c:
5589         * gst/gstinfo.c:
5590           add LIBDIR and move init message higher up so it's at the start
5591
5592 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5593
5594         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
5595         * gstreamer.spec.in: add fair
5596
5597 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5598
5599         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5600         * gst/elements/gstidentity.c: (gst_identity_class_init):
5601           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
5602           <teuf@gnome.org> (#157263).
5603         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
5604         (gst_type_find_handle_src_query):
5605           Subtract size of internally stored data from position queries.
5606
5607 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
5608
5609         * gst/schedulers/fairscheduler.c:
5610         * gst/schedulers/faircothreads.c:
5611         * gst/schedulers/faircothreads.h:
5612         New cothread based scheduler: Fair scheduler.
5613         * gst/schedulers/gthread-cothreads.h: 
5614         Add the standard #if around the whole file.
5615         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
5616         compilation of the functions defined in this file. This is
5617         necessary to be able to use this file as a normal header.
5618         * gst/schedulers/Makefile.am: Add compiling support for fair
5619         scheduler.
5620         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
5621         scheduler cothreads layer from documentation generation.
5622
5623 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5624
5625         * gst/autoplug/gstspideridentity.c:
5626         (gst_spider_identity_sink_loop_type_finding):
5627           Don't crash if that function is not implemented.
5628
5629 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5630
5631         * docs/pwg/advanced-types.xml:
5632           Another typo.
5633
5634 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5635
5636         * docs/pwg/intro-preface.xml:
5637           Hm, ok, so the brackets weren't really useful...
5638         * docs/pwg/other-ntoone.xml:
5639           Fix embarassing typo.
5640
5641 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5642
5643         * docs/pwg/intro-preface.xml:
5644           Rewrite preface.
5645
5646 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5647
5648         * docs/pwg/advanced-scheduling.xml:
5649         * docs/pwg/advanced-tagging.xml:
5650         * docs/pwg/advanced-types.xml:
5651         * docs/pwg/building-boiler.xml:
5652         * docs/pwg/building-chainfn.xml:
5653         * docs/pwg/building-signals.xml:
5654         * docs/pwg/building-state.xml:
5655         * docs/pwg/building-testapp.xml:
5656         * docs/pwg/intro-basics.xml:
5657         * docs/pwg/other-manager.xml:
5658         * docs/pwg/other-source.xml:
5659           Typo fixes.
5660         * docs/pwg/other-manager.xml:
5661           Add some first content. No example code yet.
5662         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5663           Remove double newlines.
5664
5665 2004-11-04  Wim Taymans  <wim@fluendo.com>
5666
5667         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5668         (remove_from_group), (normalize_group), (group_migrate_connected),
5669         (gst_opt_scheduler_iterate):
5670         * testsuite/schedulers/.cvsignore:
5671         * testsuite/schedulers/Makefile.am:
5672         * testsuite/schedulers/queue_link.c: (main):
5673         Added testcase for scheduler segfault.
5674         Fix scheduler segfault when removing a decoupled
5675         entry point as the last element from a group.
5676
5677 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5678
5679         * gst/gstmarshal.list: add missing marshaller, fixes build
5680
5681 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5682
5683         * docs/random/signal: added notes about using BOXED for GstBuffer
5684         signal marshallers, not POINTER
5685
5686 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5687
5688         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5689         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
5690         POINTER=>BOXED changes to marshal GstBuffers
5691
5692 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5693
5694         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
5695         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
5696
5697 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
5698
5699         * docs/gst/gstreamer-sections.txt:
5700         * docs/gst/tmpl/gstcaps.sgml:
5701         * docs/gst/tmpl/gsterror.sgml:
5702         * docs/gst/tmpl/gstinfo.sgml:
5703         * docs/gst/tmpl/gstmacros.sgml:
5704         * docs/gst/tmpl/gstutils.sgml:
5705         * docs/random/ensonic/interfaces.txt:
5706         * gst/gstinfo.h:
5707           added some more docs, removed two obsolete defines
5708
5709 2004-11-02  Kjartan Maraas <as at gnome.org>
5710
5711         reviewed by: Wim Taymans, Ronald Bultje.
5712
5713         * gst/cothreads.c: (cothread_create):
5714         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5715         (gst_bin_child_state_change_func):
5716         * gst/gstbuffer.c: (gst_buffer_span):
5717         * gst/gstelement.c: (gst_element_get_index),
5718         (gst_element_get_event_masks), (gst_element_get_query_types),
5719         (gst_element_get_formats):
5720         * gst/gsterror.c: (_gst_core_errors_init),
5721         (_gst_library_errors_init), (_gst_resource_errors_init),
5722         (_gst_stream_errors_init):
5723         * gst/gstobject.c: (gst_object_default_deep_notify):
5724         * gst/gstpad.c: (gst_pad_get_event_masks),
5725         (gst_pad_get_internal_links_default):
5726         * gst/gstplugin.c: (gst_plugin_register_func),
5727         (gst_plugin_get_module):
5728         * gst/gststructure.c: (gst_structure_get_string),
5729         (gst_structure_get_abbrs), (gst_structure_from_abbr),
5730         (gst_structure_to_abbr):
5731         * gst/gstutils.c: (gst_print_element_args):
5732         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5733         (setup_group_scheduler), (gst_opt_scheduler_iterate):
5734         Aplied part of patch #157127: Cleanup of issues reported by 
5735         sparse.
5736         Also do not try to use cothreads when there is no cothread
5737         context yet.
5738
5739 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
5740
5741         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5742         (gst_opt_scheduler_iterate):
5743         Applied patch #154061. Running a pipeline in which an element 
5744         calls GST_ELEMENT_ERROR in the chain function, the opt 
5745         scheduler doesn't unref the chain so it never gets freed.
5746
5747 2004-11-02  Wim Taymans  <wim@fluendo.com>
5748
5749         * gst/gststructure.c: (gst_structure_get_abbrs),
5750         (gst_structure_from_abbr), (gst_structure_to_abbr):
5751         Remove that ugly if-then thing in the code that converts
5752         between strings and types.
5753
5754 2004-11-02  Wim Taymans  <wim@fluendo.com>
5755
5756         * gst/gstscheduler.c: (gst_scheduler_add_element),
5757         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
5758         Aplied clock distribution patch, this should fix bug
5759         #148787.
5760
5761 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5762
5763         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
5764
5765         * po/LINGUAS:
5766         * po/nb.po:
5767           Added Norwegian Bokmaal translation
5768
5769 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5770
5771         * tools/gst-inspect.c: (print_signal_info):
5772           print signal arguments as pointers if they are
5773
5774 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
5775
5776         * docs/pwg/building-boiler.xml:
5777           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
5778
5779 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5780
5781         * gst/parse/parse.l:
5782         * testsuite/parse/parse1.c: (main):
5783         Since parse can do 'element name=a:b' make 'a:b.' work as
5784         well. 
5785         Added testcase to verify fix.
5786
5787 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5788
5789         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
5790         Use the realpad when printing the direction.
5791         Add extra \n when printing extensions of typefind factories.
5792
5793 2004-10-13  David Schleef  <ds@schleef.org>
5794
5795         * examples/manual/Makefile.am: $< isn't portable in Makefile
5796         rules.
5797
5798 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
5799
5800         * docs/gst/tmpl/gstobject.sgml:
5801         * docs/gst/tmpl/gstplugin.sgml:
5802         * docs/gst/tmpl/gstpluginfeature.sgml:
5803         * docs/gst/tmpl/gstregistry.sgml:
5804         * docs/gst/tmpl/gstversion.sgml:
5805         * gst/gstbin.c:
5806           more api documentation
5807         * gst/gstplugin.c: (gst_plugin_register_func),
5808         (gst_plugin_check_file), (gst_plugin_load_file):
5809           better error signaling and logging
5810
5811 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5812
5813         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
5814           Subtract current queue contents from position queries.
5815
5816 2004-10-11  Johan Dahlin  <johan@gnome.org>
5817
5818         * gst/gsturi.c (gst_uri_get_location): unescape string
5819         (gst_uri_construct): escape string.
5820
5821 2004-10-11  Benjamin Otte  <otte@gnome.org>
5822
5823         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
5824         (gst_pad_try_set_caps_nonfixed):
5825           allow renegotiation of unconnected pads (as inside spider). Simply
5826           return OK if unconnected - mimic try_set_caps there.
5827
5828 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5829
5830         * gst/gstbin.c: (gst_bin_sync_children_state):
5831           Add missing break.
5832
5833 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5834
5835         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
5836         Set element to EOS before sending EOS event
5837
5838 2004-10-08  Wim Taymans  <wim at fluendo dot com>
5839
5840         * gst/elements/gsttypefindelement.c:
5841         (gst_type_find_element_handle_event):
5842         Handle EOS events when doing the transition from
5843         typefind to data passing. This should fix the
5844         infinite loops in short files.
5845
5846 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5847
5848         * gst/gstthread.c: (gst_thread_change_state),
5849         (gst_thread_child_state_change):
5850         Make sure no iteration happens while performing
5851         the state change as it could mess up the internal
5852         consistency of the thread state.
5853
5854 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5855
5856         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
5857         (gst_thread_change_state), (gst_thread_child_state_change):
5858         Do not try to grab the iterate lock in the state change method
5859         when we are in the same thread as the iterate or else we
5860         could deadlock. Some other cleanups.
5861
5862 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5863
5864         * configure.ac:
5865           bump nano to cvs
5866
5867 === release 0.8.7 ===
5868
5869 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5870
5871         * configure.ac:
5872         * NEWS:
5873         * RELEASE:
5874         * configure.ac:
5875           releasing 0.8.7, "A Cruise"
5876
5877 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5878
5879         * docs/random/mimetypes:
5880         Add an entry for Sony ATRAC3 audio format with mime-type
5881         used by rmdemux et riff-read
5882
5883 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5884
5885         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5886         Push the buffer store instead of clearing it in case that
5887         the stream is not seekable.
5888
5889 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5890
5891         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
5892         (gst_thread_main_loop):
5893         Lock the iteration and the state change so that automatic
5894         negotiation and fixation does not happen at the same time
5895         as the in stream negotiation.
5896
5897 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5898
5899         * configure.ac:
5900           bump nano to cvs
5901
5902 === release 0.8.6 ===
5903
5904 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5905
5906         * configure.ac:
5907         * NEWS:
5908         * RELEASE:
5909         * configure.ac:
5910           releasing 0.8.6, "Narc"
5911
5912 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5913
5914         * configure.ac:
5915           prerel bump
5916
5917 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5918
5919         patch by: Steve Lhomme
5920
5921         * gst/elements/gstfakesrc.c:
5922         * gst/elements/gstidentity.c:
5923         * gst/gstthread.c:
5924           Fix for #153881
5925
5926 2004-10-01  Wim Taymans  <wim at fluendo dot com>
5927
5928         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5929         Fix threadsafety of the crc checking function.
5930
5931 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5932
5933         patch by: Ronald Bultje
5934
5935         * gst/elements/gsttypefindelement.c: (stop_typefinding),
5936         (gst_type_find_element_handle_event),
5937         (gst_type_find_element_chain):
5938         * gst/elements/gsttypefindelement.h:
5939          #153657.
5940          Filter out discont event from seekable sources when typefind
5941          asks them to seek.  Fixes typefind with demuxers for
5942          avi, asf and matroska.
5943
5944 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5945
5946         * docs/gst/gstreamer-sections.txt:
5947         * gst/gstcaps.c:
5948         * gst/gstcaps.h:
5949         * gst/gstpad.c:
5950           Revert preferred caps: (#147789)
5951
5952 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
5953
5954         * win32/dirent.c:
5955           fix a memory leak
5956
5957 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5958
5959         * configure.ac:
5960           bump for prerelease
5961
5962 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5963
5964         * docs/Makefile.am:
5965         * docs/manual/elements-api.xml:
5966           restructure so that common stuff is shown first
5967         * docs/manual/init-api.xml:
5968           convert to examples
5969         * docs/manual/manual.xml:
5970         * docs/manuals.mak:
5971         * docs/url.entities:
5972           link to API on the website, possibly override later in build
5973         * examples/manual/.cvsignore:
5974           ignore more
5975         * examples/manual/Makefile.am:
5976           add more examples
5977         * examples/manual/extract.pl:
5978           error out on failure
5979
5980 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5981
5982         * docs/gst/tmpl/gstthread.sgml:
5983         * docs/manual/init-api.xml:
5984         * examples/manual/Makefile.am:
5985           convert two code bits to examples
5986
5987 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5988
5989         * gst/gstelement.c: (gst_element_change_state):
5990           Well, actually, I was about to remove this insane assert when
5991           I noticed Wim already did that. A warning is nice so we can
5992           fix actual ugs (using --g-fatal-warnings and backtraces), so
5993           I added that instead.
5994
5995 2004-09-06  Wim Taymans  <wim@fluendo.com>
5996
5997         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
5998         (gst_element_threadsafe_properties_post_run),
5999         (gst_element_set_state), (gst_element_change_state):
6000         Added extra refcounting around various places. 
6001
6002 2004-09-06  Wim Taymans  <wim@fluendo.com>
6003
6004         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6005         Fix debug info.
6006
6007 2004-09-06  Wim Taymans  <wim@fluendo.com>
6008
6009         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6010         (remove_from_group):
6011         Some more debug info.
6012
6013 2004-09-03  Wim Taymans  <wim@fluendo.com>
6014
6015         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6016         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6017         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6018         (gst_fakesrc_get), (gst_fakesrc_change_state):
6019         * gst/elements/gstfakesrc.h:
6020         * gst/elements/gstidentity.c: (gst_identity_class_init),
6021         (gst_identity_init), (gst_identity_chain),
6022         (gst_identity_set_property), (gst_identity_get_property),
6023         (gst_identity_change_state):
6024         * gst/elements/gstidentity.h:
6025         Added datarate properties to limit the datarate.
6026
6027 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6028
6029         * gst/autoplug/gstspider.c: (plugin_init):
6030           don't set a rank. We don't want to autoplug by inserting spiders.
6031
6032 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6033
6034         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6035         (gst_spider_identity_plug):
6036           add a template for spider's sink
6037         * gst/gst.c: (gst_register_core_elements):
6038           queue's rank should be NULL, we don't want spider to add it.
6039
6040 2004-08-18  David Schleef  <ds@schleef.org>
6041
6042         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6043         * docs/libs/Makefile.am: same
6044         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6045         * docs/random/ds/0.9-planning: random additions
6046         * docs/random/ds/0.9-suggested-changes: same
6047         * gst/gstxml.h: remove vestigal GstXMLNs definition
6048
6049         Preferred caps: (#147789)
6050         * docs/gst/gstreamer-sections.txt: Add symbols
6051         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6052         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6053         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6054         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6055         (gst_caps_get_preferred), (gst_caps_set_preferred),
6056         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6057         (gst_caps_use_preferred): Handle caps preferences
6058         * gst/gstcaps.h: Add caps preferences
6059         * gst/gstpad.c: (gst_pad_link_get_preferred),
6060         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6061         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6062         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6063         negotiation.
6064
6065 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6066
6067         * gst/autoplug/gstspideridentity.c:
6068         (gst_spider_identity_request_new_pad):
6069         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6070         (gst_aggregator_init):
6071         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6072         (gst_fakesink_init):
6073         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6074         (gst_fakesrc_init):
6075         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6076         (gst_fdsink_init):
6077         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6078         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6079         (gst_filesink_init):
6080         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6081         (gst_filesrc_init):
6082         * gst/elements/gstidentity.c: (gst_identity_base_init),
6083         (gst_identity_init):
6084         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6085         (gst_multifilesrc_init):
6086         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6087         (gst_pipefilter_init):
6088         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6089         (gst_statistics_init):
6090         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6091         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6092           s/gst_pad_new/&_from_template/
6093           register pad templates in the base_init function
6094           add static pad template definitions
6095
6096 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6097
6098         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6099         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6100         * testsuite/refcounting/pad.c: (main):
6101         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6102           s/gst_pad_new/&_from_template/
6103           prepare deprecation of gst_pad_new
6104
6105 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6106
6107         patch by: Luca Ognibene <skaboy81@virgilio.it>
6108
6109         * gst/gstcaps.c:
6110         * gst/gstelement.c:
6111         * gst/gstpad.c:
6112         * gst/gstxml.c:
6113           fix memleaks.  Fixes #150001
6114
6115 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6116
6117         * docs/random/ds/0.9-suggested-changes:
6118           add notes - mostly about pad templates
6119
6120 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6121
6122         * win32/GStreamer.vcproj:
6123           temporary locale files are .gmo not .mo
6124
6125 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6126
6127         * configure.ac: bump nano to cvs
6128
6129 === release 0.8.5 ===
6130
6131 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6132
6133         * configure.ac:
6134           releasing 0.8.5, "Stuttgart"
6135         * NEWS:
6136         * RELEASE:
6137         * configure.ac:
6138         * docs/random/release:
6139           updates for release
6140
6141 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6142
6143         patch by: Wim Taymans (wim@fluendo.com)
6144
6145         * gst/gstbuffer.c:
6146         * gst/gstindex.h:
6147         * libs/gst/dataprotocol/dataprotocol.c:
6148           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6149
6150 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6151
6152         * Makefile.am:
6153         * win32/MANIFEST:
6154           add win32 dir to the build.  Fixes #149981.
6155
6156 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6157
6158         * configure.ac:
6159           bump libtool versioning
6160         * gst/gststructure.c:
6161           mark function as static
6162         * po/af.po:
6163         * po/az.po:
6164         * po/ca.po:
6165         * po/cs.po:
6166         * po/en_GB.po:
6167         * po/fr.po:
6168         * po/nl.po:
6169         * po/sq.po:
6170         * po/sr.po:
6171         * po/sv.po:
6172         * po/tr.po:
6173         * po/uk.po:
6174           translations update
6175         * win32/README.txt:
6176           trademark protection
6177
6178 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6179
6180         * configure.ac:
6181           fix GST_ORIGIN
6182           set GST_PACKAGE to source, and distinguish between release and other
6183         * tools/gst-inspect.c:
6184           print out plugin an element factory is part of so we see this info
6185
6186 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6187
6188         * docs/gst/gstreamer-sections.txt:
6189         * docs/gst/tmpl/gstbuffer.sgml:
6190         * docs/gst/tmpl/gstschedulerfactory.sgml:
6191           reorder docs a little, make GstBuffer's more sensible.
6192         * gst/gstbuffer.h:
6193           API: added GST_BUFFER_FLAG_DELTA_UNIT
6194         * gst/gstscheduler.c:
6195           comment API addition
6196
6197 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6198
6199         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6200           work with non-regular files that can be mmapped (like /dev/zero)
6201         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6202           get rid of typefinds that require a seek when we can't seek instead
6203           of trying them over and over again
6204         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6205           return non-zero failure value when the pipeline was interrupted or
6206           an error occurred
6207
6208 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6209
6210         * win32/config.h:
6211         * win32/GStreamer.vcproj:
6212           compile and install the locales
6213
6214 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6215
6216         * gst/gstvalue.c:
6217           fix a possible memory leak under Windows
6218
6219 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6220
6221         * win32/GStreamer.vcproj:
6222           fix a memory leak that occured under Windows
6223         * win32/gstreamer.def:
6224           add gst_scheduler_register
6225
6226 2004-08-11  Benjamin Otte  <otte@gnome.org>
6227
6228         * docs/gst/gstreamer-sections.txt:
6229         * gst/gstscheduler.c: (gst_scheduler_register):
6230         * gst/gstscheduler.h:
6231           API:
6232           add gst_scheduler_register shortcut similar to gst_element_register
6233         * gst/schedulers/entryscheduler.c: (plugin_init):
6234         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6235         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6236           use it
6237
6238 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6239
6240         * gst/gstvalue.h:
6241           fix a memory leak that occured under Windows
6242
6243 2004-08-10  Colin Walters  <walters@redhat.com>
6244
6245         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6246         Don't use O_EXCL to open temporary registry.  It will prevent
6247         registry creation if a temporary one already exists, which
6248         is unnecessary.
6249
6250 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6251
6252         * docs/gst/gstreamer-sections.txt:
6253         * docs/gst/tmpl/gstvalue.sgml:
6254           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6255
6256 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6257
6258         * win32/gstbytestream.vcproj:
6259         * win32/gstelements.vcproj:
6260         * win32/gstgetbits.vcproj:
6261         * win32/gst-inspect.vcproj:
6262         * win32/gst-launch.vcproj:
6263         * win32/gstoptimalscheduler.vcproj:
6264         * win32/GStreamer.vcproj:
6265         * win32/gst-register.vcproj:
6266         * win32/gstspider.vcproj:
6267           update the include and lib dirs to fit standard libraries as
6268           described in the Win32 manual
6269
6270 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6271
6272         * win32/config.h:
6273         * win32/gstversion.h:
6274           enable NLS again, push the version number for the coming 0.8.5 release
6275
6276 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6277
6278         * gst/gstvalue.h:
6279           export gst_type_XXX for windows DLLs
6280
6281 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6282
6283         * docs/faq/gst-uninstalled:
6284           fix PKG_CONFIG_PATH and PYTHONPATH
6285         * gst/schedulers/Makefile.am:
6286           cleanup
6287         * libs/gst/bytestream/bytestream.c:
6288           remove newline
6289         * po/LINGUAS:
6290         * po/sq.po:
6291           adding Albanian translation (Laurent Dhima)
6292         * po/cs.po:
6293           updated
6294
6295 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6296
6297         * po/ca.po:
6298         * po/sv.po:
6299           updated translations
6300
6301 2004-08-04  Benjamin Otte  <otte@gnome.org>
6302
6303         * tests/mass_elements.c: (main):
6304           allow specifying src and sink element explicitly, so I can test
6305           videotestsrc instead of fakesrc
6306
6307 2004-08-04  Benjamin Otte  <otte@gnome.org>
6308
6309         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6310         (gst_structure_id_empty_new), (gst_structure_empty_new),
6311         (gst_structure_copy):
6312           add gst_structure_id_empty_new_with_size to allow preallocating
6313           value array sizes. Use this in gst_structure_copy to get rid of
6314           reallocs.
6315           don't do quark=>string=>quark when copying structures
6316
6317 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6318
6319         * docs/manual/win32.xml:
6320         * win32/README.txt:
6321           update documentation with the clean version of dependencies
6322
6323 2004-08-03  Benjamin Otte  <otte@gnome.org>
6324
6325         * gst/schedulers/entryscheduler.c:
6326         (gst_entry_scheduler_remove_element):
6327           fix for GST_DISABLE_DEBUG
6328         * tools/gst-launch.c: (print_tag):
6329           fixes for G_DISABLE_ASSERT
6330
6331 2004-08-03  Benjamin Otte  <otte@gnome.org>
6332
6333         * gst/gst.c: (gst_register_core_elements):
6334           fix for G_DISABLE_ASSERT
6335         * gst/gstinfo.c: (__gst_in_valgrind):
6336           add for GST_DISABLE_DEBUG
6337
6338 2004-08-03  Benjamin Otte  <otte@gnome.org>
6339
6340         * gst/parse/parse.l:
6341           fix for G_DISABLE_ASSERT
6342
6343 2004-08-03  Wim Taymans  <wim@fluendo.com>
6344
6345         * gst/gstbin.c: (gst_bin_get_type),
6346         (gst_bin_child_state_change_func):
6347         * gst/gstthread.c: (gst_thread_change_state):
6348         Backported some debug logging from a reverted patch
6349         Don't try to destroy the thread twice. Added some more
6350         debugging in GstThread. Unlock and signal even if we
6351         are in the thread context.
6352
6353 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6354
6355         * po/uk.po:
6356           updated translation
6357
6358 2004-07-30  David Schleef  <ds@schleef.org>
6359
6360         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6361
6362 2004-07-29  David Schleef  <ds@schleef.org>
6363
6364         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6365         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6366
6367 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6368
6369         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6370         (gst_bin_add_func), (gst_bin_remove_func),
6371         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6372         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6373         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6374         (gst_bin_sync_children_state):
6375         * gst/gstbin.h:
6376         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6377         (gst_thread_change_state):
6378         * testsuite/states/Makefile.am:
6379           revert state change patches as agreed so we can rework them
6380           gradually
6381
6382 2004-07-29  Benjamin Otte  <otte@gnome.org>
6383
6384         * libs/gst/control/Makefile.am:
6385           link to libgstreamer (fixes Debian bug 262019, see
6386           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6387
6388 2004-07-29  Wim Taymans  <wim@fluendo.com>
6389
6390         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6391         (check_from_fraction_convert), (transform_test), (main):
6392         Make the test less pedantic about float roundoff errors.
6393
6394 2004-07-29  Benjamin Otte  <otte@gnome.org>
6395
6396         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6397         (gst_filesrc_srcpad_event):
6398           make seek events to before start/after end of file not fail, but
6399           seek to start/end instead
6400         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6401           add more output
6402
6403 2004-07-29  Benjamin Otte  <otte@gnome.org>
6404
6405         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6406           check that caps are fixed
6407         * gst/gstpad.c: (gst_pad_template_new):
6408           don't try to simplify caps, costs too much time on gst_init
6409         * gst/gstplugin.c: (gst_plugin_add_feature):
6410           G_ERROR if features are added twice
6411         * gst/gsttypefind.c: (gst_type_find_register):
6412         * gst/gstelementfactory.c: (gst_element_register):
6413           don't add features twice
6414         * docs/random/ds/0.9-suggested-changes:
6415           add note about possible gst_init optimization
6416
6417 2004-07-28  David Schleef  <ds@schleef.org>
6418
6419         * testsuite/elements/Makefile.am:
6420         * testsuite/elements/struct_i386.h:
6421         * testsuite/elements/struct_size.c: (main):  A little test
6422         to keep distcheck from working if someone changes a structure
6423         size accidentally.
6424
6425 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6426
6427         * docs/libs/Makefile.am:
6428         * docs/libs/gstreamer-libs-docs.sgml:
6429         * docs/libs/gstreamer-libs-sections.txt:
6430         * docs/libs/tmpl/gstbytestream.sgml:
6431         * docs/libs/tmpl/gstcontrol.sgml:
6432         * docs/libs/tmpl/gstdataprotocol.sgml:
6433         * docs/libs/tmpl/gstgetbits.sgml:
6434         * libs/gst/bytestream/Makefile.am:
6435         * libs/gst/bytestream/bytestream.c:
6436         * libs/gst/bytestream/bytestream.h:
6437         * libs/gst/control/Makefile.am:
6438         * libs/gst/dataprotocol/Makefile.am:
6439         * libs/gst/getbits/Makefile.am:
6440         * libs/gst/getbits/getbits.h:
6441           various doc and style fixes, adding bytestream to libs docs.
6442
6443 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6444
6445         * docs/gst/gstreamer-docs.sgml:
6446         * docs/libs/Makefile.am:
6447         * docs/libs/gstreamer-libs-docs.sgml:
6448         * docs/libs/gstreamer-libs-sections.txt:
6449         * libs/gst/control/dparam.c:
6450           more doc fixes.  gst-libs docs now build the same way as gst.
6451
6452 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6453
6454         * configure.ac:
6455         * testsuite/Makefile.am:
6456         * testsuite/bins/Makefile.am:
6457         * testsuite/caps/Makefile.am:
6458         * testsuite/cleanup/Makefile.am:
6459         * testsuite/clock/Makefile.am:
6460         * testsuite/debug/Makefile.am:
6461         * testsuite/dlopen/Makefile.am:
6462         * testsuite/dynparams/Makefile.am:
6463         * testsuite/elements/.cvsignore:
6464         * testsuite/elements/Makefile.am:
6465         * testsuite/enumcaps/Makefile.am:
6466         * testsuite/enumcaps/enumcaps.c:
6467         * testsuite/ghostpads/Makefile.am:
6468         * testsuite/indexers/Makefile.am:
6469         * testsuite/negotiation/Makefile.am:
6470         * testsuite/parse/Makefile.am:
6471         * testsuite/plugin/Makefile.am:
6472         * testsuite/refcounting/Makefile.am:
6473         * testsuite/schedulers/.cvsignore:
6474         * testsuite/states/Makefile.am:
6475         * testsuite/tags/Makefile.am:
6476         * testsuite/threads/Makefile.am:
6477           fold enumcaps into caps dir
6478           clean up Makefile.am's for testsuite
6479
6480 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6481
6482         * docs/gst/Makefile.am:
6483         * docs/libs/Makefile.am:
6484           clean up docs build.  Fixes needless rebuilding of template files.
6485
6486 2004-07-28  Wim Taymans  <wim@fluendo.com>
6487
6488         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
6489         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
6490         Make sure that a bin state change tries to keep the children
6491         in sync. 
6492         Added debug logging to the thread.
6493
6494 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6495
6496         * win32/GStreamer.vcproj:
6497         * win32/gstreamer.def:
6498           more exports for the plugins
6499
6500 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6501
6502         * win32/gstgetbits.vcproj:
6503         * win32/gstgetbits.def:
6504         * win32/msvc71.sln:
6505           add support for the getbits plugin
6506
6507 2004-07-27  Wim Taymans  <wim@fluendo.com>
6508
6509         * gst/gstvalue.c: (gst_value_transform_double_fraction),
6510         (gst_value_transform_fraction_double), (_gst_value_initialize):
6511         * testsuite/caps/Makefile.am:
6512         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6513         (check_from_fraction_convert), (transform_test), (main):
6514         Added transform functions between double and fraction.
6515         Added testcase to verify transforms
6516
6517 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6518
6519         * win32/GStreamer.vcproj:
6520           rename GStreamer-0.8.lib to libgstreamer.lib
6521
6522 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6523
6524         * win32/gstelements.vcproj:
6525         * win32/gstoptimalscheduler.vcproj:
6526           fixes for the Release build
6527
6528 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6529
6530         * win32/config.h:
6531           update the version number
6532
6533 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6534
6535         * win32/GStreamer.vcproj:
6536           add gstinterface to the build
6537
6538 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6539
6540         * win32/gstreamer.def:
6541           add many definitions needed by plugins,
6542           GST_CAT_DEFAULT only available in the Debug build ?
6543
6544 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6545
6546         * gst/gstelement.c: (gst_element_set_eos_recursive):
6547           various whitespace fixes.
6548           doc fix, fixes #148497
6549
6550 2004-07-25  Benjamin Otte  <otte@gnome.org>
6551
6552         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
6553           don't delay links on the sink elements, it causes unnegotiated
6554           links.
6555         * gst/elements/gsttypefindelement.c:
6556         (gst_type_find_element_base_init):
6557           add our padtemplates, we indeed do have some.
6558         * gst/elements/gsttypefindelement.c:
6559         (gst_type_find_element_handle_event),
6560         (gst_type_find_element_chain):
6561           don't push data when typefinding failed.
6562         * gst/gstpad.c: (gst_pad_link_fixate):
6563           check that no fixate function returns empty caps.
6564         * gst/gstpad.c: (gst_pad_push):
6565           check that the link is negotiated before data gets pushed.
6566         * tools/gst-register.c: (main):
6567           don't assert (fixes #148283)
6568
6569 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6570
6571         * docs/gst/gstreamer-sections.txt:
6572         * docs/gst/tmpl/gstconfig.sgml:
6573           add GST_PLUGIN_EXPORT definition
6574
6575 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6576
6577         * gst/gstplugin.h:
6578         * gst/gstconfig.h.in:
6579         * win32/gstconfig.h:
6580         * win32/gstelements.def:
6581         * win32/gstelements.vcproj:
6582         * win32/gstoptimalscheduler.def:
6583         * win32/gstoptimalscheduler.vcproj:
6584         * win32/gstspider.def:
6585         * win32/gstspider.vcproj:
6586           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
6587
6588 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6589
6590         * docs/gst/gstreamer-sections.txt:
6591           remove GST_CAT_DEFAULT because the type has changed
6592
6593 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6594
6595         * win32/gstbytestream.vcproj:
6596         * win32/gstelements.vcproj:
6597         * win32/gst-inspect.vcproj:
6598         * win32/gst-launch.vcproj:
6599         * win32/gstoptimalscheduler.vcproj:
6600         * win32/GStreamer.vcproj:
6601         * win32/gst-register.vcproj:
6602         * win32/gstspider.vcproj:
6603         * win32/msvc71.sln:
6604           Copy the files where needed after building, The testsuite will be
6605           built separately
6606
6607 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6608
6609         * win32/config.h:
6610         * win32/README.txt:
6611         * docs/manual/win32.xml:
6612         Fixed the plugin and GStreamer location
6613
6614 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6615
6616         * win32/gstreamer.def:
6617         More exports for the plugins
6618
6619 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6620
6621         * gst/gstinfo.h:
6622         Marc was right, we need to export literally GST_CAT_DEFAULT
6623
6624 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6625
6626         * win32/config.h:
6627         NLS crashes in gettext, disabled until this is solved
6628
6629 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6630
6631         * win32/gst-inspect.vcproj:
6632         * win32/gst-launch.vcproj:
6633         Should use NLS when available
6634
6635 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6636
6637         * gst/registries/gstxmlregistry.c:
6638         removing the file doesn't seem to be a good idea on Linux
6639
6640 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6641
6642         * gst/registries/gstxmlregistry.c:
6643         Remove the registry before renaming the tempfile (needed for Windows)
6644
6645 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6646
6647         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
6648         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
6649         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
6650         * gst/elements/gstmultifilesrc.h:
6651         Added newmedia property so it generates newmedia events between each
6652         file when property is set, as well as fixed eos handling
6653
6654 2004-07-22  David Schleef  <ds@schleef.org>
6655
6656         * gst/gststructure.c: (gst_structure_id_empty_new),
6657         (gst_structure_empty_new):  Set type field correctly.
6658         * gst/gststructure.h: Check type field correctly.
6659         * testsuite/caps/Makefile.am:
6660         * testsuite/caps/structure.c: (test1), (main): Add a very small
6661         test for structures.
6662
6663 2004-07-22  David Schleef  <ds@schleef.org>
6664
6665         * docs/random/ds/0.9-suggested-changes: more comments
6666         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
6667
6668 2004-07-22  Benjamin Otte  <otte@gnome.org>
6669
6670         * gst/gstelementfactory.c: (gst_element_register):
6671           set the factory in the class struct, so gst_element_get_factory
6672           actually works
6673         * gst/parse/grammar.y:
6674           set element to playing when it gets unlocked as we can't rely on the
6675           bin state - all elements in the bin state might still be locked in
6676           NULL)
6677
6678 2004-07-22  Benjamin Otte  <otte@gnome.org>
6679
6680         * gst/gstelement.c: (gst_element_set_state_func):
6681           make this a static function
6682
6683 2004-07-22  Wim Taymans  <wim@fluendo.com>
6684
6685         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6686         (gst_opt_scheduler_pad_link):
6687         fix 147894-2 and the group_link problem.
6688
6689 2004-07-22  Wim Taymans  <wim@fluendo.com>
6690
6691         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6692         (handoff_identity), (main):
6693         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6694         (handoff_identity), (main):
6695         * testsuite/schedulers/Makefile.am:
6696         * testsuite/schedulers/group_link.c: (main):
6697         Show bug in scheduler when linking chain and loop based element 
6698         where the chain based element was not yet in a group.
6699
6700 2004-07-21  Benjamin Otte  <otte@gnome.org>
6701
6702         * gst/.cvsignore:
6703         * gst/autoplug/.cvsignore:
6704         * gst/elements/.cvsignore:
6705         * gst/indexers/.cvsignore:
6706         * libs/gst/bytestream/.cvsignore:
6707         * libs/gst/control/.cvsignore:
6708         * libs/gst/getbits/.cvsignore:
6709         * testsuite/states/.cvsignore:
6710         * testsuite/threads/.cvsignore:
6711           keep this up to date, since I seem to be the only one who cares
6712           about not missing files on commits (editor's note: no you don't,
6713           but feel free to change them at the time you add stuff instead
6714           of later on)
6715
6716 2004-07-21  Benjamin Otte  <otte@gnome.org>
6717
6718         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6719         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
6720         (gst_bin_child_state_change_func), (set_kid_state_func),
6721         (gst_bin_set_state), (gst_bin_change_state_norecurse):
6722           make state changes work correctly and reentrant (so removing
6723           elements from bins during state changes of bins doesn't cause
6724           segfaults or even wrong states)
6725           add debugging category and debugging output to print children states
6726         * gst/gstbin.c: (gst_bin_dispose): 
6727           add some assertion checks
6728         * gst/gstbin.h:
6729         * gst/gstbin.c: (gst_bin_sync_children_state):
6730           deprecate this function - it just does gst_bin_set_state (bin,
6731           GST_STATE (bin)) 
6732         * testsuite/threads/queue.c: (main):
6733           don't use gst_bin_sync_children_state anymore
6734         * testsuite/states/Makefile.am:
6735         * testsuite/states/bin.c:
6736           test that the state changes of bins work as expected
6737         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
6738           some adjustments to change states correctly, too
6739         * gst/gstthread.c: (gst_thread_change_state):
6740           don't enable/disable "threadsafe" properties, they're unused and
6741           cause random segfaults
6742         * testsuite/threads/Makefile.am:
6743           the queue check randomly passes now, ignore it
6744
6745 2004-07-21  Benjamin Otte  <otte@gnome.org>
6746
6747         * gst/gstpad.c:
6748           check if data is NULL before outputting debug info. (fixes #145100)
6749
6750 2004-07-21  Benjamin Otte  <otte@gnome.org>
6751
6752         * gst/schedulers/entryscheduler.c:
6753         (gst_entry_scheduler_loop_wrapper),
6754         (gst_entry_scheduler_chain_wrapper),
6755         (gst_entry_scheduler_get_wrapper):
6756           reset the state when the cothread starts, so we don't get assertion
6757           failures on restarting of cothreads
6758
6759 2004-07-20  Benjamin Otte  <otte@gnome.org>
6760
6761         * gst/gstelement.c: (gst_element_link_pads_filtered):
6762           use correct sinkpad, if only sinkpad is specified, but not srcpad
6763           (fixes #147889)
6764         * gst/gstelement.c: (gst_element_set_state_func),
6765         (gst_element_change_state): ref/unref the element, signal handlers
6766         could get rid of the element otherwise
6767
6768 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6769
6770         * docs/random/ds/0.9-suggested-changes:
6771           Make note about renaming fixed-list to array.
6772         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
6773         (_gst_value_initialize):
6774           Add array intersections.
6775         * testsuite/caps/intersect2.c: (main):
6776           Add test for array intersections.
6777
6778 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6779
6780         * configure.ac: back to cvs
6781
6782 === release 0.8.4 ===
6783
6784 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6785
6786         * configure.ac:
6787           releasing 0.8.4, "Paella"
6788           bump libtool versioning
6789
6790 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6791
6792         * po/LINGUAS:
6793         * po/ca.po:
6794           adding Catalan translation (Jordi Mallach)
6795
6796 2004-07-20  Wim Taymans  <wim@fluendo.com>
6797
6798         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6799         (handoff_identity), (main):
6800         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6801         (handoff_identity), (main):
6802         * testsuite/schedulers/Makefile.am:
6803         Added failing testcase for variant of #147894
6804
6805 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6806
6807         patch by: David Moore
6808
6809         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6810         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
6811         (group_migrate_connected):
6812         * testsuite/schedulers/Makefile.am:
6813           fix for #142813 (Deadlock in optimal scheduler)
6814
6815 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6816
6817         patch by: Wim Taymans
6818
6819         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6820         (gst_opt_scheduler_schedule_run_queue),
6821         (gst_opt_scheduler_get_wrapper), (get_group),
6822         (group_migrate_connected):
6823         * testsuite/schedulers/Makefile.am:
6824           fix for #147819 (Add some checks in the opt scheduler)
6825
6826 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6827
6828         patch by: Benjamin Otte
6829
6830         * gst/gstelementfactory.c: (__gst_element_details_set):
6831           fix for #147929: running gst-register in non-utf8 locale can cause
6832           invalid registry
6833
6834 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6835
6836         patch by: Wim Taymans
6837
6838         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
6839         (group_has_element), (element_get_reachables_func),
6840         (group_migrate_connected):
6841           fix for #147894 (opt scheduler decoupled elements mismanagement)
6842         * testsuite/schedulers/Makefile.am:
6843           testsuite app now passes
6844
6845 2004-07-19  Wim Taymans  <wim@fluendo.com>
6846
6847         * testsuite/schedulers/147819.c: (handoff_identity1),
6848         (handoff_identity2), (main):
6849         * testsuite/schedulers/Makefile.am:
6850         Added testcase for bug 147819
6851
6852 2004-07-19  Wim Taymans  <wim@fluendo.com>
6853
6854         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6855         (handoff_identity), (main):
6856         * testsuite/schedulers/Makefile.am:
6857         Added testcase for bug 147894
6858
6859 2004-07-16  Wim Taymans  <wim@fluendo.com>
6860
6861         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
6862         * testsuite/schedulers/142183.c: (handoff_identity), (main):
6863         * testsuite/schedulers/Makefile.am:
6864         Added testsuite for bug 142183 in its two incarnations. Refcount
6865         is not increased for scheduled elements and threadsafe properties
6866         mutexes are not properly unlocked.
6867
6868 2004-07-16  Wim Taymans  <wim@fluendo.com>
6869
6870         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
6871         (create_chain), (destroy_chain), (create_group), (destroy_group),
6872         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
6873         (group_dec_link), (gst_opt_scheduler_pad_link),
6874         (group_inc_links_for_element), (group_migrate_connected):
6875         Call group_inc_link with the proper src->sink ordering -- 
6876         break this, and we break sort_chain. patch from wingo for bug
6877         147713.
6878         Partially revert patch 1.89. When adding a loop based element to 
6879         the scheduler, the links to other groups are automatically followed
6880         and incremented. This should not happen because the bin will call
6881         pad_link explicitly for those connection, resulting in them counted 
6882         twice. Results in assertion failure on pipeline cleanup.
6883
6884 2004-07-16  Wim Taymans  <wim@fluendo.com>
6885
6886         * testsuite/schedulers/143777-2.c: (main):
6887         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
6888         (main):
6889         * testsuite/schedulers/Makefile.am:
6890         Added cleanup code to testcase 143777-2.
6891         Added testcase to show bug 147713, does not really show the
6892         deadlock as I can't figure out how to trigger it, but it does
6893         demonstrate bad ordering in the scheduler.
6894
6895 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6896
6897         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6898           change strndup to g_strndup.  Fixes #147707
6899
6900 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6901
6902         * po/af.po:
6903         * po/az.po:
6904         * po/cs.po:
6905         * po/en_GB.po:
6906         * po/fr.po:
6907         * po/nl.po:
6908         * po/sr.po:
6909         * po/sv.po:
6910         * po/tr.po:
6911         * po/uk.po:
6912           updated translations
6913
6914 2004-07-16  Benjamin Otte  <otte@gnome.org>
6915
6916         * gst/gstvalue.c: (gst_greatest_common_divisor):
6917           use ints and return ints, fractions only use ints, too, so this
6918           avoids accidently casting multiplications to unsigned
6919         (gst_value_lcopy_fraction): it's ints, not uint32
6920         (gst_value_set_fraction): disallow minint, multiplying and negation
6921           are broken with it
6922         (gst_value_fraction_multiply): fix to make large numbers work and get
6923         rid of the assumption that the multiplication of two ints fits an
6924         int64 - dunno if that's true for all systems
6925         * testsuite/caps/Makefile.am:
6926         * testsuite/caps/fraction-multiply-and-zero.c:
6927         (check_multiplication), (check_equal), (zero_test), (main):
6928           add tests for all the stuff above
6929         * testsuite/caps/value_compare.c: (test1):
6930           fix comment
6931         * tests/.cvsignore:
6932         * testsuite/caps/.cvsignore:
6933         * testsuite/debug/.cvsignore:
6934         * testsuite/dlopen/.cvsignore:
6935         * testsuite/states/.cvsignore:
6936           get up to date
6937
6938 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6939
6940         * docs/manual/bins-api.xml:
6941         * docs/manual/factories.xml:
6942         * docs/manual/helloworld.xml:
6943         * docs/manual/links-api.xml: 
6944           fixes for out of date info, incorrect info and grammar
6945
6946 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6947
6948         * docs/manual/pads.xml:
6949         * docs/manual/pads-api.xml: grammar fix
6950
6951 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6952
6953         * docs/manual/pads-api.xml: typo + grammar fix
6954
6955 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6956
6957         * docs/gst/gstreamer-sections.txt:
6958           add new symbols
6959         * docs/gst/tmpl/gstelement.sgml:
6960         * docs/gst/tmpl/gstpad.sgml:
6961         * docs/gst/tmpl/gsttypes.sgml:
6962         * docs/gst/tmpl/gstvalue.sgml:
6963           update docs
6964         * gst/gststructure.c: (gst_structure_set_valist),
6965         (gst_structure_from_abbr), (gst_structure_to_abbr):
6966         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
6967         (gst_greatest_common_divisor), (gst_value_init_fraction),
6968         (gst_value_copy_fraction), (gst_value_collect_fraction),
6969         (gst_value_lcopy_fraction), (gst_value_set_fraction),
6970         (gst_value_get_fraction_numerator),
6971         (gst_value_get_fraction_denominator),
6972         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
6973         (gst_value_deserialize_fraction),
6974         (gst_value_transform_fraction_string),
6975         (gst_value_transform_string_fraction),
6976         (gst_value_compare_fraction), (_gst_value_initialize):
6977         * gst/gstvalue.h:
6978           adding GstFraction GValue type, get/set, and multiply
6979         * testsuite/caps/Makefile.am:
6980         * testsuite/caps/fraction.c: (test), (main):
6981         * testsuite/caps/string-conversions.c: (main):
6982         * testsuite/caps/value_compare.c: (test1), (main):
6983           add regression tests for GstFraction
6984
6985 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6986         
6987         * docs/manual/init-api.xml: Grammar fix
6988
6989 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6990
6991         * docs/manual/states.xml: Fix inconsistent information
6992
6993 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6994
6995         * gst/gstelement.c: (gst_element_set_state):
6996         * gst/gstpad.c: (gst_pad_try_set_caps):
6997         * gst/gststructure.c:
6998         * gst/gstthread.c: (gst_thread_child_state_change):
6999         * gst/gstvalue.c: (gst_value_compare_double):
7000         * gst/gstvalue.h:
7001         * testsuite/parse/parse1.c: (main):
7002           debugging additions and style cleanups
7003
7004 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7005
7006         * docs/manual/states.xml: Grammar fix
7007
7008 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7009
7010         * docs/manual/pads.xml: Grammar fix
7011
7012 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7013
7014         * docs/manual/elements.xml: Fixed image reference
7015
7016 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7017
7018         * docs/manual/goals.xml: Grammar fix
7019
7020 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7021
7022         * docs/manual/motivation.xml:
7023         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7024
7025 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7026
7027         * docs/manual/motivation.xml: Fix spelling
7028
7029 2004-07-15  Benjamin Otte  <otte@gnome.org>
7030
7031         * gst/gstelement.h: 
7032           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7033           strings.
7034         * gst/gstelement.c (gst_element_class_init):
7035           GError's are boxed, not objects
7036         * gst/gstmarshal.list:
7037           update list for the fixed error signal
7038
7039 2004-07-14  Andy Wingo  <wingo@pobox.com>
7040
7041         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7042         there all along, but the function wasn't. (guile-gstreamer's build
7043         system uses the address of the function -- I wasn't actually
7044         trying to use this.)
7045
7046 2004-07-14  Andy Wingo  <wingo@pobox.com>
7047
7048         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7049         as gst_pad_proxy_pad_link) just link to every other pad when they
7050         are called. In the case where the graph has cycles, this will mean
7051         that a call to try_set_caps will recurse. Allow this recursion
7052         and return OK, while we wait for the first try_set_caps to give a
7053         proper return value.
7054         (gst_pad_link_call_link_functions): Since this function is the
7055         only one to set the NEGOTIATING flag on a pad, if the flag is set
7056         it means that the link functions have indirectly recursed. If this
7057         happens, error out to avoid infinite recursion and an eventual
7058         SEGV.
7059         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7060         (gst_pad_proxy_getcaps): Intersect the result with the template
7061         caps to ensure that the return value is valid.
7062
7063 2004-07-14  Andy Wingo  <wingo@pobox.com>
7064
7065         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7066         one refcount, the calling function is the owner of the buffer.
7067
7068 2004-07-14  Wim Taymans  <wim@fluendo.com>
7069
7070         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7071         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7072         Fix stupid warning when an element is to be migrated but
7073         is already migrated.
7074
7075 2004-07-14  Wim Taymans  <wim@fluendo.com>
7076
7077         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7078         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7079         Make sure that a single non-loop-based element does not 
7080         end up in a group. This fixes the testsuite again.
7081
7082 2004-07-14  Wim Taymans  <wim@fluendo.com>
7083
7084         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7085         (add_to_group), (merge_groups), (schedule_group),
7086         (gst_opt_scheduler_get_wrapper), (group_elements),
7087         (group_dec_link), (gst_opt_scheduler_pad_link),
7088         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7089         (gst_opt_scheduler_iterate):
7090         move isolated groups to a new chain.
7091         Emit a warning instead of segfaulting in some error cases.
7092         Fix a bug where the link count between groups was not calculated 
7093         correctly. Fixes #144510.
7094
7095 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7096         * gst/elements/gstfilesrc.c:
7097           Binary files support under Windows now OK
7098       
7099 2004-07-13  Benjamin Otte  <otte@gnome.org>
7100
7101           compatibility fixes for Solaris 8/gcc 2.95
7102         * configure.ac:
7103           include libintl libs in LDFLAGS
7104         * gstvalue.c (gst_value_deserialize_buffer):
7105           cast isxdigit stuff to int to silence compiler warning
7106
7107 2004-07-12  Benjamin Otte  <otte@gnome.org>
7108
7109         * gst/gsttypes.h:
7110           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7111           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7112           just causes support madness
7113         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7114           make it work without this
7115         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7116         (gst_file_index_commit):
7117           glib IO channels don't want binary mode
7118         * testsuite/bytestream/filepadsink.c: (main):
7119         * testsuite/bytestream/test1.c: (read_param_file):
7120           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7121
7122 2004-07-12  Benjamin Otte  <otte@gnome.org>
7123
7124         * gst/gstelement.c: (gst_element_class_init),
7125         (gst_element_set_state), (gst_element_set_state_func):
7126           virutalize gst_element_set_state, use set_state member in class
7127           struct that was already added in 0.7 for this.
7128         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7129         (gst_bin_change_state):
7130           make gst_bin_foreach works similar to other foreach functions, plug
7131           memleaks in it. Make functions using it work with the new approach.
7132           Document gst_bin_foreach, so it can be exported if we want to
7133         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7134           use virtualized set_state to make set_state on bins set the state of
7135           all its children.
7136
7137 2004-07-12  Benjamin Otte  <otte@gnome.org>
7138
7139         * configure.ac:
7140           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7141           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7142         * gst/gstpad.c: (gst_pad_alloc_buffer):
7143           allow buffer_alloc functions to return NULL and allocate a normal
7144           buffer in that case
7145
7146 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7147         * gst/elements/gstfilesink.c:
7148         * gst/elements/gstfilesrc.c:
7149         * gst/indexers/gstfileindex.c:
7150         * gst/gsttypes.h:
7151         * testsuite/bytestream/filepadsink.c:
7152         * testsuite/bytestream/test1.c:
7153           Handle binary files under Windows
7154
7155 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7156         * docs/manual/win32.xml:
7157         * win32/config.h:
7158         * win32/gst-register.vcproj:
7159         * win32/gstreamer.def:
7160           Update to another gettext public build
7161
7162 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7163         * gst/gstplugin.c:
7164           Fix an impossible C syntax
7165         * win32/config.h:
7166           Disable i18n under Windows for the moment
7167         * win32/gst-register.vcproj:
7168           Use this configuration
7169
7170 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7171         * docs/manual/quotes.xml:
7172           Keep the quotes file alive
7173         * docs/random/ds/0.9-suggested-changes:
7174           Add the suggestion of including a 'rowstride' as part of video
7175           format caps
7176
7177 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7178
7179         * gst/gstelement.c: (gst_element_set_state),
7180         (gst_element_change_state):
7181           d'oh.  Set PENDING state correctly before forcing bin to change.
7182         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7183         (gst_structure_parse_fixed_list):
7184         * gst/schedulers/gstoptimalscheduler.c:
7185         (gst_opt_scheduler_state_transition):
7186         * testsuite/states/parent.c: (main):
7187           remove comment now that it's fixed.
7188
7189 2004-07-11  Benjamin Otte  <otte@gnome.org>
7190
7191         * gst/gstclock.h:
7192           GST_SECOND shouldn't cause a conversion to unsigned.
7193         * testsuite/clock/.cvsignore:
7194         * testsuite/clock/Makefile.am:
7195         * testsuite/clock/signedness.c: (main):
7196           make sure it never will again
7197
7198 2004-07-11  Andy Wingo  <wingo@pobox.com>
7199
7200         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7201         whose state is higher than the bin state, raise the bin state to
7202         ensure that bin state := highest child state.
7203         
7204 2004-07-11  Andy Wingo  <wingo@pobox.com>
7205
7206         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7207         procedure on the children of a bin. Assumes that the procedure can
7208         change the set of children.
7209         (set_kid_state_func): New static function.
7210         (gst_bin_change_state): Use gst_bin_foreach to call
7211         set_kid_state_func. Fixes a bug: if a child had a state-change
7212         handler that removes it from the bin, there would be a segfault.
7213         Hopefully it should also work in the case where the state-change
7214         handler on one child adds or removes other children. In any case,
7215         fixes should go to gst_bin_foreach.
7216
7217 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7218
7219         * gst/gstelement.c: (gst_element_set_state):
7220           compatibility fix for latest plugins release.  Change loop back
7221           to while {}
7222
7223 2004-07-09  Wim Taymans  <wim@fluendo.com>
7224
7225         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7226         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7227         (gst_thread_main_loop):
7228         Since remove is virtual in GstBin we must not assume the 
7229         elements GList to have anothing useful.
7230         Add some more logging to GstThread and be a bit more paranoid
7231         when resetting the scheduler.
7232         Set the state of the bin to NULL before removing the children.
7233
7234 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7235
7236         * testsuite/threads/Makefile.am:
7237         * testsuite/threads/threadg.c:
7238           added test to check if problem when removing all elements from a
7239           GstThread before setting GstThread state to NULL
7240
7241 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7242
7243         * docs/gst/tmpl/gstelement.sgml:
7244         * docs/gst/tmpl/gsttypes.sgml:
7245         * gst/gstbin.c: (gst_bin_change_state):
7246         * gst/gstelement.c: (gst_element_set_state),
7247         (gst_element_change_state):
7248           rework so that for bins we try to set the state on all children
7249           as well even if the bin is in the correct state already.
7250           change while to do so at least one iteration is done.
7251           For regular elements, we fall back to the previous behaviour for
7252           now since we first need a new plugins release.
7253         * testsuite/states/parent.c: (main):
7254           test for this case
7255           Fixes #123774
7256
7257 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7258
7259         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7260         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7261         (gst_queue_release_locks), (gst_queue_change_state),
7262         (gst_queue_set_property):
7263           add proper lock debugging.  Change dispose to finalize, since
7264           we're freeing mutexes and other stuff which should happen only once.
7265
7266 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7267
7268         * docs/gst/tmpl/gstelement.sgml:
7269         * docs/gst/tmpl/gstplugin.sgml:
7270         * docs/gst/tmpl/gsttypes.sgml:
7271         * docs/pwg/building-state.xml:
7272         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7273         * gst/gstelement.c: (gst_element_change_state):
7274         * gst/gstthread.c: (gst_thread_change_state):
7275           catch wrong state changes in element base class.
7276
7277 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7278
7279         * gst/gstinfo.h:
7280           clean up layout a little.
7281
7282 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7283
7284         * configure.ac:
7285         * testsuite/Makefile.am:
7286         * testsuite/states/Makefile.am:
7287         * testsuite/states/parent.c: (main):
7288           re-enable states testsuite dir.  Add test for state changes and
7289           parent behaviour
7290
7291 2004-07-09  Wim Taymans  <wim@fluendo.com>
7292
7293         * gst/schedulers/gstoptimalscheduler.c:
7294         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7295         (element_get_reachables_func), (element_get_reachables),
7296         (debug_element), (rechain_group), (group_migrate_connected),
7297         (gst_opt_scheduler_pad_unlink):
7298         Do not try to migrate decoupled elements to a new group since
7299         they are not added to groups.
7300
7301 2004-07-08  Benjamin Otte  <otte@gnome.org>
7302
7303         * gst/gstelement.c: (gst_element_error_func):
7304           make reentrant (= allow removing elements in error handler)
7305
7306 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7307
7308         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7309         (gst_pad_send_event), (gst_pad_call_chain_function):
7310           events sent to elements below PAUSED cannot be handled, so
7311           don't try to
7312
7313 2004-07-08  Wim Taymans  <wim@fluendo.com>
7314
7315         * gst/schedulers/gstoptimalscheduler.c:
7316         (chain_recursively_migrate_group), (create_group),
7317         (schedule_group), (gst_opt_scheduler_pad_link),
7318         (group_elements_set_visited), (element_get_reachables_func),
7319         (element_get_reachables), (group_can_reach_group), (debug_element),
7320         (rechain_group), (group_migrate_connected),
7321         (gst_opt_scheduler_pad_unlink):
7322         * testsuite/schedulers/Makefile.am:
7323         Implemented group splitting and rechaining.
7324         Fixes 143777 and 143777-2 in the testsuite.
7325
7326 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7327
7328         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7329           extra debugging
7330         * gst/gstevent.h:
7331         * gst/gstinfo.c: (gst_debug_log_default):
7332           print time nicely.  add thread pointer until someone figures out
7333           a completely portable way of getting at thread id's.
7334         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7335         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7336         (gst_pad_call_chain_function):
7337           extra debugging
7338         * gst/schedulers/gstoptimalscheduler.c:
7339         (get_group_schedule_function), (loop_group_schedule_function),
7340         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7341         (pad_clear_queued), (gst_opt_scheduler_iterate):
7342           rename BUFPEN and friends to DATAPEN since that's what they are.
7343
7344 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7345
7346         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7347         * gst/gstbuffer.h:
7348         * gst/gstpad.c:
7349           cleanups and debugging
7350
7351 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7352
7353         * configure.ac:
7354         * gst/gstvalue.c: (gst_value_compare_enum),
7355         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7356         (gst_value_can_compare), (gst_value_compare):
7357         * testsuite/Makefile.am:
7358         * testsuite/enumcaps/Makefile.am:
7359         * testsuite/enumcaps/enumcaps.c:
7360           Fix enum serialization, deserialization, comparison in caps, add
7361           a test to ensure that this continues working in the future.
7362
7363 2004-07-06  David Schleef  <ds@schleef.org>
7364
7365         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7366         Fix memleak.
7367
7368 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7369
7370         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7371         * gst/gstplugin.h:
7372         * gst/registries/gstxmlregistry.c:
7373         (plugin_times_older_than_recurse), (plugin_times_older_than),
7374         (gst_xml_registry_parse_padtemplate):
7375           only rebuild registry when actual plugins have a newer time than
7376           the registry.  Fixes #145520
7377
7378 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7379
7380         * docs/manual/manual.xml:
7381         * docs/manual/win32.xml:
7382           add chapter on win32 building.  fixes #142422
7383
7384 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7385
7386         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7387
7388         * gst/autoplug/gstspider.c: (gst_spider_init),
7389         (gst_spider_dispose):
7390           fix spider memleaks.  fixes #137863
7391
7392 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7393
7394         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7395
7396         * gst/schedulers/gstoptimalscheduler.c:
7397         (gst_opt_scheduler_pad_unlink):
7398           fix SIGBUS error, fixes #145338
7399
7400 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7401
7402         * gst/gstobject.c: (gst_object_replace):
7403         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7404         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7405           clean up clock lifecycle.  Fixes #109831
7406
7407 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7408
7409         * po/LINGUAS:
7410         * po/cs.po:
7411           added Czech translation (Miloslav Trmac)
7412
7413 2004-07-04  David Schleef  <ds@schleef.org>
7414
7415         * tools/Makefile.am:
7416         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7417
7418 2004-07-04  David Schleef  <ds@schleef.org>
7419
7420         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7421
7422 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7423
7424         * gst/gstbin.c: (gst_bin_restore_thyself):
7425           chain to parent restore so the bins get restored correctly
7426           in the editor
7427
7428 2004-07-03  David Schleef  <ds@schleef.org>
7429
7430         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7431         Actually do something in these functions, like before the big
7432         caps change.  (bug #145137)
7433
7434 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7435
7436         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7437         (gst_element_get_compatible_pad_filtered):
7438         * gst/gstthread.c: (gst_thread_main_loop):
7439           more debugging
7440
7441 2004-07-02  David Schleef  <ds@schleef.org>
7442
7443         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7444         * gst/gstobject.h:
7445         * gst/gstparse.h:
7446         * gst/gsttrace.h:
7447         * gst/gstxml.h:
7448
7449 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7450
7451         * gst/gstpad.c: (gst_pad_check_schedulers),
7452         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7453         (gst_pad_link_prepare):
7454           revert until testsuite is fixed
7455
7456 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7457
7458         * testsuite/Makefile.am:
7459         * testsuite/caps/filtercaps.c: (main):
7460         * testsuite/clock/clock1.c: (main):
7461         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7462           fix some more tests
7463
7464 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7465
7466         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7467         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7468         * testsuite/cleanup/cleanup4.c: (main):
7469           fix testsuite
7470
7471 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7472
7473         * libs/gst/control/control.c:
7474         * libs/gst/control/dparam.c:
7475         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
7476         * libs/gst/control/dparammanager.c:
7477         * libs/gst/control/dparammanager.h:
7478         * testsuite/dynparams/Makefile.am:
7479         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
7480         (gst_dptest_change_state), (gst_dptest_chain), (main):
7481           fix testcase for dparams
7482           add debugging category
7483
7484 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7485
7486         * testsuite/Rules:
7487           change path
7488
7489 2004-07-02  Benjamin Otte  <otte@gnome.org>
7490
7491         * tests/.cvsignore:
7492         * tests/Makefile.am:
7493         * tests/mass_elements.c: (gst_get_current_time), (main):
7494           add simple benchmark to test various speeds of fakesrc ! identity !
7495           identity ! ... ! fakesink.
7496           Usage: mass_elements [num_identities] [num_buffers]
7497           If not specified they default to 1000.
7498
7499 2004-07-02  Benjamin Otte  <otte@gnome.org>
7500
7501         * gst/gstpad.c: (gst_pad_check_schedulers),
7502         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7503         (gst_pad_link_prepare):
7504           check that pads that get linked belong to the same manager. The old
7505           code allowed linking elements before putting them into bins, so it
7506           worked to link them and then put them in different threads, which
7507           lead to weird behaviour.
7508           Since this effectively disallows linking elements before putting
7509           them in a bin, some applications might not work after this and error
7510           out. If these applications are too critical, we might need to revert
7511           that patch. Please test this before the next release...
7512
7513 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7514
7515         * gst/gstpad.c: (gst_pad_get_caps):
7516           throw an error if the getcaps function does not return a subset of
7517           the template caps.
7518         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
7519           make disconts without position info an error in debugging
7520         * tests/spidey_bench.c: (handoff), (main):
7521           don't count first try when averaging
7522
7523 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7524
7525         * gst/gstplugin.c: (gst_plugin_load_file):
7526           figure out problem with dynamic test
7527
7528 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7529
7530         * docs/gst/Makefile.am:
7531           fix docs build
7532
7533 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7534
7535         * po/POTFILES.in:
7536         * po/af.po:
7537         * po/az.po:
7538         * po/en_GB.po:
7539         * po/fr.po:
7540         * po/nl.po:
7541         * po/sr.po:
7542         * po/sv.po:
7543         * po/tr.po:
7544         * po/uk.po:
7545         * tools/gst-register.c: (plugin_added_func), (main):
7546           i18n-ize -register, fix plural
7547
7548 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7549
7550         * gst/elements/gstidentity.c: (gst_identity_class_init),
7551         (gst_identity_init), (gst_identity_chain),
7552         (gst_identity_set_property), (gst_identity_get_property):
7553         * gst/elements/gstidentity.h:
7554           check for perfect stream
7555
7556 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7557
7558         * gst/elements/gstidentity.c: (gst_identity_chain):
7559           print offset_end
7560
7561 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7562
7563         * docs/gst/Makefile.am:
7564         * docs/gst/gstreamer-docs.sgml:
7565           doc fixes
7566
7567 2004-06-24  David Schleef  <ds@schleef.org>
7568
7569         * autogen.sh:  Remove call to env, since the buildbot isn't
7570         broken anymore.
7571
7572 2004-06-24  Wim Taymans  <wim@fluendo.com>
7573
7574         * gst/elements/Makefile.am:
7575         * gst/elements/gstelements.c:
7576         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
7577         (gst_multifdsink_class_init), (gst_multifdsink_init),
7578         (gst_multifdsink_add), (gst_multifdsink_remove),
7579         (gst_multifdsink_clear), (gst_multifdsink_chain),
7580         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
7581         * gst/elements/gstmultifdsink.h:
7582         Added an element that writes to multiple filedescriptors at once.
7583
7584 2004-06-24  Benjamin Otte  <otte@gnome.org>
7585
7586         * gst/parse/grammar.y:
7587           don't try to link elements before they have been added to bins
7588
7589 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7590
7591         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
7592         (gst_file_pad_get_length):
7593         * libs/gst/bytestream/filepad.h:
7594           add 2 new functions
7595
7596 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7597
7598         * docs/gst/gstreamer-sections.txt:
7599         remove from docs, the define that Benjamin removed from gstelement.h
7600
7601 2004-06-22  Benjamin Otte  <otte@gnome.org>
7602
7603         * gst/gstelement.h:
7604           remove define that referenced a nonexisting GstElement struct member
7605
7606 2004-06-20  Benjamin Otte  <otte@gnome.org>
7607
7608         * gst/gstdata.c: (gst_data_is_writable):
7609           whoops, return values were wrong, so writable data was marked as
7610           non-writable and vice versa. (fixes #143953, spotted by Francis
7611           Labonte)
7612           Shows how rarely we need to copy data ;)
7613
7614 2004-06-20  Benjamin Otte  <otte@gnome.org>
7615
7616         * testsuite/schedulers/.cvsignore:
7617         * testsuite/schedulers/Makefile.am:
7618         * testsuite/schedulers/143777-2.c: (main):
7619           add test for opt breakage in bug #143777
7620
7621 2004-06-20  Benjamin Otte  <otte@gnome.org>
7622
7623         * gst/gstpad.c: (gst_pad_call_chain_function):
7624           check for if we were unlinked while inside the chainfunction (fixes
7625           entrygthread having issues with #143777)
7626         * testsuite/schedulers/143777.c: (main):
7627         * testsuite/schedulers/Makefile.am:
7628           add a test for that fix
7629
7630 2004-06-20  Benjamin Otte  <otte@gnome.org>
7631
7632         * gst/gstvalue.c: (gst_value_set_int_range):
7633           test that start is smaller then end
7634         * libs/gst/bytestream/Makefile.am:
7635         * libs/gst/bytestream/filepad.c: 
7636         * libs/gst/bytestream/filepad.h:
7637           add GstFilePad - a pad that behaves like a FILE*
7638         * testsuite/bytestream/.cvsignore:
7639         * testsuite/bytestream/Makefile.am:
7640         * testsuite/bytestream/filepadsink.c: 
7641           test for the GstFilePad
7642
7643 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7644
7645         * gst/elements/gstidentity.c: (gst_identity_class_init),
7646         (gst_identity_init), (gst_identity_set_clock),
7647         (gst_identity_chain), (gst_identity_set_property),
7648         (gst_identity_get_property):
7649         * gst/elements/gstidentity.h:
7650         * gst/gstclock.c: (gst_clock_id_wait):
7651           add a "sync" property to sync to the clock
7652
7653 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7654
7655         * gst/gstelementfactory.c: (gst_element_factory_create):
7656           make the freakin "elementfactory bla has no type" message more
7657           useful. So we actually can do something when someone shows up
7658           complaining about it.
7659
7660 2004-06-15  Johan Dahlin  <johan@gnome.org>
7661
7662         * tools/gst-inspect.c (main): Fallback to plugin if no element is
7663         found. This matches the old behavior better. Thanks to Thomas for
7664         pointing out.
7665
7666 2004-06-14  David Schleef  <ds@schleef.org>
7667
7668         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
7669         -fomit-frame-pointer.  Appears to generate correct code in
7670         other cases as well.
7671
7672 2004-06-14  Johan Dahlin  <johan@gnome.org>
7673
7674         * tools/gst-inspect.c (main): Add two new command line options: -a
7675         to print all elements and -n to print the name on each line. Also
7676         fix some error reporting.
7677         (main): Simplify, remove -n and always print names if -a is specified
7678
7679 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
7680
7681         * win32/gstconfig.h:
7682         * win32/GSTreamer.vcproj:
7683         * win32/Makefile:
7684         * gst/gstconfig.h.in:
7685         * gst/gst.h:
7686         * gst/gstbin.h:
7687         * gst/gstelement.h:
7688         * gst/gstevent.h:
7689         * gst/gstobject.h:
7690         * gst/gstpad.h:
7691         * docs/gst/gstreamer-sections.txt:
7692         * docs/gst/tmpl/gstconfig.sgml:
7693           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
7694
7695 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7696         * docs/gst/gstreamer-sections.txt:
7697         * docs/gst/tmpl/gstconfig.sgml:
7698         Add the GSTREAMER_EXPORT macro to the docs
7699
7700 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7701
7702         * tools/gst-compprep.c: (handle_xmlerror), (main):
7703         Add a check for the version that introduced SetStructuredError to fix
7704         the build on FC1
7705
7706 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7707
7708         * win32/msvc71.sln:
7709         * win32/testsuite/:
7710           prepare to compile the testsuite with MSVC
7711
7712 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7713
7714         * docs/manual/win32.xml:
7715           attempt to transform the Win32 README into an XML doc
7716
7717 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7718
7719         * gst/gst.c:
7720         * gst/gstbin.*:
7721         * gst/config.h.in:
7722         * gst/gstelement.*:
7723         * gst/gstevent.h:
7724         * gst/gstobject.*:
7725         * gst/gstpad.h:
7726         * tools/gst-register.c:
7727         * win32/gstreamer.def:
7728           extern symbols are now exported for the Windows DLL
7729
7730 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7731
7732         * gst/gstinfo.h:
7733           fix a problem to enable/disable DEBUG under MSVC
7734
7735 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7736
7737         * win32/:
7738           enable more debug code in DEBUG build
7739
7740 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7741
7742         * win32/config.h:
7743         * gst/gst-i18n-app.h:
7744           enable NLS under Windows
7745
7746 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
7747         * tools/gst-compprep.c: (handle_xmlerror), (main):
7748           Make an error that baffled me a bit clearer
7749
7750 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7751
7752         * gst/gstqueue.c:
7753           don't use g_queue_get_length () because it's 2.4, use ->length
7754
7755 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
7756
7757         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
7758
7759         * tools/gst-inspect.c: (print_signal_info):
7760           don't free random data twice. (fixes #144185)
7761
7762 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7763
7764         * gst/gstqueue.c:
7765         * gst/gstqueue.h:
7766           fix removing from the wrong queue on event timeout
7767           fix disposing of the event queue by casting correctly
7768           add mutexes for handling the event queue
7769           someone was sleeping when fixing queue last time around :)
7770
7771 2004-06-10  Johan Dahlin  <johan@gnome.org>
7772
7773         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
7774         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
7775
7776 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7777
7778         * docs/random/gdp:
7779         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
7780         * libs/gst/dataprotocol/dataprotocol.c:
7781         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7782         (gst_dp_buffer_from_header):
7783         * libs/gst/dataprotocol/dataprotocol.h:
7784         * libs/gst/dataprotocol/dp-private.h:
7785           rev version to 0.1, add buffer flags and copy them
7786
7787 2004-06-09  Johan Dahlin  <johan@gnome.org>
7788
7789         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
7790         the flags from the buffer we're copying.
7791
7792 2004-06-09  Wim Taymans  <wim@fluendo.com>
7793
7794         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
7795         * gst/elements/gstidentity.c: (gst_identity_init),
7796         (gst_identity_chain):
7797         Print more buffer info in fakesink.
7798         Make identity output similar to fakesink.
7799
7800 2004-06-07  Daniel Gazard  <dany42@free.fr>
7801
7802         reviewed by Benjamin Otte  <otte@gnome.org>
7803
7804         * configure.ac:
7805           fix cross compiling not working. (fixes #143741)
7806
7807 2004-06-07  Benjamin Otte  <otte@gnome.org>
7808
7809         * gst/gstelement.c: (gst_element_set_time_delay):
7810           add failure check
7811         * gst/gstinfo.h:
7812           put brackets around macro arguments of GST_TIME_ARGS, add note to
7813           move it to correct header in 0.9
7814
7815 2004-06-07  Benjamin Otte  <otte@gnome.org>
7816
7817         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
7818         (gst_file_index_load), (_file_index_id_save_entries),
7819         (gst_file_index_commit), (gst_file_index_add_association),
7820         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
7821         (gst_file_index_plugin_init):
7822           make debugging use a default category
7823
7824 2004-06-06  David Moore  <dcm@acm.org>
7825
7826         reviewed by Benjamin Otte  <otte@gnome.org>
7827
7828         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7829         (gst_fdsrc_change_state):
7830           reset offset counter when going READY => PAUSED. (fixes #142903)
7831
7832 2004-06-06  ed@catmur.co.uk
7833
7834         reviewed by Benjamin Otte  <otte@gnome.org>
7835
7836         * gst/registries/gstxmlregistry.c:
7837         (gst_xml_registry_rebuild_recurse):
7838           don't rely on g_dir_open to figure out if a file is a directory, use
7839           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
7840           directories. (fixes #142850)
7841
7842 2004-06-06  Benjamin Otte  <otte@gnome.org>
7843
7844         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
7845           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
7846         * libs/gst/bytestream/adapter.c:
7847         * libs/gst/bytestream/adapter.h:
7848           fix copyright in header and typo in debugging category name
7849
7850 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7851
7852         * configure.ac:
7853           bump nano to cvs
7854
7855 === release 0.8.3 ===
7856
7857 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7858
7859         * configure.ac:
7860           update libtool versioning
7861           do a new release
7862         * docs/gst/tmpl/gstelement.sgml:
7863         * docs/gst/tmpl/gsttypes.sgml:
7864         * gst/gstinfo.c: (_gst_debug_init):
7865           put back GST_CAT_DATAFLOW to fix API breakage
7866
7867 2004-06-04  David Schleef  <ds@schleef.org>
7868
7869         * autogen.sh: Add a temporary 'env' to test buildbot problems.
7870
7871 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7872
7873         * configure.ac:
7874           bump nano to cvs
7875
7876 === release 0.8.2 ===
7877
7878 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7879
7880         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
7881           check GST_DEBUG environment variable which is parsed the same way
7882           as --gst-debug=
7883
7884 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7885
7886         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
7887                             gstmd5sink.c gstshaper.c gsttee.c
7888                             gsttypefindelement.c
7889         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
7890
7891           - removing trailing commas at end of enums
7892             it is correct C99 code but C90 compilers would complain
7893             (AIX, Forte, ...)
7894             ('should' fix #143290, at least partially)
7895
7896 2004-05-27  Wim Taymans  <wim@fluendo.com>
7897
7898         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
7899         (chain_group_set_enabled), (create_group), (add_to_group),
7900         (merge_groups), (setup_group_scheduler), (group_elements),
7901         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
7902         Don't try to follow the pad connections with other groups
7903         when a loop based element is added to the scheduler because
7904         the bin will inform the scheduler about the pad links a little
7905         later.
7906
7907 2004-05-27  Wim Taymans  <wim@fluendo.com>
7908
7909         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7910         (remove_from_chain), (chain_group_set_enabled),
7911         (setup_group_scheduler), (group_element_set_enabled),
7912         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
7913         (gst_opt_scheduler_show):
7914         Elements without a group can do a state change as well, just wait
7915         with the setup of the scheduling function when it is added to a
7916         chain.
7917
7918 2004-05-27  Wim Taymans  <wim@fluendo.com>
7919
7920         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7921         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
7922         (merge_groups), (setup_group_scheduler),
7923         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
7924         (gst_opt_scheduler_show):
7925         Fixes to maintain internal consistency of the scheduler data
7926         structures. 
7927          - adding an enabled group to a chain should increment the
7928            number of enabled elements in that chain.
7929          - removing an enabled group from a chain could disable the
7930            chain.
7931          - removing a disabled group from a chain could enable the
7932            chain.
7933          - add g_assert when internal inconsistency is detected.
7934          - adding an element to a group could increase the number of
7935            links this group has with other groups.
7936          - merging two groups also merges the chains.
7937          - also show group links in the _show method.
7938            
7939
7940 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7941
7942         * gst/gstcaps.c: (gst_caps_structure_simplify):
7943           don't print error messages when there is no error
7944         * gst/gstvalue.c: (gst_value_compare_int_range):
7945           compare the second value, too
7946         * testsuite/caps/Makefile.am:
7947         * testsuite/caps/random.c: (assert_on_error), (main):
7948           add tests to make sure the two things above are checked for
7949
7950 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7951
7952         * configure.ac:
7953         * libs/gst/dataprotocol/Makefile.am:
7954         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
7955         * libs/gst/dataprotocol/dataprotocol.h:
7956           wrap header in GST_ENABLE_NEW.  make code use it
7957
7958 2004-05-23  Johan Dahlin  <johan@gnome.org>
7959
7960         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
7961         so verbose and print GstElement signal names all the time.
7962
7963 2004-05-22  David Schleef  <ds@schleef.org>
7964
7965         * gst/registries/gstxmlregistry.c:
7966         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
7967         (bug #142957)
7968
7969 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7970
7971         * configure.ac:
7972           scrub cflags for glib2 so gcc doesn't complain when glib is in
7973           /usr/local
7974
7975 2004-05-21  Johan Dahlin  <johan@gnome.org>
7976
7977         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
7978         __GNUC__, patch from Brian Cameron, fixes bug #142804
7979
7980 2004-05-20  David Schleef  <ds@schleef.org>
7981
7982         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
7983         comparison code.  (bug #142819)
7984
7985 2004-05-20  Wim Taymans  <wim@fluendo.com>
7986
7987         * gst/gstbuffer.c: (gst_buffer_default_copy):
7988         * gst/gstbuffer.h:
7989         Added Comment to a flag.
7990         copy relevant flags in _buffer_copy.
7991
7992 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7993
7994         reviewed by: Wim Taymans <wim at fluendo dot com>
7995
7996         * gst/gstbuffer.h:
7997           add GST_BUFFER_IN_CAPS buffer flag
7998         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7999         (gst_structure_parse_any_list), (gst_structure_parse_list),
8000         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8001         * gst/gstvalue.c: (gst_value_serialize_any_list),
8002         (gst_value_transform_any_list_string),
8003         (gst_value_list_prepend_value), (gst_value_list_append_value),
8004         (gst_value_list_get_size), (gst_value_list_get_value),
8005         (gst_value_transform_list_string),
8006         (gst_value_transform_fixed_list_string),
8007         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8008         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8009         (_gst_value_initialize):
8010         * gst/gstvalue.h:
8011           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8012           < , > as a format.
8013         * testsuite/caps/string-conversions.c: (main):
8014           add regression tests for < >
8015
8016 2004-05-20  Johan Dahlin  <johan@gnome.org>
8017
8018         * docs/gst/Makefile.am (all-local): Re-add
8019
8020 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8021
8022         * docs/gst/Makefile.am:
8023         * docs/gst/gstreamer-docs.sgml:
8024         * docs/libs/Makefile.am:
8025         * docs/libs/gstreamer-libs-docs.sgml:
8026           fix distcheck issues
8027
8028 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8029
8030         * libs/gst/dataprotocol/Makefile.am:
8031           add to autotest
8032
8033 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8034
8035         * libs/gst/dataprotocol/Makefile.am:
8036         * libs/gst/dataprotocol/dataprotocol.c:
8037         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8038         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8039         * libs/gst/dataprotocol/dp-private.h:
8040           use GST macros to read/write fixed length ints
8041           add some more asserts
8042
8043 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8044
8045         * docs/libs/gstreamer-libs-docs.sgml:
8046         * docs/libs/gstreamer-libs-sections.txt:
8047           remove idct and putbits
8048         * configure.ac:
8049         * docs/libs/tmpl/gstdataprotocol.sgml:
8050         * libs/gst/Makefile.am:
8051         * libs/gst/dataprotocol/Makefile.am:
8052         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8053         (buffer_test), (caps_test), (event_test), (main):
8054         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8055         (gst_dp_dump_byte_array), (gst_dp_init),
8056         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8057         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8058         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8059         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8060         (gst_dp_validate_header), (gst_dp_validate_payload),
8061         (gst_dp_validate_packet), (plugin_init):
8062         * libs/gst/dataprotocol/dataprotocol.h:
8063         * libs/gst/dataprotocol/dp-private.h:
8064           add dataprotocol
8065
8066 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8067
8068         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8069           fix int variable deserialization and add a helper so we can actually
8070           debug this.
8071
8072 2004-05-18  David Schleef  <ds@schleef.org>
8073
8074         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8075           argv[0].  Calling yourself is probably not the best way to
8076           construct a test like this, btw.
8077
8078 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8079
8080         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8081           don't claim to be more intelligent than a scheduler when the
8082           scheduler claims the pipeline is stopped
8083         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8084         (safe_cothread_destroy),
8085         (gst_entry_scheduler_remove_all_cothreads),
8086         (gst_entry_scheduler_reset), (_remove_cothread),
8087         (gst_entry_scheduler_state_transition):
8088           hold off cothread destruction if we're not in main cothread
8089         * configure.ac:
8090         * testsuite/Makefile.am:
8091           add new test dir
8092         * testsuite/schedulers/.cvsignore:
8093         * testsuite/schedulers/Makefile.am:
8094           add tests
8095         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8096           check relinking and adding/removing elements from a running pipeline
8097         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8098           check unlinking in a running pipeline
8099         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8100           check unreffing a running pipeline
8101         * testsuite/schedulers/useless_iteration.c: (main):
8102           check iterating a pipeline that contains running threads works
8103
8104 2004-05-18  David Schleef  <ds@schleef.org>
8105
8106         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8107           is false.
8108
8109 2004-05-18  Wim Taymans  <wim@fluendo.com>
8110
8111         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8112         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8113         Fixed an error introduced with patch for 1.63. When setting
8114         a get based element as the entry point in a group, make sure
8115         to mark the group as GET based.
8116
8117 2004-05-18  Wim Taymans  <wim@fluendo.com>
8118
8119         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8120         (setup_group_scheduler), (loop_group_schedule_function),
8121         (gst_opt_scheduler_pad_link):
8122         Added some more debug info and fixed a bug where the group
8123         type was set to LOOP but it was in fact unknown.
8124
8125 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8126
8127         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8128           make resetting scheduler work twice in a row
8129
8130 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8131
8132         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8133         (CREATE_USERIALIZATION), (_gst_value_initialize),
8134         (gst_value_compare_float), (gst_value_serialize_float),
8135         (gst_value_deserialize_float), (gst_value_compare_enum),
8136         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8137           add serialization and comparison functions for long, int64, enum and
8138           float values
8139         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8140           use best serialization function in type hierarchy instead of only a
8141           matching one. This is required for enums to work.
8142         * gst/parse/grammar.y:
8143           use gst_caps_deserialize
8144         * testsuite/parse/Makefile.am:
8145           parse1 now works
8146         * testsuite/parse/parse1.c: (main):
8147           remove aggregator check, aggregator is broken, this test works now
8148           but fails because of bug #138012
8149         * testsuite/parse/parse2.c: (main):
8150           s/xvideosink/xvimagesink - this test looks a lot like we should
8151           disable it
8152
8153 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8154
8155         * gst/gstelement.c: (gst_element_class_init):
8156           whoops, store the signal id correctly
8157         * gst/schedulers/gstbasicscheduler.c:
8158         (gst_basic_scheduler_chain_wrapper):
8159           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8160           chain function isn't linked
8161
8162 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8163         * configure.ac:
8164         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8165         support until we decide where the flags should be used
8166         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8167         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8168         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8169         Output refused caps in the debug info
8170
8171 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8172
8173         * gst/elements/gstidentity.c: (gst_identity_chain):
8174           add duration debug
8175         * gst/gstinfo.c: (gst_debug_log_default):
8176           add timestamp
8177
8178 2004-05-13  Benjamin Otte  <otte@gnome.org>
8179
8180         * gst/gstpipeline.c: (gst_pipeline_dispose),
8181         (gst_pipeline_change_state):
8182           call gst_scheduler_reset on dispose (fixes #141416)
8183
8184 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8185
8186         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8187           compute mapsize correctly
8188         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8189           use correct datatypes when calling a varargs function
8190         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8191           push a DISCONT event as first thing
8192         * gst/gst_private.h:
8193         * gst/gstinfo.c: (_gst_debug_init):
8194           remove GST_DATAFLOW debugging category
8195         * gst/gstbin.c: (gst_bin_iterate):
8196           use GST_SCHEDULING category
8197         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8198         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8199         (gst_pad_call_get_function):
8200           add GST_DATAFLOW to easily track flow of buffers or events.
8201         * gst/gstqueue.c: (gst_queue_get_type),
8202         (gst_queue_handle_pending_events), (gst_queue_chain),
8203         (gst_queue_get), (gst_queue_handle_src_event):
8204           use own static debugging category GST_DATAFLOW for dataflow,
8205           use DEBUG category for showing which path events go, use LOG
8206           category for buffers.
8207
8208 2004-05-10  David Schleef  <ds@schleef.org>
8209
8210         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8211
8212 2004-05-10  David Schleef  <ds@schleef.org>
8213
8214         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8215         symbols, because otherwise we don't know what they are.  Thanks,
8216         the GStreamer team.
8217         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8218
8219 2004-05-10  David Schleef  <ds@schleef.org>
8220
8221         (from Steve Lhomme)
8222         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8223         are deleted.  Fix.
8224         * win32/Makefile.inspect:
8225         * win32/Makefile.launch:
8226         * win32/Makefile.register:
8227
8228 2004-05-10  David Schleef  <ds@schleef.org>
8229
8230         * gst/gstinfo.h: Add missing inline function.
8231         * gst/gsttrace.c: add include
8232         * gst/parse/grammar.y: remove unused code
8233         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8234         more portable.
8235         * tools/gst-register.c: wrap unistd.h
8236         
8237         More additions/fixes from Steve for the MSVC build.
8238         * win32/GStreamer.vcproj:
8239         * win32/Makefile:
8240         * win32/Makefile.inspect:
8241         * win32/Makefile.launch:
8242         * win32/Makefile.register:
8243         * win32/README.txt:
8244         * win32/gst-inspect.vcproj:
8245         * win32/gst-launch.vcproj:
8246         * win32/gst-register.vcproj:
8247         * win32/gstbytestream.def:
8248         * win32/gstbytestream.vcproj:
8249         * win32/gstconfig.h:
8250         * win32/gstelements.def:
8251         * win32/gstelements.vcproj:
8252         * win32/gstenumtypes.c:
8253         * win32/gstenumtypes.h:
8254         * win32/gstoptimalscheduler.def:
8255         * win32/gstoptimalscheduler.vcproj:
8256         * win32/gstreamer.def:
8257         * win32/gstspider.def:
8258         * win32/gstspider.vcproj:
8259         * win32/gstversion.h:
8260         * win32/msvc71.sln:
8261
8262 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8263
8264         * gst/gstelement.c: (gst_element_class_init),
8265         (gst_element_no_more_pads):
8266         * gst/gstelement.h:
8267           add gst_element_no_more_pads and the "no-more-pads" signal
8268
8269 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8270
8271         * gst/gstregistry.c: (gst_registry_add_plugin):
8272           refuse to add plugins when a plugin with same name is already
8273           registered. Fixes a bunch of "How to remove plugins?" issues.
8274           May lead to other problems though, let's test
8275
8276 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8277
8278         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8279         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8280         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8281
8282 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8283
8284         * tests/Makefile.am: fix am16 issue
8285
8286 2004-05-09  Benjamin Otte  <otte@gnome.org>
8287
8288         * libs/gst/bytestream/Makefile.am:
8289           we should indeed add .c files to makefiles or they won't be built
8290           (d'oh)
8291
8292 2004-05-08  Benjamin Otte  <otte@gnome.org>
8293
8294         * gst/gstpad.c: (gst_pad_proxy_fixate):
8295           really reduce the set of caps
8296
8297 2004-05-08  Benjamin Otte  <otte@gnome.org>
8298
8299         * tests/Makefile.am:
8300         * tests/spidey_bench.c: (handoff), (main):
8301           add benchmark to test how long spider needs to create a pipeline
8302
8303 2004-05-08  Benjamin Otte  <otte@gnome.org>
8304
8305         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8306           mark links as unengaged when unnegotiating instead of deactivating.
8307           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8308
8309 2004-05-08  Benjamin Otte  <otte@gnome.org>
8310
8311         * docs/manual/helloworld.xml:
8312           s/audiosink/osssink (patch by Patrick Guimond)
8313
8314 2004-05-07  David Schleef  <ds@schleef.org>
8315
8316         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8317         since it contains important stuff.
8318
8319 2004-05-07  David Schleef  <ds@schleef.org>
8320
8321         * testsuite/caps/caps.c: (test3), (main): A check for appending
8322         ANY caps.
8323
8324 2004-05-07  David Schleef  <ds@schleef.org>
8325
8326         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8327         which may contain commas.  Fixes detection of -Wa,-mregnames
8328
8329 2004-05-06  David Schleef  <ds@schleef.org>
8330
8331         Changes to handle compilers that don't have variadic macro
8332         support.  In particular, glib headers define some inlines
8333         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8334         builds.
8335         * gst/Makefile.am:
8336         * gst/cothreads.c:
8337         * gst/elements/gstfdsink.c:
8338         * gst/elements/gstfdsrc.c:
8339         * gst/elements/gstfilesink.c:
8340         * gst/elements/gstfilesrc.c:
8341         * gst/gst_private.h:
8342         * gst/gstatomic.c:
8343         * gst/gstcaps.c: (gst_caps_append):
8344         * gst/gstcpu.c: (gst_cpuid_i386):
8345         * gst/gstelement.c:
8346         * gst/gsterror.c:
8347         * gst/gstfilter.c:
8348         * gst/gstinfo.h:
8349         * gst/gstprobe.c:
8350         * gst/gstquery.c:
8351         * gst/gstregistry.c:
8352         * gst/gststructure.c:
8353         * gst/gsttaginterface.c:
8354         * gst/gsttrace.c: (gst_trace_new):
8355         * gst/gsttrashstack.c:
8356         * gst/gsturi.c:
8357         * gst/gstvalue.c:
8358         * gst/parse/grammar.y:
8359         * gst/parse/parse.l:
8360         * tools/gst-inspect.c: (main):
8361         * tools/gst-launch.c: (main):
8362         * tools/gst-xmlinspect.c: (PUT_STRING):
8363
8364 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8365
8366         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8367         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8368         * gst/elements/gstfilesrc.h:
8369           send NEW_MEDIA events correctly
8370         * gst/elements/gsttypefindelement.c: (start_typefinding),
8371         (gst_type_find_element_handle_event):
8372           restart typefinding when we get a NEW_MEDIA event
8373         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8374         (gst_bin_dispose):
8375           don't die when someone removes elements in callbacks
8376         * gst/gstelement.c: (gst_element_change_state):
8377           improve debugging
8378         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8379           we need a NEW_MEDIA event to engage a link
8380         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8381           don't g_print debugging stuff
8382         * testsuite/caps/simplify.c: (check_caps):
8383
8384 2004-05-04  Benjamin Otte  <otte@gnome.org>
8385
8386         * gst/parse/grammar.y:
8387           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8388
8389 2004-05-04  Benjamin Otte  <otte@gnome.org>
8390
8391         * testsuite/caps/renegotiate.c: (main):
8392           improve output in error case
8393
8394 2004-05-04  Benjamin Otte  <otte@gnome.org>
8395
8396         * gst/parse/grammar.y:
8397           fix assert to not trigger when there's no error argument
8398         * gst/parse/parse.l:
8399           fix definition of caps to allow more than two structures
8400         * testsuite/caps/Makefile.am:
8401         * testsuite/caps/renegotiate.c: (main):
8402           it's sinesrc and works in that case
8403
8404 2004-05-04  Wim Taymans  <wim@fluendo.com>
8405
8406         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8407         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8408         when removing an element from a group, we always need to
8409         decrement the link count that this group had with other 
8410         groups through the element.
8411         added an extra assert to catch inconsistencies when decrementing
8412         the link count.
8413
8414 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8415
8416         * configure.ac:
8417         * docs/gst/Makefile.am:
8418         * docs/gst/gstreamer-sections.txt:
8419         * docs/gst/tmpl/gstcompat.sgml:
8420         * examples/appreader/Makefile.am:
8421         * examples/cutter/Makefile.am:
8422         * examples/events/Makefile.am:
8423         * examples/helloworld/Makefile.am:
8424         * examples/helloworld2/Makefile.am:
8425         * examples/launch/Makefile.am:
8426         * examples/manual/Makefile.am:
8427         * examples/mixer/Makefile.am:
8428         * examples/pingpong/Makefile.am:
8429         * examples/plugins/Makefile.am:
8430         * examples/queue/Makefile.am:
8431         * examples/queue2/Makefile.am:
8432         * examples/queue3/Makefile.am:
8433         * examples/queue4/Makefile.am:
8434         * examples/retag/Makefile.am:
8435         * examples/thread/Makefile.am:
8436         * examples/typefind/Makefile.am:
8437         * examples/xml/Makefile.am:
8438         * gst/Makefile.am:
8439         * gst/autoplug/Makefile.am:
8440         * gst/elements/Makefile.am:
8441         * gst/gstcompat.h:
8442         * gst/indexers/Makefile.am:
8443         * gst/parse/Makefile.am:
8444         * gst/registries/Makefile.am:
8445         * gst/schedulers/Makefile.am:
8446         * libs/gst/bytestream/Makefile.am:
8447         * libs/gst/control/Makefile.am:
8448         * libs/gst/getbits/Makefile.am:
8449         * po/af.po:
8450         * po/az.po:
8451         * po/en_GB.po:
8452         * po/fr.po:
8453         * po/nl.po:
8454         * po/sr.po:
8455         * po/sv.po:
8456         * po/tr.po:
8457         * po/uk.po:
8458         * tests/Makefile.am:
8459         * tests/bufspeed/Makefile.am:
8460         * tests/instantiate/Makefile.am:
8461         * tests/memchunk/Makefile.am:
8462         * tests/muxing/Makefile.am:
8463         * tests/negotiation/Makefile.am:
8464         * tests/probes/Makefile.am:
8465         * tests/sched/Makefile.am:
8466         * tests/seeking/Makefile.am:
8467         * tests/threadstate/Makefile.am:
8468         * testsuite/caps/Makefile.am:
8469         * testsuite/cleanup/Makefile.am:
8470         * testsuite/dlopen/Makefile.am:
8471         * testsuite/dynparams/Makefile.am:
8472         * testsuite/plugin/Makefile.am:
8473         * testsuite/states/Makefile.am:
8474         * tools/Makefile.am:
8475           reorganize compile/link flags to be consistent
8476           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
8477
8478 2004-05-04  David Schleef  <ds@schleef.org>
8479
8480         The "once more, with feeling" check-in.
8481         * testsuite/caps/Makefile.am: dist caps_strings
8482         * testsuite/caps/renegotiate.c: (main): This test triggers a
8483           segfault in the core.  Marking as failing.
8484
8485 2004-05-03  David Schleef  <ds@schleef.org>
8486
8487         * testsuite/caps/deserialize.c: (main): Fix problems noticed
8488           by the build bots.
8489         * testsuite/caps/renegotiate.c: (main): Same.
8490
8491 2004-05-03  David Schleef  <ds@schleef.org>
8492
8493         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
8494
8495 2004-05-03  David Schleef  <ds@schleef.org>
8496
8497         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
8498           variable to find our source file.
8499
8500 2004-05-03  David Schleef  <ds@schleef.org>
8501
8502         * configure.ac:  Link plugins with libgstreamer and dependent
8503           libraries
8504         * testsuite/caps/Makefile.am:
8505         * testsuite/caps/caps_strings:
8506         * testsuite/caps/deserialize.c: (main): Add a little test to slog
8507           through a file of caps strings and test each one
8508
8509 2004-05-04  Benjamin Otte  <otte@gnome.org>
8510
8511         * libs/gst/bytestream/Makefile.am:
8512         * libs/gst/bytestream/adapter.c: 
8513         * libs/gst/bytestream/adapter.h:
8514           add GstAdapter, similar to bytestream, but doesn't require ugly event
8515           handling or uglier loopbased elements
8516
8517 2004-05-03  David Schleef  <ds@schleef.org>
8518
8519         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
8520         * testsuite/caps/erathostenes.c:
8521         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
8522
8523 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8524
8525         * docs/pwg/pwg.xml:
8526           remove hardcoded stylesheet path (duh)
8527         * docs/random/release:
8528         * docs/gst/gstreamer-sections.txt:
8529         * gst/Makefile.am:
8530         * gst/gst.h:
8531         * gst/gst_private.h:
8532         * gst/gstcaps.c:
8533         * gst/gstevent.c:
8534         * gst/gstformat.c:
8535         * gst/gstinfo.c:
8536         * gst/gstinfo.h:
8537         * gst/gstinterface.c:
8538         * gst/gstmemchunk.c:
8539         * gst/gstprobe.c:
8540         * gst/gstquery.c:
8541         * gst/gstregistry.c:
8542         * gst/gstregistrypool.c:
8543         * gst/gststructure.c:
8544         * gst/gsttaginterface.c:
8545         * gst/gstthread.c:
8546         * gst/gsttrace.c:
8547         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
8548         * gst/gsturi.c:
8549         * gst/gstvalue.c:
8550           deprecate gst_info; remove gstlog.h
8551    
8552
8553 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8554
8555         * Makefile.am:
8556         * po/en_GB.po:
8557         * po/sv.po:
8558         * po/uk.po:
8559           updated translations
8560
8561 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8562
8563         * gst/gstbin.c: (gst_bin_dispose):
8564           better debugging
8565
8566 2004-05-03  Johan Dahlin  <johan@gnome.org>
8567
8568         * gst/schedulers/gstoptimalscheduler.c
8569         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
8570         really is a GstElement. Avoids critical when running gst-launch -v
8571         and a oggdemux/decoding pipeline.
8572
8573 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8574
8575         * docs/gst/tmpl/gstpipeline.sgml :
8576         * docs/manual/elements-api.xml :
8577                 doc fix by Patrick Guimond (Protector) from devel ML
8578                 reviewed by ronald
8579
8580 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8581
8582         * docs/gst/Makefile.am :
8583         * docs/libs/Makefile.am :
8584                 apply a patch from Arwed v. Merkatz so that gtk-doc
8585                 generated docs install (same for .devhelp file)
8586                 (fixes part 1 of #138836)
8587
8588 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8589
8590         * docs/faq/dependencies.xml: typo
8591         * docs/faq/getting.xml :
8592             - fix download URL for new gstreamer site
8593             - hide sf.net download page as latest version aren't there
8594             - fix apt URLs
8595             - fill "get via CVS" paragraph (link to dev page on the site)
8596         * docs/faq/general.xml:
8597             hide status tables as they no more exists
8598             change case on plugins license file to reflect reality
8599         * docs/faq/troubleshooting.xml:
8600             remove the wiki question/answer as there is no more wiki
8601
8602 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8603
8604         * gst/gsterror.h:
8605           include the headers needed for declarations used in this header
8606
8607 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8608
8609         * docs/random/uraeus/gstreamer_and_midi.txt :
8610           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
8611           (fixes #132288)
8612
8613 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
8614
8615         reviewed by Benjamin Otte  <otte@gnome.org>
8616
8617         * gst/schedulers/gthread-cothreads.h:
8618           free allocated data for main cothread, too when destroying context
8619           (fixes #141417)
8620
8621 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8622
8623         * docs/manual/goals.xml : remove duplicated paragraph at end 
8624         of doc page (fixes #141448)
8625
8626 2004-04-29  David Schleef  <ds@schleef.org>
8627
8628         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
8629         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
8630
8631 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8632
8633         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8634           fix property
8635         * gst/gstcaps.c:
8636           fix doc string
8637         * po/POTFILES.in:
8638           rename typefind source file
8639
8640 2004-04-28  David Schleef  <ds@schleef.org>
8641
8642         Several new files from Steve Lhomme's MSVC patch (bug #141317):
8643         * win32/GStreamer.vcproj:
8644         * win32/Makefile:
8645         * win32/config.h:
8646         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8647         (_trewinddir), (_ttelldir), (_tseekdir):
8648         * win32/dirent.h:
8649         * win32/gst-inspect.vcproj:
8650         * win32/gst-launch.vcproj:
8651         * win32/gst-register.vcproj:
8652         * win32/gstbytestream.vcproj:
8653         * win32/gstelements.vcproj:
8654         * win32/gstoptimalscheduler.vcproj:
8655         * win32/gstspider.vcproj:
8656         * win32/gtchar.h:
8657         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
8658         * win32/mman.h:
8659         * win32/mman.inl:
8660         * win32/msvc71.sln:
8661
8662 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8663
8664         * gst/gst.c: (init_post):
8665         * gst/gstinfo.c:
8666           remove useless _gst_progname stuff
8667         * tools/gst-inspect.c: (print_field), (print_caps):
8668           improve caps output
8669
8670 2004-04-28  David Schleef  <ds@schleef.org>
8671
8672         Disable parsing of a lot of files that aren't part of the
8673         exported API.  Move corresponding template files to old/,
8674         waiting for removal when they don't contain anything
8675         interesting.
8676         * docs/gst/Makefile.am:
8677         * docs/gst/gstreamer-sections.txt:
8678         * docs/gst/tmpl/cothreads.sgml:
8679         * docs/gst/tmpl/cothreads_compat.sgml:
8680         * docs/gst/tmpl/gettext.sgml:
8681         * docs/gst/tmpl/gobject2gtk.sgml:
8682         * docs/gst/tmpl/grammar.tab.sgml:
8683         * docs/gst/tmpl/gst-i18n-app.sgml:
8684         * docs/gst/tmpl/gst-i18n-lib.sgml:
8685         * docs/gst/tmpl/gst_private.sgml:
8686         * docs/gst/tmpl/gstaggregator.sgml:
8687         * docs/gst/tmpl/gstarch.sgml:
8688         * docs/gst/tmpl/gstatomic_impl.sgml:
8689         * docs/gst/tmpl/gstbufferstore.sgml:
8690         * docs/gst/tmpl/gstdata_private.sgml:
8691         * docs/gst/tmpl/gstdisksink.sgml:
8692         * docs/gst/tmpl/gstdisksrc.sgml:
8693         * docs/gst/tmpl/gstelementfactory.sgml:
8694         * docs/gst/tmpl/gstextratypes.sgml:
8695         * docs/gst/tmpl/gstfakesink.sgml:
8696         * docs/gst/tmpl/gstfakesrc.sgml:
8697         * docs/gst/tmpl/gstfdsink.sgml:
8698         * docs/gst/tmpl/gstfdsrc.sgml:
8699         * docs/gst/tmpl/gstfilesink.sgml:
8700         * docs/gst/tmpl/gstfilesrc.sgml:
8701         * docs/gst/tmpl/gsthttpsrc.sgml:
8702         * docs/gst/tmpl/gstidentity.sgml:
8703         * docs/gst/tmpl/gstindexfactory.sgml:
8704         * docs/gst/tmpl/gstmarshal.sgml:
8705         * docs/gst/tmpl/gstmd5sink.sgml:
8706         * docs/gst/tmpl/gstmultidisksrc.sgml:
8707         * docs/gst/tmpl/gstmultifilesrc.sgml:
8708         * docs/gst/tmpl/gstpadtemplate.sgml:
8709         * docs/gst/tmpl/gstpipefilter.sgml:
8710         * docs/gst/tmpl/gstschedulerfactory.sgml:
8711         * docs/gst/tmpl/gstsearchfuncs.sgml:
8712         * docs/gst/tmpl/gstshaper.sgml:
8713         * docs/gst/tmpl/gstspider.sgml:
8714         * docs/gst/tmpl/gstspideridentity.sgml:
8715         * docs/gst/tmpl/gststatistics.sgml:
8716         * docs/gst/tmpl/gsttee.sgml:
8717         * docs/gst/tmpl/gsttimecache.sgml:
8718         * docs/gst/tmpl/gsttypefind.sgml:
8719         * docs/gst/tmpl/gsttypefindfactory.sgml:
8720         * docs/gst/tmpl/gstxmlregistry.sgml:
8721         * docs/gst/tmpl/gthread-cothreads.sgml:
8722         * docs/gst/tmpl/old/cothreads.sgml:
8723         * docs/gst/tmpl/old/cothreads_compat.sgml:
8724         * docs/gst/tmpl/old/gettext.sgml:
8725         * docs/gst/tmpl/old/gobject2gtk.sgml:
8726         * docs/gst/tmpl/old/grammar.tab.sgml:
8727         * docs/gst/tmpl/old/gst-i18n-app.sgml:
8728         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
8729         * docs/gst/tmpl/old/gst_private.sgml:
8730         * docs/gst/tmpl/old/gstaggregator.sgml:
8731         * docs/gst/tmpl/old/gstarch.sgml:
8732         * docs/gst/tmpl/old/gstatomic_impl.sgml:
8733         * docs/gst/tmpl/old/gstbufferstore.sgml:
8734         * docs/gst/tmpl/old/gstdata_private.sgml:
8735         * docs/gst/tmpl/old/gstdisksink.sgml:
8736         * docs/gst/tmpl/old/gstdisksrc.sgml:
8737         * docs/gst/tmpl/old/gstelementfactory.sgml:
8738         * docs/gst/tmpl/old/gstextratypes.sgml:
8739         * docs/gst/tmpl/old/gstfakesink.sgml:
8740         * docs/gst/tmpl/old/gstfakesrc.sgml:
8741         * docs/gst/tmpl/old/gstfdsink.sgml:
8742         * docs/gst/tmpl/old/gstfdsrc.sgml:
8743         * docs/gst/tmpl/old/gstfilesink.sgml:
8744         * docs/gst/tmpl/old/gstfilesrc.sgml:
8745         * docs/gst/tmpl/old/gsthttpsrc.sgml:
8746         * docs/gst/tmpl/old/gstidentity.sgml:
8747         * docs/gst/tmpl/old/gstindexfactory.sgml:
8748         * docs/gst/tmpl/old/gstmarshal.sgml:
8749         * docs/gst/tmpl/old/gstmd5sink.sgml:
8750         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
8751         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
8752         * docs/gst/tmpl/old/gstpadtemplate.sgml:
8753         * docs/gst/tmpl/old/gstpipefilter.sgml:
8754         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
8755         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
8756         * docs/gst/tmpl/old/gstshaper.sgml:
8757         * docs/gst/tmpl/old/gstspider.sgml:
8758         * docs/gst/tmpl/old/gstspideridentity.sgml:
8759         * docs/gst/tmpl/old/gststatistics.sgml:
8760         * docs/gst/tmpl/old/gsttee.sgml:
8761         * docs/gst/tmpl/old/gsttimecache.sgml:
8762         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
8763         * docs/gst/tmpl/old/gstxmlregistry.sgml:
8764         * docs/gst/tmpl/old/gthread-cothreads.sgml:
8765         * docs/gst/tmpl/old/types.sgml:
8766         * docs/gst/tmpl/types.sgml:
8767
8768         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
8769         gtkdoc-scan doesn't like files with the same name in different
8770         directories.
8771         * gst/elements/Makefile.am:
8772         * gst/elements/gstelements.c:
8773         * gst/elements/gsttypefind.c: 
8774         * gst/elements/gsttypefind.h:
8775         * gst/elements/gsttypefindelement.c:
8776         * gst/elements/gsttypefindelement.h:
8777
8778 2004-04-28  David Schleef  <ds@schleef.org>
8779
8780         A bunch of portability fixes, derived from Steve Lhomme's MSVC
8781         patch (bug #141317):
8782         * gst/gst-i18n-lib.h: Allow disabling gettext.
8783         * gst/gstatomic_impl.h: disable warning when it's dumb.
8784         * gst/gstclock.c: fix include
8785         * gst/gstcompat.h: fix variadic macro
8786         * gst/gstinfo.c: fix include
8787         * gst/gstmacros.h: add defines for inlines on MSVC
8788         * gst/gstplugin.c: fix includes
8789         * gst/gstregistry.c: fix includes
8790         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
8791         * gst/gstsystemclock.c: fix include
8792         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
8793         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
8794         * gst/registries/gstxmlregistry.c:
8795         (gst_xml_registry_parse_element_factory): fix use of non-portable
8796         functions
8797         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
8798         * libs/gst/control/dparammanager.h: same
8799
8800 2004-04-28  David Schleef  <ds@schleef.org>
8801
8802         Move a bunch of unused files to old/ with names that are
8803         not case-insensitive-unique.  These files still contain some
8804         useful information that needs to be merged into gstbin.sgml,
8805         etc., so they shouldn't be deleted yet.
8806         * docs/gst/tmpl/GstBin.sgml:
8807         * docs/gst/tmpl/GstBuffer.sgml:
8808         * docs/gst/tmpl/GstCaps.sgml:
8809         * docs/gst/tmpl/GstClock.sgml:
8810         * docs/gst/tmpl/GstCompat.sgml:
8811         * docs/gst/tmpl/GstData.sgml:
8812         * docs/gst/tmpl/GstElement.sgml:
8813         * docs/gst/tmpl/GstEvent.sgml:
8814         * docs/gst/tmpl/GstIndex.sgml:
8815         * docs/gst/tmpl/GstStructure.sgml:
8816         * docs/gst/tmpl/GstTag.sgml:
8817         * docs/gst/tmpl/old/GstBin.sgml:
8818         * docs/gst/tmpl/old/GstBuffer.sgml:
8819         * docs/gst/tmpl/old/GstCaps.sgml:
8820         * docs/gst/tmpl/old/GstClock.sgml:
8821         * docs/gst/tmpl/old/GstCompat.sgml:
8822         * docs/gst/tmpl/old/GstData.sgml:
8823         * docs/gst/tmpl/old/GstElement.sgml:
8824         * docs/gst/tmpl/old/GstEvent.sgml:
8825         * docs/gst/tmpl/old/GstIndex.sgml:
8826         * docs/gst/tmpl/old/GstStructure.sgml:
8827         * docs/gst/tmpl/old/GstTag.sgml:
8828
8829 2004-04-28  David Schleef  <ds@schleef.org>
8830
8831         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
8832         (gst_caps_append), (gst_caps_append_structure),
8833         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
8834         (gst_caps_set_simple), (gst_caps_set_simple_valist),
8835         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
8836         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
8837         (gst_caps_intersect), (gst_caps_normalize),
8838         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
8839         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
8840         * gst/gstcaps.h: use GST_IS_CAPS().
8841
8842 2004-04-26  David Schleef  <ds@schleef.org>
8843
8844         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
8845         assembly.  gcc doesn't handle it correctly. (bug #141083)
8846         * gst/gsttrashstack.h: same
8847
8848 2004-04-25  Benjamin Otte  <otte@gnome.org>
8849
8850         * gst/gstelement.c: (gst_element_change_state):
8851           fix assertion to do an int comparison
8852
8853 2004-04-25  Benjamin Otte  <otte@gnome.org>
8854
8855         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8856           better debugging output on error
8857
8858 2004-04-25  Benjamin Otte  <otte@gnome.org>
8859
8860         * gst/gstcaps.c: (gst_caps_subtract):
8861           fix memleak
8862
8863 2004-04-23  Benjamin Otte  <otte@gnome.org>
8864
8865         * gst/gstvalue.c: (gst_value_compare_buffer),
8866         (_gst_value_initialize):
8867           add comparison function for buffers
8868
8869 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8870
8871         * docs/pwg/pwg.xml:
8872           Just found out that this so-called "ima-wav" format is really
8873           just "dvi adpcm" (according to the MS WAV documentation). So
8874           renaming it. We didn't use it yet anyway.
8875
8876 2004-04-23  Benjamin Otte  <otte@gnome.org>
8877
8878         * gst/gstcaps.c: (gst_caps_is_always_compatible):
8879           call gst_caps_is_subset
8880
8881 2004-04-23  Benjamin Otte  <otte@gnome.org>
8882
8883         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
8884         (gst_caps_is_subset):
8885           add documentation
8886
8887 2004-04-23  Benjamin Otte  <otte@gnome.org>
8888           
8889         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
8890         (gst_caps_structure_subtract), (gst_caps_subtract),
8891         (gst_caps_structure_figure_out_union),
8892         (gst_caps_structure_simplify), (gst_caps_do_simplify):
8893           fix simplifying and subtracting not working correctly with optional
8894           properties
8895           solve assorted problems that make it now simplify ebven more
8896         * docs/gst/tmpl/gstcaps.sgml:
8897         * gst/gstcaps.h:
8898           make gst_caps_do_simplify return a bool to indicate if it simplified
8899         * testsuite/caps/simplify.c: (main):
8900           add more checks. The tests is quite a bit useless right now because
8901           the core is heavily simplifying itself.
8902         * testsuite/caps/caps.h:
8903           fix caps to contain all optional properties
8904
8905 2004-04-22  Benjamin Otte  <otte@gnome.org>
8906
8907         * docs/gst/tmpl/gstcaps.sgml:
8908         * docs/gst/tmpl/gstfilesrc.sgml:
8909         * docs/gst/tmpl/gststructure.sgml:
8910         * docs/gst/tmpl/gstvalue.sgml:
8911           update for recent API changes
8912         * gst/gstcaps.c: (gst_caps_do_simplify):
8913           fix to stop trying with a freed structure
8914         * gst/gstpad.c: (gst_pad_link_fixate):
8915           simplify caps
8916         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
8917           remove C++ comment
8918         * gst/gstpad.h:
8919           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
8920         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8921         (gst_structure_to_string):
8922           keep the correct type when using lists of ranges
8923         * gst/gstvalue.c: (gst_value_list_prepend_value),
8924         (gst_value_list_append_value):
8925           copy the value before adding to the list (d'oh)
8926         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
8927         (gst_value_subtract_int_range_int_range):
8928           handle overflows correctly
8929         * gst/gstvalue.c: (gst_value_subtract_from_list):
8930           fix memleak
8931         * testsuite/caps/caps.h:
8932           add a caps that caused segfaults
8933
8934 2004-04-22  Benjamin Otte  <otte@gnome.org>
8935
8936         * testsuite/refcounting/pad.c: (main):
8937           fix test
8938
8939 2004-04-22  Benjamin Otte  <otte@gnome.org>
8940
8941         * gst/gstcaps.c: (gst_caps_subtract):
8942           allow subtracting ANY and EMPTY from ANY caps
8943
8944 2004-04-22  Benjamin Otte  <otte@gnome.org>
8945
8946         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
8947         (gst_caps_union):
8948           only simplify in functions that create new caps. Simplifying in
8949           gst_caps_append breaks tests.
8950
8951 2004-04-22  Benjamin Otte  <otte@gnome.org>
8952
8953         * gst/gstcaps.c: (gst_caps_structure_simplify):
8954           unset GValue after use
8955         * gst/gstcaps.c: (gst_caps_append), 
8956         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
8957           use gst_caps_simplify (reduces registry size by 30%)
8958         * gst/gstpad.c: (gst_pad_template_new):
8959           don't allow NULL caps
8960
8961 2004-04-22  Benjamin Otte  <otte@gnome.org>
8962
8963         * docs/gst/gstreamer-sections.txt:
8964           add gst_caps_do_simplify
8965         * gst/gstcaps.c:
8966           add documentation for gst_caps_do_simplify
8967         * gst/gstvalue.h:
8968           fix typo in gst_value_register_subtract_func declaration for gst-doc
8969
8970 2004-04-22  Benjamin Otte  <otte@gnome.org>
8971
8972         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8973           fix bug when converting from empty string.
8974         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
8975         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
8976           use gst_caps_new_empty to allocate a new caps. Only that function
8977           allocates memory for caps now.
8978         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
8979         (gst_caps_remove_structure):
8980           add ability to remove one structure (but not to header yet)
8981         * gst/gstcaps.c: (gst_caps_compare_structures),
8982         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
8983         (gst_caps_structure_simplify), (gst_caps_do_simplify),
8984         * gst/gstcaps.h:
8985           add gst_caps_do_simplify that tries to simplify a caps in place.
8986           Deprecate old gst_caps_simplify function.
8987         * testsuite/caps/caps.h:
8988           add caps.h containing a common set of caps to test against.
8989         * testsuite/caps/sets.c: (check_caps), (main):
8990           use it.
8991         * testsuite/caps/.cvsignore:
8992         * testsuite/caps/Makefile.am:
8993         * testsuite/caps/simplify.c: (check_caps), (main):
8994           add test to check correctness and efficency of caps simplification.
8995
8996 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
8997
8998         reviewed by Benjamin Otte  <otte@gnome.org>
8999
9000         * gst/gstparse.c: (_gst_parse_escape):
9001           Free the GString used in _gst_parse_escape()
9002
9003 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9004
9005         * gst/gstpad.c: (gst_pad_link_negotiate):
9006           refuse to link if the link is not possible
9007         * configure.ac:
9008         * testsuite/Makefile.am:
9009         * testsuite/negotiation/.cvsignore:
9010         * testsuite/negotiation/Makefile.am:
9011         * testsuite/negotiation/pad_link.c: (main):
9012           add test that checks the above behaviour
9013
9014 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9015
9016         * docs/gst/gstreamer-sections.txt:
9017           add newly added API
9018
9019 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9020
9021         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9022         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9023         (gst_filesrc_open_file), (gst_filesrc_close_file),
9024         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9025         * gst/elements/gstfilesrc.h:
9026           add support for non-regular files (#140734)
9027
9028 2004-04-21  Benjamin Otte  <otte@gnome.org>
9029
9030         * gst/gstpad.c: (gst_pad_link_fixate):
9031           add sophisticated error checking code to see if fixation functions
9032           did their fixation right
9033
9034 2004-04-21  Benjamin Otte  <otte@gnome.org>
9035
9036         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9037           check for ANY caps before appending/unioning
9038         * gst/gstcaps.c: (gst_caps_is_subset),
9039         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9040         (gst_caps_structure_subtract), (gst_caps_subtract):
9041         * gst/gstcaps.h:
9042           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9043           the API. deprecate gst_caps_is_equal_fixed
9044         * gst/gstpad.c: (gst_pad_try_set_caps):
9045         * gst/gstqueue.c: (gst_queue_link):
9046           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9047         * gst/gststructure.c: (gst_structure_get_name_id):
9048         * gst/gststructure.h:
9049           add function gst_structure_get_name_id
9050         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9051         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9052         (gst_value_subtract_int_range_int_range),
9053         (gst_value_subtract_double_double_range),
9054         (gst_value_subtract_double_range_double),
9055         (gst_value_subtract_double_range_double_range),
9056         (gst_value_subtract_from_list), (gst_value_subtract_list),
9057         (gst_value_can_intersect), (gst_value_subtract),
9058         (gst_value_can_subtract), (gst_value_register_subtract_func),
9059         (_gst_value_initialize):
9060         * gst/gstvalue.h:
9061           add support for subtracting values from each other. Note that
9062           subtracting means subtracting as in set theory. Required for caps
9063           stuff above.
9064         * testsuite/caps/.cvsignore:
9065         * testsuite/caps/Makefile.am:
9066         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9067         * testsuite/caps/sets.c: (check_caps), (main):
9068         * testsuite/caps/subtract.c: (check_caps), (main):
9069           add tests for subtraction and equality code.
9070
9071 2004-04-20  David Schleef  <ds@schleef.org>
9072
9073         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9074         * gst/indexers/Makefile.am:
9075         * gst/schedulers/Makefile.am:
9076         * libs/gst/bytestream/Makefile.am:
9077         * libs/gst/control/Makefile.am:
9078         * libs/gst/getbits/Makefile.am:
9079
9080 2004-04-20  David Schleef  <ds@schleef.org>
9081
9082         * common/as-libtool.mak: Fine-tune DLL building.
9083         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9084         (like gst-plugins)
9085         * examples/plugins/Makefile.am: remove plugindir
9086         * gst/autoplug/Makefile.am: DLL building fixes
9087         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9088         Windows.
9089         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9090         * gst/indexers/Makefile.am: DLL building fixes
9091         * gst/schedulers/Makefile.am: DLL building fixes.
9092         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9093         * libs/gst/control/Makefile.am: same
9094         * libs/gst/getbits/Makefile.am: same
9095         * testsuite/Makefile.am: New dlopen directory
9096         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9097         when dlopened.
9098         * testsuite/dlopen/dlopen_gst.c: (main): same
9099         * testsuite/dlopen/loadgst.c: (do_test): same
9100
9101 2004-04-20  David Schleef  <ds@schleef.org>
9102
9103         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9104         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9105
9106 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9107
9108         * gst/gstelement.c: (gst_element_wait),
9109         (gst_element_set_time_delay), (gst_element_change_state):
9110           Use GST_TIME_*
9111
9112 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9113
9114         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9115         (gst_spider_identity_plug):
9116           improve debugging messages
9117         * gst/gstbin.c: (gst_bin_remove_func):
9118           make sure the state_change function is only called with simple state
9119           transitions
9120
9121 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9122
9123         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9124         (gst_fakesink_set_property), (gst_fakesink_chain):
9125         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9126         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9127         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9128         * gst/elements/gstidentity.c: (gst_identity_chain),
9129         (gst_identity_set_property):
9130         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9131         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9132           add warnings to _set_property for unknown arguments
9133           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9134
9135 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9136
9137         * Makefile.am:
9138         * docs/manuals.mak:
9139           add .po file download snippet
9140           fix a bug in the doc makefile
9141
9142 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9143
9144         * Makefile.am:
9145         * po/LINGUAS:
9146         * po/en_GB.po:
9147           Added en_GB translation (Gareth Owen)
9148
9149 2004-04-20  Johan Dahlin  <johan@gnome.org>
9150
9151         * gst/gstpad.c (_invent_event): Clean up
9152
9153 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9154
9155         * testsuite/caps/filtercaps.c: (main):
9156           fix test to test things correctly (caps are complicated)
9157
9158 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9159
9160         * testsuite/caps/Makefile.am:
9161         * testsuite/caps/filtercaps.c: (main):
9162           add test (that doesn't work right now, but should)
9163
9164 2004-04-19  David Schleef  <ds@schleef.org>
9165
9166         * configure.ac: Add test for allowing unaligned access.  Add define
9167         to put in gstconfig.h.
9168         * docs/gst/gstreamer-sections.txt: New symbols
9169         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9170         * docs/gst/tmpl/gstfilesrc.sgml:
9171         * docs/gst/tmpl/gstparse.sgml:
9172         * docs/gst/tmpl/gsttypes.sgml:
9173         * docs/gst/tmpl/gstutils.sgml:
9174         * docs/gst/tmpl/gstvalue.sgml:
9175         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9176         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9177         on most !i386/!powerpc architectures.  From Daniel Gazard
9178         <daniel.gazard@free.fr>.  (bug #140156)
9179         * po/af.po: Check in changes made by gettext.
9180         * po/az.po:
9181         * po/fr.po:
9182         * po/nl.po:
9183         * po/sr.po:
9184         * po/sv.po:
9185
9186 2004-04-20  Benjamin Otte  <otte@gnome.org>
9187
9188         * gst/schedulers/entryscheduler.c: 
9189         (gst_entry_scheduler_yield):
9190           refuse to yield when decoupled elements insist on doing that.
9191           At least it's better than crashing
9192
9193 2004-04-19  David Schleef  <ds@schleef.org>
9194
9195         * docs/libs/Makefile.am: Change sinclude to include
9196         * docs/gst/Makefile.am: same
9197         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9198
9199 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9200
9201         * po/LINGUAS:
9202         * po/uk.po:
9203           Added Ukrainian translation (Maxim V. Dziumanenko)
9204
9205 2004-04-19  Johan Dahlin  <johan@gnome.org>
9206
9207         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9208         checking here, do it before calling the function.
9209         Clean up, use for loops instead of while loops while iterating
9210         over lists.
9211
9212         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9213         in debug message.
9214         (gst_spider_create_and_plug): Improve debug message.
9215         General: Replace while loops which iterates over GLists with for
9216         loops. Which are much cleaner, improves readability, especially
9217         for gst_spider_identity_plug
9218
9219         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9220         fixes bug 140477
9221
9222 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9223
9224         * po/LINGUAS:
9225         * po/tr.po:
9226           Added Turkish translation (Baris Cicek)
9227
9228 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9229
9230         * docs/faq/troubleshooting.xml:
9231           Mention gst-register in the FAQ (fixes 139045).
9232
9233 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9234
9235         * docs/gst/gstreamer-sections.txt:
9236
9237 2004-04-17  Benjamin Otte  <otte@gnome.org>
9238
9239         * gst/gstelement.c: (gst_element_dispose):
9240           simplify
9241         * gst/gstpad.c: (gst_pad_call_chain_function):
9242           don't create loads of events due to bad macro usage
9243
9244 2004-04-16  David Schleef  <ds@schleef.org>
9245
9246         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9247         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9248         * gst/gstvalue.c: (gst_value_serialize_buffer),
9249         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9250         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9251         to indicate types that are fixed wrt caps or not.  Switching to
9252         this function fixes (bug #140298).
9253         * gst/gstvalue.h:
9254
9255 2004-04-16  David Schleef  <ds@schleef.org>
9256
9257         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9258         for GST_UNALIGNED_ACESS, since we essentially know which archs
9259         are ok.
9260
9261 2004-04-17  Benjamin Otte  <otte@gnome.org>
9262
9263         * docs/gst/Makefile.am:
9264           ignore gst/parse directory when building docs (fixes #140205)
9265
9266 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9267
9268         * testsuite/refcounting/mem.c: (vmsize):
9269           do error checking
9270
9271 2004-04-16  Johan Dahlin  <johan@gnome.org>
9272
9273         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9274         and gst_pad_call_get_function.
9275
9276 2004-04-15  David Schleef  <ds@schleef.org>
9277
9278         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9279         checks if we can access unaligned memory.
9280         * configure.ac: Use it.
9281
9282 2004-04-16  Benjamin Otte  <otte@gnome.org>
9283
9284         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9285         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9286         * gst/elements/gstfilesrc.h:
9287           s/seek_happened/need_discont/ and require discont before sending any
9288           data
9289
9290 2004-04-15  David Schleef  <ds@schleef.org>
9291
9292         * gst/gstvalue.c: (gst_value_serialize_buffer),
9293         (gst_value_deserialize_buffer), (_gst_value_initialize):
9294         Register these types as fundamental types. (bug #140015)
9295
9296 2004-04-16  Benjamin Otte  <otte@gnome.org>
9297
9298         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9299         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9300         (gst_pad_pull):
9301           implement enforcing discont events before buffers are passed. This
9302           allows state changes of only some elements and later correctly going
9303           on where they left off (or in short: you can now set audio sinks to
9304           NULL to release the device when the pipeline is paused)
9305         * gst/gstpad.c: (gst_pad_call_chain_function),
9306         (gst_pad_call_get_function):
9307         * gst/gstpad.h:
9308           add gst_pad_call_chain_function and gst_pad_call_get_function for
9309           scheduler interaction. They are required because of the changes
9310           above.
9311         * gst/schedulers/entryscheduler.c: (get_buffer),
9312         (gst_entry_scheduler_chain_wrapper),
9313         (gst_entry_scheduler_get_wrapper),
9314         (gst_entry_scheduler_state_transition),
9315         (gst_entry_scheduler_pad_link):
9316         * gst/schedulers/gstbasicscheduler.c:
9317         (gst_basic_scheduler_chain_wrapper),
9318         (gst_basic_scheduler_src_wrapper),
9319         (gst_basic_scheduler_chainhandler_proxy),
9320         (gst_basic_scheduler_gethandler_proxy),
9321         (gst_basic_scheduler_cothreaded_chain),
9322         (gst_basic_scheduler_chain_elements):
9323         * gst/schedulers/gstoptimalscheduler.c:
9324         (get_group_schedule_function), (pad_clear_queued),
9325         (gst_opt_scheduler_pad_link):
9326           use the new functions instead of calling get/chain-functions
9327           directly.
9328
9329 2004-04-15  David Schleef  <ds@schleef.org>
9330
9331         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9332         * docs/gst/tmpl/gstinfo.sgml: same
9333         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9334         gtk-doc put here.
9335         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9336         * examples/queue/queue.c: (main):  We iterate pipelines, not
9337         bins.  (bug #139996)
9338
9339 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9340
9341         * docs/pwg/advanced-types.xml:
9342           Add MS RLE support. Also document Qt RLE although I have no sample
9343           files for that yet. And document an extra property for ADPCM.
9344
9345 2004-04-15  David Schleef  <ds@schleef.org>
9346
9347         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9348         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9349         Windows.
9350
9351 2004-04-15  David Schleef  <ds@schleef.org>
9352
9353         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9354         symbol names to not conflict with new gstinfo.h symbols.
9355         * gst/gstinfo.h: Add inline functions for all those crazy
9356         compilers that don't know how to handle variadic macros (MSVC).
9357
9358 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9359
9360         * configure.ac: bump nano to 1
9361
9362 === release 0.8.1 ===
9363
9364 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9365
9366         * NEWS:
9367         * RELEASE:
9368         * configure.ac:
9369           releasing 0.8.1, "Snow Brigade"
9370
9371 2004-04-14  David Schleef  <ds@schleef.org>
9372
9373         * testsuite/Makefile.am: define tests_ignore
9374         * testsuite/Rules: Added new tests_ignore, which get compiled,
9375         but not run (generally because they're inconsistent or have
9376         heisenbugs).  Now we can ensure all the .c files compile in
9377         testsuite/.
9378         * testsuite/bins/Makefile.am: define tests_ignore
9379         * testsuite/bytestream/Makefile.am:
9380         * testsuite/caps/Makefile.am:
9381         * testsuite/clock/Makefile.am:
9382         * testsuite/debug/Makefile.am:
9383         * testsuite/debug/global.c: (gst_debug_log_one),
9384         (gst_debug_log_two): Fix compilation problem.
9385         * testsuite/dynparams/Makefile.am:
9386         * testsuite/elements/Makefile.am:
9387         * testsuite/ghostpads/Makefile.am:
9388         * testsuite/indexers/Makefile.am:
9389         * testsuite/parse/Makefile.am:
9390         * testsuite/plugin/Makefile.am:
9391         * testsuite/refcounting/Makefile.am:
9392         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9393         results, because it's not calculated correctly.
9394         * testsuite/refcounting/pad.c: (main): same
9395         * testsuite/states/Makefile.am:
9396         * testsuite/tags/Makefile.am:
9397         * testsuite/threads/Makefile.am:
9398
9399 2004-04-14  David Schleef  <ds@schleef.org>
9400
9401         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9402         generating bad code around the cpu detection asm code.
9403
9404 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9405
9406         * tools/gst-inspect.c: (print_element_info):
9407           print numeric version of rank as well, since we added some - 1
9408           rank values to elements
9409
9410 2004-04-13  David Schleef  <ds@schleef.org>
9411
9412         * configure.ac:  Disable various code when compiling for MinGW.
9413         * gst/elements/Makefile.am:
9414         * gst/elements/gstelements.c:
9415         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9416         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9417         * gst/registries/gstxmlregistry.c: (make_dir):
9418
9419 2004-04-13  David Schleef  <ds@schleef.org>
9420
9421         * gst/Makefile.am:
9422         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9423         assembly.
9424         * gst/gstcpuid_i386.s: remove
9425
9426 2004-04-13  David Schleef  <ds@schleef.org>
9427
9428         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9429         seems to think it needs to be done.
9430         * docs/gst/tmpl/gstfakesink.sgml:
9431         * docs/gst/tmpl/gstfakesrc.sgml:
9432         * docs/gst/tmpl/gstfdsink.sgml:
9433         * docs/gst/tmpl/gstfdsrc.sgml:
9434         * docs/gst/tmpl/gstfilesink.sgml:
9435         * docs/gst/tmpl/gstfilesrc.sgml:
9436         * docs/gst/tmpl/gstidentity.sgml:
9437         * docs/gst/tmpl/gstmd5sink.sgml:
9438         * docs/gst/tmpl/gstmultifilesrc.sgml:
9439         * docs/gst/tmpl/gstpipefilter.sgml:
9440         * docs/gst/tmpl/gstshaper.sgml:
9441         * docs/gst/tmpl/gstspider.sgml:
9442         * docs/gst/tmpl/gstspideridentity.sgml:
9443         * docs/gst/tmpl/gststatistics.sgml:
9444         * docs/gst/tmpl/gsttee.sgml:
9445         * docs/gst/tmpl/gsttypefind.sgml:
9446         * docs/gst/tmpl/gstutils.sgml:
9447
9448 2004-04-13  David Schleef  <ds@schleef.org>
9449
9450         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9451         and to build DLLs on Windows.
9452         * gst/Makefile.am:
9453         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9454         (gst_filesrc_open_file):
9455         * gst/schedulers/Makefile.am:
9456
9457 2004-04-13  David Schleef  <ds@schleef.org>
9458
9459         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9460         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9461         fixating lists.
9462
9463 2004-04-12  David Schleef  <ds@schleef.org>
9464
9465         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9466         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9467         to using it.
9468         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9469         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9470         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9471         * gst/gststructure.c: (gst_structure_set_valist),
9472         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9473         support for buffers.
9474         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
9475         intended to be const.
9476         * gst/gsttag.h: same
9477         * gst/gstvalue.c: (gst_value_serialize_buffer),
9478         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
9479         to (de)serialize buffers.
9480         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
9481         * testsuite/caps/string-conversions.c: (main):
9482         * testsuite/caps/value_serialize.c: add new test
9483
9484 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9485
9486         * docs/pwg/advanced-types.xml:
9487           Document MS video 1 (video/x-msvideocodec) mimetype/format.
9488
9489 2004-04-11  Benjamin Otte  <otte@gnome.org>
9490
9491         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
9492           rename categories to basic_*
9493         * gst/schedulers/gstbasicscheduler.c: 
9494         (gst_basic_scheduler_chain_wrapper),
9495         (gst_basic_scheduler_chainhandler_proxy),
9496         (gst_basic_scheduler_gethandler_proxy),
9497         (gst_basic_scheduler_eventhandler_proxy):
9498           debugging category fixes - put common stuff in log category
9499         * gst/schedulers/gstbasicscheduler.c: 
9500         (gst_basic_scheduler_chain_elements):
9501           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
9502           active and linking two active chains
9503
9504 2004-04-10  Benjamin Otte  <otte@gnome.org>
9505
9506         * docs/pwg/intro-preface.xml:
9507           fix dead links and remove reference to Wiki
9508
9509 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9510
9511         * gst/schedulers/gstbasicscheduler.c:
9512           make sure we can switch back to the main function if we're still in
9513           the main function (supposed to fix #139617)
9514         * gst/schedulers/gthread-cothreads.h:
9515           don't throw an error when switching to the same cothread
9516
9517 2004-04-09  Benjamin Otte  <otte@gnome.org>
9518
9519         * gst/gstbin.c: (gst_bin_get_type):
9520         * gst/gstclock.c: (gst_clock_get_type):
9521         * gst/gstindex.c: (gst_index_get_type):
9522         * gst/gstobject.c: (gst_object_get_type),
9523         (gst_signal_object_get_type):
9524         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
9525         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
9526         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
9527         * gst/gstqueue.c: (gst_queue_get_type):
9528         * gst/gstregistry.c: (gst_registry_get_type):
9529         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9530         * gst/gstthread.c: (gst_thread_get_type):
9531           don't use memchunks for these objects, use malloc instead
9532
9533 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9534
9535         * docs/gst/.cvsignore:
9536         * docs/gst/Makefile.am:
9537         * docs/gst/gstreamer-sections.txt:
9538         * docs/gst/tmpl/gstaggregator.sgml:
9539         * docs/gst/tmpl/gstbuffer.sgml:
9540         * docs/gst/tmpl/gstclock.sgml:
9541         * docs/gst/tmpl/gstelement.sgml:
9542         * docs/gst/tmpl/gstfakesink.sgml:
9543         * docs/gst/tmpl/gstfakesrc.sgml:
9544         * docs/gst/tmpl/gstfdsink.sgml:
9545         * docs/gst/tmpl/gstfdsrc.sgml:
9546         * docs/gst/tmpl/gstfilesink.sgml:
9547         * docs/gst/tmpl/gstfilesrc.sgml:
9548         * docs/gst/tmpl/gstidentity.sgml:
9549         * docs/gst/tmpl/gstindex.sgml:
9550         * docs/gst/tmpl/gstinfo.sgml:
9551         * docs/gst/tmpl/gstmd5sink.sgml:
9552         * docs/gst/tmpl/gstmultifilesrc.sgml:
9553         * docs/gst/tmpl/gstpad.sgml:
9554         * docs/gst/tmpl/gstpipefilter.sgml:
9555         * docs/gst/tmpl/gstpipeline.sgml:
9556         * docs/gst/tmpl/gstpluginfeature.sgml:
9557         * docs/gst/tmpl/gstqueue.sgml:
9558         * docs/gst/tmpl/gstregistry.sgml:
9559         * docs/gst/tmpl/gstscheduler.sgml:
9560         * docs/gst/tmpl/gstshaper.sgml:
9561         * docs/gst/tmpl/gstspider.sgml:
9562         * docs/gst/tmpl/gstspideridentity.sgml:
9563         * docs/gst/tmpl/gststatistics.sgml:
9564         * docs/gst/tmpl/gstsystemclock.sgml:
9565         * docs/gst/tmpl/gsttee.sgml:
9566         * docs/gst/tmpl/gstthread.sgml:
9567         * docs/gst/tmpl/gsttypefind.sgml:
9568         * docs/gst/tmpl/gstutils.sgml:
9569           further doc build fixes
9570
9571 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9572
9573         * docs/gst/Makefile.am:
9574           make docs exit on scanning problems
9575           fix nonsrcdir build issues
9576         * docs/gst/gstreamer-sections.txt:
9577           adding stuff from -unused
9578         * gst/gstqueue.h:
9579           create GstQueueSize
9580         * gst/schedulers/cothreads_compat.h:
9581           fix cothread warnings
9582
9583 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9584
9585         * docs/gst/gstreamer-sections.txt:
9586           remove defines deprecated by Benjamin
9587
9588 2004-04-07  Benjamin Otte  <otte@gnome.org>
9589
9590         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9591           when the buffer is complete, don't check if other buffers are needed
9592         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
9593           check that the offset is >0 so we don't try to read before the
9594           beginning of the file
9595         * gst/gstpad.c: (gst_pad_set_pad_template):
9596           sink the template, so we don't end up with 130k pad templates
9597
9598 2004-04-06  Benjamin Otte  <otte@gnome.org>
9599
9600         * gst/autoplug/gstspider.c: (gst_spider_link_add):
9601           don't ref the element, adding already reffed it. And we didn't unref
9602           it later anyway... (huge memleak when you used many spider elements)
9603         * gst/gstelement.c: (gst_element_base_class_finalize):
9604         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
9605         (gst_element_register):
9606         * gst/gsturi.c: (gst_element_make_from_uri):
9607           use gst_object_(un)ref instead of g_object(un)ref
9608
9609 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9610
9611         * gst/gstbuffer.h:
9612           remove macro that wouldn't work anymore because struct member has
9613           been removed.
9614         * gst/schedulers/entryscheduler.c: (schedule_forward):
9615           fix segfault for unconnected pads
9616         
9617 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9618
9619         reviewed by David Schleef <ds@schleef.org>
9620
9621         * gst/gstinfo.h:
9622           *_FORMAT modifiers should require putting a % in front of them for
9623           consistency reasons.
9624
9625 2004-04-05  Colin Walters  <walters@redhat.com>
9626
9627         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
9628         space.
9629
9630 2004-04-05  Benjamin Otte  <otte@gnome.org>
9631
9632         * configure.ac:
9633         * gst/Makefile.am:
9634         * gst/gst_private.h:
9635         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
9636           add support for detecting if GStreamer runs inside valgrind.
9637           requires valgrind (d'oh) and --enable-debug for correct cdetection.
9638           print a big message in valgrind that GStreamer has detected it's
9639           running inside and might now use different code.
9640         * gst/gstmemchunk.c: (populate), (free_area),
9641         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
9642         (gst_mem_chunk_free):
9643           flag memchunks for valgrind, so it can detect leaking of chunks.
9644           This allows detecting leaks of GstBuffer and GstEvent correctly
9645           inside valgrind.
9646
9647 2004-04-05  David Schleef  <ds@schleef.org>
9648
9649         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
9650           jensgr@gmx.net (Jens Granseuer)
9651
9652 2004-04-05  David Schleef  <ds@schleef.org>
9653
9654         * gst/gstbuffer.c: (_gst_buffer_sub_free),
9655         (gst_buffer_default_free), (gst_buffer_default_copy),
9656         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
9657         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
9658         structures in one place.
9659
9660 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9661
9662         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
9663           (GST_TIME_FORMAT, GST_TIME_ARGS)
9664
9665 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9666
9667         * testsuite/elements/Makefile.am:
9668           disable test until it stops breaking make distcheck
9669
9670 2004-04-05  Johan Dahlin  <johan@gnome.org>
9671
9672         * po/sv.po: Updated translation
9673
9674 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9675
9676         * gst/gstplugin.c: (gst_plugin_load_file):
9677           fix segfault for when original plugin was loaded statically
9678
9679 2004-04-05  Benjamin Otte  <otte@gnome.org>
9680
9681         * testsuite/debug/category.c: (main):
9682         * testsuite/debug/commandline.c: (main):
9683         * testsuite/debug/output.c: (main):
9684           fix tests to work again with debugging enabled
9685
9686 2004-04-05  Benjamin Otte  <otte@gnome.org>
9687
9688         * gst/schedulers/gstbasicscheduler.c:
9689         (gst_basic_scheduler_pad_link):
9690           fix to work with recent scheduling changes
9691
9692 2004-04-05  Benjamin Otte  <otte@gnome.org>
9693
9694         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
9695         prepareChangeLog doesn't work when cvs indents):
9696           don't throw an error when no element can be scheduled, there's too
9697           many weird reasons why it doesn't work. Return STOPPED instead.
9698           decoupled elemts' schedulability doesn't depend on bufpens.
9699
9700 2004-04-04  Benjamin Otte  <otte@gnome.org>
9701
9702         * gst/schedulers/gstbasicscheduler.c:
9703         (gst_basic_scheduler_pad_select):
9704           fix uninitialized variable warnings
9705
9706 2004-04-04  Benjamin Otte  <otte@gnome.org>
9707
9708         * gst/gstpad.c: (gst_pad_collect_valist):
9709           fix uninitialized variable warning
9710         * gst/schedulers/entryscheduler.c: (schedule_forward):
9711           fix shadowed variable
9712
9713 2004-04-04  Benjamin Otte  <otte@gnome.org>
9714
9715         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
9716         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
9717         (gst_pad_select):
9718         * gst/gstpad.h:
9719         * gst/gstscheduler.c: (gst_scheduler_pad_select),
9720         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
9721         * gst/gstscheduler.h:
9722           implement gst_pad_collect as replacement for gst_pad_select.
9723           deprecate gst_pad_select and gst_scheduler_(un)lock_element
9724           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
9725           new pad_select, lock and unlock calls.
9726         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
9727         * gst/cothreads.h:
9728         * gst/schedulers/cothreads_compat.h:
9729         * gst/schedulers/gthread-cothreads.h:
9730           remove unused cothread_lock and cothread_unlock calls
9731         * gst/schedulers/entryscheduler.c:
9732         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
9733         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
9734         (gst_entry_scheduler_pad_select):
9735           update to new API
9736         * gst/schedulers/gstbasicscheduler.c:
9737         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
9738         (gst_basic_scheduler_pad_select):
9739           remove useless lock and unlock calls, update pad_select to new API
9740           (untested)
9741         * gst/schedulers/gstoptimalscheduler.c:
9742         (gst_opt_scheduler_class_init):
9743           remove useless select, lock and unlock function calls
9744         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
9745           use gst_pad_collect instead of gst_pad_select
9746
9747 2004-04-04  Benjamin Otte  <otte@gnome.org>
9748
9749         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
9750         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
9751         (schedule_next_element), (print_entry):
9752           add can_schedule_pad to handle element states.
9753           add schedule_forward to select the correct entry to schedule next
9754
9755 2004-04-03  Benjamin Otte  <otte@gnome.org>
9756
9757         * gst/schedulers/entryscheduler.c: 
9758           remove unused variable, fix error inside Rb, fix compile warning in
9759           unreachable code
9760
9761 2004-04-03  Benjamin Otte  <otte@gnome.org>
9762
9763         * gst/schedulers/entryscheduler.c:
9764           completely revamp the inner workings, so it's a lot easier to
9765           understand and extend
9766
9767 2004-04-03  Andy Wingo  <wingo@pobox.com>
9768
9769         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
9770         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
9771         This allows better introspection of pipeline topology.
9772         (add_to_chain): Don't do trickery to put loop elements first;
9773         rather, queue a chain sort by marking the chain as dirty.
9774         (remove_from_chain): Mark the chain dirty.
9775         (sort_chain): New function. Sorts the group list so that terminal
9776         sinks are first. This means elements on the sink side will be
9777         preferentially sscheduled before elements on the src side of the
9778         pipeline.
9779         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
9780         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
9781         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
9782         (group_inc_link): Change argument and variable names to match the
9783         new link structure member names (src and sink).
9784         (group_dec_link): Add some description
9785
9786 2004-04-03  Benjamin Otte  <otte@gnome.org>
9787
9788         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9789         * gst/gstinfo.h:
9790         * testsuite/debug/category.c: (main):
9791         * testsuite/debug/commandline.c: (main):
9792         * testsuite/debug/output.c: (main):
9793         * testsuite/debug/printf_extension.c: (main):
9794           fix to successfully build and test with --disable-gst-debug
9795           configure switch (fixes #138705)
9796
9797 2004-04-03  Benjamin Otte  <otte@gnome.org>
9798
9799         * docs/pwg/building-boiler.xml:
9800           add cvs login line and s/anonymous/anoncvs/
9801
9802 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
9803
9804         reviewed by Benjamin Otte  <otte@gnome.org>
9805
9806         * gst/gststructure.c: (gst_structure_free):
9807           memleak fix: free fields array (partial fix for #134839)
9808
9809 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9810
9811         * docs/random/ds/0.9-suggested-changes:
9812           Add a note to change handoff use in fakesrc to be usable in
9813           a more generic way (fakesrc should be renamed to appsrc or so).
9814         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9815           Change signal type to scope, so we can fill the buffer in the
9816           handoff handler (that's the whole use of this signal...).
9817
9818 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9819
9820         * docs/pwg/other-ntoone.xml:
9821           Document muxers and n-to-1 elements.
9822
9823 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
9824
9825         * gst/registries/gstxmlregistry.c
9826         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
9827         determine if a file is a G_MODULE. The old one discards paths
9828         containing "so" somewhere in the middle. My home directory is
9829         called "soto". Go figure...
9830
9831 2004-03-31  David Schleef  <ds@schleef.org>
9832
9833         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
9834         to eventually deprecate gst_buffer_merge().  (bug: #136408)
9835         * gst/gstbuffer.h:
9836
9837 2004-03-31  David Schleef  <ds@schleef.org>
9838
9839         * gst/gstvalue.c: (gst_value_union_int_int_range),
9840         (gst_value_union_int_range_int_range), (gst_value_can_union),
9841         (gst_value_union), (_gst_value_initialize):  Add some union
9842         implementations.  We didn't have any previously.
9843         * testsuite/caps/Makefile.am:
9844         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
9845         (gst_audioscale_getcaps), (test_caps), (main): A little test
9846         that is the same as the caps manipulation in audioscale.
9847
9848 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9849
9850         * docs/faq/general.xml:
9851           add entry about "does gst support format X?"
9852
9853 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9854
9855         * gst/gstthread.c:
9856           fix docs
9857         * gst/gstutils.h:
9858           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
9859
9860 2004-03-30  Benjamin Otte  <otte@gnome.org>
9861
9862         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9863           set the offset of the buffer to the requested offset
9864         * gst/elements/gsttypefind.c: (stop_typefinding):
9865           revert patch 1.18 (which I unfortunately don't know the reason for).
9866           This is needed to allow downstream elements to seek. Otherwise
9867           typefind might overwrite a previous seek by downstream elements.
9868           This lead to errors with id3tag and typefind on some mp3s.
9869         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9870         (gst_entry_scheduler_iterate):
9871           be more verbose when debugging
9872
9873 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9874
9875         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9876           make sure we don't get NULL strings
9877
9878 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9879
9880         * gst/gstcaps.c:
9881         * gst/gstelement.c:
9882         * gst/gstelementfactory.c: (gst_element_factory_get_type):
9883         * gst/gstindex.c: (gst_index_resolver_get_type),
9884         (gst_index_get_type), (gst_index_factory_get_type):
9885         * gst/gstinfo.c:
9886         * gst/gstpad.c:
9887         * gst/gstplugin.c:
9888         * gst/gsturi.c: (gst_uri_handler_get_type):
9889         * gst/gstvalue.c:
9890           first batch of documentation fixes
9891
9892 2004-03-29  David Schleef  <ds@schleef.org>
9893
9894         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
9895         * docs/gst/gstreamer-docs.sgml:  More hacking
9896         * docs/gst/gstreamer-sections.txt:
9897         * docs/gst/tmpl/cothreads_compat.sgml:
9898         * docs/gst/tmpl/gstcaps.sgml:
9899         * docs/gst/tmpl/gstclock.sgml:
9900         * docs/gst/tmpl/gstelement.sgml:
9901         * docs/gst/tmpl/gstevent.sgml:
9902         * docs/gst/tmpl/gstpad.sgml:
9903         * docs/gst/tmpl/gstutils.sgml:
9904         * docs/gst/tmpl/gstxml.sgml:
9905         * docs/gst/tmpl/gthread-cothreads.sgml:
9906         * docs/random/ds/0.9-suggested-changes:
9907         * gst/elements/gstfakesink.h: doc fixes
9908         * gst/elements/gstfakesrc.h: doc fixes
9909         * gst/gstcaps.c: doc fixes
9910         * gst/gstcaps.h: doc fixes
9911         * gst/gstelement.c: doc fixes
9912         * gst/gstelement.h: doc fixes
9913         * gst/gstindex.c: doc fixes
9914         * gst/gstinfo.c: doc fixes
9915         * gst/gstpad.c: doc fixes
9916         * gst/gstpad.h: doc fixes
9917         * gst/gstplugin.c: doc fixes
9918         * gst/gsttypefind.h: doc fixes
9919         * gst/gsturi.c: doc fixes
9920         * gst/gstvalue.c: doc fixes
9921
9922 2004-03-29  Colin Walters  <walters@redhat.com>
9923
9924         * gst/registries/gstxmlregistry.c (get_time)
9925         (plugin_times_older_than_recurse):
9926         Use the result of stat to determine whether a path is a file,
9927         so we don't attempt to opendir() files.
9928
9929 2004-03-29  Benjamin Otte  <otte@gnome.org>
9930
9931         * gst/gstpad.c: (gst_pad_set_explicit_caps):
9932           print caps in debugging output when setting caps failed
9933         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9934         (schedule_next_element), (get_buffer), (run_chainhandler),
9935         (element_may_start), (gst_entry_scheduler_chain_handler),
9936         (gst_entry_scheduler_get_handler),
9937         (gst_entry_scheduler_state_transition),
9938         (gst_entry_scheduler_pad_link):
9939           make this scheduler a testcase for mandatory
9940           discont-before-first-buffer which is needed if we want to allow apps
9941           to release the sound device.
9942           add SCHED_ASSERT macro to print scheduler state before an assertion
9943           triggers.
9944
9945 2004-03-29  Benjamin Otte  <otte@gnome.org>
9946
9947         * COPYING:
9948           replace by LGPL (former COPYING.LIB). The core is completely
9949           licensed LGPL.
9950         * COPYING.LIB:
9951           remove
9952
9953 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9954
9955         * po/af.po:
9956         * po/sv.po:
9957           updated Afrikaans and Swedish
9958
9959 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9960
9961         * po/LINGUAS:
9962         * po/az.po:
9963           adding Azerbaijani (Mətin Əmirov)
9964
9965 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
9966
9967         * gst/gstelement.h: 
9968         * gst/gstelement.c (gst_element_set_time_delay): New function for
9969         setting element time taking into account a hardware buffering
9970         delay.
9971         (gst_element_set_time): Now just an invocation of
9972         gst_element_set_time_delay.
9973         * gst/gstclock.h: 
9974         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
9975         allowing to set event times in the future.
9976         (gst_clock_get_event_time): Now just an invocation of
9977         gst_clock_get_event_time_delay.
9978
9979 2004-03-28  Benjamin Otte  <otte@gnome.org>
9980
9981         * gst/gstbin.c: (gst_bin_set_element_sched),
9982         (gst_bin_unset_element_sched):
9983           don't add decoupled elements to schedulers - otherwise it's
9984           impossible to control if a link to a decoupled element was already
9985           removed from a scheduler or not.
9986         * gst/schedulers/cothreads_compat.h:
9987         * gst/schedulers/gthread-cothreads.h:
9988           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
9989           is no "unused" warning.
9990         * gst/schedulers/Makefile.am:
9991         * gst/schedulers/entryscheduler.c:
9992           add new scheduler, based on ideas from talking to David and Martin.
9993           It's supposed to be small and correct. Currently it's also slow (but
9994           it's not noticable)
9995         * examples/retag/retag.c: (main):
9996         * testsuite/bytestream/test1.c: (main):
9997           fix missing NULLs at end of variadic functions
9998         * testsuite/elements/.cvsignore:
9999           update
10000
10001 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10002
10003         * gst/gstevent.h:
10004         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10005
10006 2004-03-25  David Schleef  <ds@schleef.org>
10007
10008         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10009         * docs/gst/tmpl/gstaggregator.sgml:
10010         * docs/gst/tmpl/gstautoplugfactory.sgml:
10011         * docs/gst/tmpl/gstbin.sgml:
10012         * docs/gst/tmpl/gstbuffer.sgml:
10013         * docs/gst/tmpl/gstbufferstore.sgml:
10014         * docs/gst/tmpl/gstfakesink.sgml:
10015         * docs/gst/tmpl/gstfakesrc.sgml:
10016         * docs/gst/tmpl/gstmd5sink.sgml:
10017         * docs/gst/tmpl/gstreamer-unused.sgml:
10018         * docs/gst/tmpl/gstsearchfuncs.sgml:
10019         * docs/gst/tmpl/gstshaper.sgml:
10020         * docs/gst/tmpl/gstspider.sgml:
10021         * docs/gst/tmpl/gsttee.sgml:
10022         * docs/gst/tmpl/gstutils.sgml:
10023         * docs/gst/tmpl/gstvalue.sgml:
10024         * docs/gst/tmpl/gstxml.sgml:
10025         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10026         and we don't support it.
10027         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10028         (gst_use_threads), (gst_has_threads): same
10029         * gst/gstthreaddummy.c: same
10030         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10031         * gst/autoplug/gstspider.h: same
10032         * gst/elements/gstaggregator.h: Remove bogus function from header
10033         * gst/elements/gstfakesink.h: same
10034         * gst/elements/gstfakesrc.h: same
10035         * gst/elements/gstmd5sink.h: same
10036         * gst/elements/gstshaper.h: same
10037         * gst/elements/gsttee.h: same
10038         * gst/gstbin.c: doc fixes
10039         * gst/gstbin.h: Remove unused definition.
10040         * gst/gstbuffer.c: doc fixes
10041         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10042         * gst/gstfilter.c: doc fixes
10043         * gst/gsttag.c: doc fixes
10044         * gst/gstvalue.c: doc fixes
10045
10046 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10047
10048         * docs/pwg/advanced-types.xml:
10049           Document typefinding.
10050         * docs/pwg/other-oneton.xml:
10051           Document one-to-n elements, demuxers and parsers.
10052
10053 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10054
10055         reviewed by: David Schleef  <ds@schleef.org>
10056
10057         * configure.ac: Check bison version (bug #127838)
10058
10059 2004-03-25  David Schleef  <ds@schleef.org>
10060
10061         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10062         * docs/gst/gstreamer-sections.txt:
10063         * docs/gst/tmpl/gstautoplug.sgml:
10064         * docs/gst/tmpl/gststaticautoplug.sgml:
10065         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10066         * docs/gst/tmpl/gstutils.sgml:
10067         * docs/gst/tmpl/gstxml.sgml:
10068
10069 2004-03-24  David Schleef  <ds@schleef.org>
10070
10071         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10072         manual being such complete crap, that I decided to do major
10073         hacking of it.  This checkin replaces any fine tuning that
10074         may have been done previously, with the benefit of actually
10075         being complete for much of the API that was changed since
10076         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10077         * docs/gst/gstreamer-sections.txt:
10078         * docs/gst/tmpl/GstBin.sgml:
10079         * docs/gst/tmpl/GstBuffer.sgml:
10080         * docs/gst/tmpl/GstCaps.sgml:
10081         * docs/gst/tmpl/GstClock.sgml:
10082         * docs/gst/tmpl/GstCompat.sgml:
10083         * docs/gst/tmpl/GstData.sgml:
10084         * docs/gst/tmpl/GstElement.sgml:
10085         * docs/gst/tmpl/GstEvent.sgml:
10086         * docs/gst/tmpl/GstIndex.sgml:
10087         * docs/gst/tmpl/GstStructure.sgml:
10088         * docs/gst/tmpl/GstTag.sgml:
10089         * docs/gst/tmpl/cothreads.sgml:
10090         * docs/gst/tmpl/cothreads_compat.sgml:
10091         * docs/gst/tmpl/gettext.sgml:
10092         * docs/gst/tmpl/grammar.tab.sgml:
10093         * docs/gst/tmpl/gst-i18n-app.sgml:
10094         * docs/gst/tmpl/gst-i18n-lib.sgml:
10095         * docs/gst/tmpl/gst.sgml:
10096         * docs/gst/tmpl/gst_private.sgml:
10097         * docs/gst/tmpl/gstaggregator.sgml:
10098         * docs/gst/tmpl/gstarch.sgml:
10099         * docs/gst/tmpl/gstatomic.sgml:
10100         * docs/gst/tmpl/gstatomic_impl.sgml:
10101         * docs/gst/tmpl/gstbin.sgml:
10102         * docs/gst/tmpl/gstbuffer.sgml:
10103         * docs/gst/tmpl/gstbufferstore.sgml:
10104         * docs/gst/tmpl/gstcaps.sgml:
10105         * docs/gst/tmpl/gstclock.sgml:
10106         * docs/gst/tmpl/gstcompat.sgml:
10107         * docs/gst/tmpl/gstconfig.sgml:
10108         * docs/gst/tmpl/gstcpu.sgml:
10109         * docs/gst/tmpl/gstdata.sgml:
10110         * docs/gst/tmpl/gstdata_private.sgml:
10111         * docs/gst/tmpl/gstelement.sgml:
10112         * docs/gst/tmpl/gstenumtypes.sgml:
10113         * docs/gst/tmpl/gsterror.sgml:
10114         * docs/gst/tmpl/gstevent.sgml:
10115         * docs/gst/tmpl/gstfakesink.sgml:
10116         * docs/gst/tmpl/gstfakesrc.sgml:
10117         * docs/gst/tmpl/gstfilesink.sgml:
10118         * docs/gst/tmpl/gstfilter.sgml:
10119         * docs/gst/tmpl/gstindex.sgml:
10120         * docs/gst/tmpl/gstinfo.sgml:
10121         * docs/gst/tmpl/gstinterface.sgml:
10122         * docs/gst/tmpl/gstlog.sgml:
10123         * docs/gst/tmpl/gstmacros.sgml:
10124         * docs/gst/tmpl/gstmarshal.sgml:
10125         * docs/gst/tmpl/gstmd5sink.sgml:
10126         * docs/gst/tmpl/gstmultifilesrc.sgml:
10127         * docs/gst/tmpl/gstobject.sgml:
10128         * docs/gst/tmpl/gstpad.sgml:
10129         * docs/gst/tmpl/gstparse.sgml:
10130         * docs/gst/tmpl/gstpipeline.sgml:
10131         * docs/gst/tmpl/gstplugin.sgml:
10132         * docs/gst/tmpl/gstpluginfeature.sgml:
10133         * docs/gst/tmpl/gstqueue.sgml:
10134         * docs/gst/tmpl/gstreamer-unused.sgml:
10135         * docs/gst/tmpl/gstregistry.sgml:
10136         * docs/gst/tmpl/gstregistrypool.sgml:
10137         * docs/gst/tmpl/gstscheduler.sgml:
10138         * docs/gst/tmpl/gstsearchfuncs.sgml:
10139         * docs/gst/tmpl/gstshaper.sgml:
10140         * docs/gst/tmpl/gstspider.sgml:
10141         * docs/gst/tmpl/gstspideridentity.sgml:
10142         * docs/gst/tmpl/gststructure.sgml:
10143         * docs/gst/tmpl/gstsystemclock.sgml:
10144         * docs/gst/tmpl/gsttag.sgml:
10145         * docs/gst/tmpl/gsttaginterface.sgml:
10146         * docs/gst/tmpl/gsttee.sgml:
10147         * docs/gst/tmpl/gstthread.sgml:
10148         * docs/gst/tmpl/gsttrace.sgml:
10149         * docs/gst/tmpl/gsttrashstack.sgml:
10150         * docs/gst/tmpl/gsttypefind.sgml:
10151         * docs/gst/tmpl/gsttypes.sgml:
10152         * docs/gst/tmpl/gsturi.sgml:
10153         * docs/gst/tmpl/gsturitype.sgml:
10154         * docs/gst/tmpl/gstutils.sgml:
10155         * docs/gst/tmpl/gstvalue.sgml:
10156         * docs/gst/tmpl/gstversion.sgml:
10157         * docs/gst/tmpl/gstxml.sgml:
10158         * docs/gst/tmpl/gstxmlregistry.sgml:
10159         * docs/gst/tmpl/gthread-cothreads.sgml:
10160         * docs/gst/tmpl/types.sgml:
10161
10162 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10163
10164         * docs/pwg/other-sink.xml:
10165         * docs/pwg/other-source.xml:
10166           Documentation on how to write source and sink elements. Other
10167           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10168           manager, autoplugger) are all still pending.
10169
10170 2004-03-25  Benjamin Otte  <otte@gnome.org>
10171
10172         * testsuite/elements/Makefile.am:
10173         * testsuite/elements/gst-compprep-check:
10174           add check to make sure gst-compprep works
10175         * testsuite/elements/gst-inspect-check.in:
10176           improve initialization output
10177         * testsuite/Makefile.am:
10178         * testsuite/gst-inspect-check:
10179           remove old file
10180
10181 2004-03-24  David Schleef  <ds@schleef.org>
10182
10183         * testsuite/elements/Makefile.am:
10184         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10185         to the testsuite.
10186
10187 2004-03-24  Benjamin Otte  <otte@gnome.org>
10188
10189         * libs/gst/control/dparam.c: (gst_dparam_attach),
10190         (gst_dparam_detach):
10191         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10192           fix lvalue casts for real
10193
10194 2004-03-24  Benjamin Otte  <otte@gnome.org>
10195
10196         * gst/schedulers/gstbasicscheduler.c:
10197         (gst_basic_scheduler_src_wrapper):
10198         * gst/schedulers/gstoptimalscheduler.c:
10199         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10200         (pad_clear_queued), (gst_opt_scheduler_add_element),
10201         (gst_opt_scheduler_remove_element):
10202           fix GStreamer to not have issues with lvalue casts anymore (fixes
10203           #136841)
10204
10205 2004-03-24  Benjamin Otte  <otte@gnome.org>
10206
10207         * gst/gstelement.c:
10208           add documentation about a gobject quirk where the object hasn't the
10209           correct class pointer set on initialization
10210         * gst/schedulers/gstbasicscheduler.c:
10211         (gst_basic_scheduler_src_wrapper):
10212           make sure to not run into an infinite loop
10213
10214 2004-03-22  Benjamin Otte  <otte@gnome.org>
10215
10216         * gst/gstutils.c: (gst_util_dump_mem):
10217         * gst/gstutils.h:
10218           first argument of gst_util_dump_mem should be const
10219
10220 2004-03-22  Johan Dahlin  <johan@gnome.org>
10221
10222         * gst/gstvalue.h: Clean up a little bit.
10223
10224 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10225
10226         reviewed by Benjamin Otte  <otte@gnome.org>
10227
10228         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10229         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10230         (gst_aggregator_class_init), (gst_aggregator_init):
10231         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10232         (gst_filesrc_dispose), (gst_filesrc_set_location):
10233         * gst/elements/gstidentity.c: (gst_identity_finalize),
10234         (gst_identity_class_init), (gst_identity_chain):
10235         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10236         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10237         (gst_statistics_class_init):
10238         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10239         (gst_tee_get_property):
10240           clean up used memory in this elements correctly on teardown (closes
10241           #137279)
10242
10243 2004-03-20  Colin Walters  <walters@redhat.com>
10244
10245         * gst/registries/gstxmlregistry.c:
10246         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10247         registry saving atomic.
10248
10249 2004-03-20  Colin Walters  <walters@redhat.com>
10250
10251         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10252         Just use
10253         access() instead of actually creating and deleting files.
10254
10255 2004-03-18  David Schleef  <ds@schleef.org>
10256
10257         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10258         (bug #137625)
10259
10260 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10261
10262         * po/sv.po: updated translation (Christian Rose)
10263
10264 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10265
10266         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10267         (gst_filesink_get_query_types), (_do_init),
10268         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10269           return FALSE silently
10270         * po/af.po: updated translation (Petri Jooste)
10271
10272 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10273
10274         * Makefile.am:
10275         * configure.ac:
10276           dist common properly
10277         * po/af.po:
10278         * po/fr.po:
10279         * po/nl.po:
10280         * po/sr.po:
10281         * po/sv.po:
10282           refreshing translations
10283
10284 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10285
10286         * po/LINGUAS:
10287         * po/sv.po:
10288         * po/af.po:
10289           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10290
10291 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10292
10293         * Makefile.am: use common/release.mak
10294
10295 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10296
10297         * docs/faq/gst-uninstalled:
10298           adding gst-monkeysaudio to the list of possible plugin dirs
10299
10300 2004-03-16  David Schleef  <ds@schleef.org>
10301
10302         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10303         (gst_init_check_with_popt_table):  Fix some gettext strings to
10304         make them easier to translate.  Required making the strings
10305         non-const.
10306
10307 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10308
10309         * configure.ac: bump nano to 1
10310
10311 === release 0.8.0 ===
10312
10313 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10314
10315         * configure.ac: release 0.8.0, "Executive Slacks"
10316
10317 2004-03-16  Johan Dahlin  <johan@gnome.org>
10318
10319         * gst/schedulers/gstoptimalscheduler.c
10320         (gst_opt_scheduler_pad_unlink): Remove double ;,
10321         spotted by Scott Wheeler
10322
10323 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10324
10325         * configure.ac: bump libtool version
10326
10327 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10328
10329         * gst/gstcaps.h:
10330         * gst/gststructure.h:
10331           add reserved padding
10332
10333 2004-03-15  Benjamin Otte  <otte@gnome.org>
10334
10335         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10336           set the first parameter for select call correctly.
10337           (fixes #137230)
10338
10339 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10340
10341         * *.c,*.h: don't mix tabs and spaces
10342
10343 2004-03-15  Johan Dahlin  <johan@gnome.org>
10344
10345         * gst/schedulers/gstoptimalscheduler.c
10346         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10347         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10348
10349         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10350         
10351 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10352
10353         * testsuite/Rules:
10354           fix gst-register rules
10355
10356 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10357
10358         * testsuite/Rules:
10359           use versioned gst-register
10360
10361 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10362
10363         * docs/libs/gstreamer-libs-sections.txt:
10364           remove </SUBSECTION>
10365         * gst/gstplugin.c:
10366         * gst/gstregistry.c: (gst_registry_add_plugin):
10367         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10368         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10369           add debugging and fix some comment blocks
10370
10371 2004-03-15  Johan Dahlin  <johan@gnome.org>
10372
10373         * *.h: Revert indent changes.
10374         
10375 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10376
10377         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10378           g_error_free the g_error
10379         * tools/gst-feedback-m.m:
10380           check for other versions of gstreamer
10381         * tools/gst-indent:
10382           use sh, not bash
10383
10384 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10385
10386         * tools/gst-register.c: do not spill paths when registries are not
10387           writable, until we fix the "user running gst-register" case.
10388
10389 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10390
10391         * *.c, *.h: commit of gst-indent run on core
10392
10393 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10394
10395         * tools/gst-indent:
10396         * tools/Makefile.am:
10397           add our indentation style as a script
10398
10399 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10400
10401         * po/sr.po:
10402         * po/LINGUAS:
10403           added Serbian translation
10404
10405 2004-03-13  Benjamin Otte  <otte@gnome.org>
10406
10407         * gst/gstelement.c:
10408           add documentation note about gst_element_found_tags_for_pad not
10409           being usable in getfunctions. (see #137042)
10410
10411 2004-03-12  David Schleef  <ds@schleef.org>
10412
10413         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10414         change API right now!  Readd gst_caps_is_simple() macro.
10415         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10416         uninitialized variable.  I'd bet this caused crashes.
10417         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10418
10419 2004-03-12  Johan Dahlin  <johan@gnome.org>
10420
10421         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10422         * gst/gstcaps.h: Clean up
10423
10424         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10425         _gst_caps_initalize()
10426
10427         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10428         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10429
10430         * gst/gststructure.c (gst_structure_get_type): Ditto
10431
10432         * gst/gststructure.h: Ditto
10433         
10434 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10435
10436         * gst/gstqueue.c: (gst_queue_init):
10437           Reset default max. values in queues. Reason is simply to avoid
10438           braindead use. If you want wider values, use the properties. The
10439           default is supposed to always work. Wider values would make this
10440           beast a memory hog by default (250 full-PAL RGB32 video frames?
10441           That's 440 MB! No thank you).
10442
10443 2004-03-10  David Schleef  <ds@schleef.org>
10444
10445         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10446         were found.  (bug #136793)
10447
10448 2004-03-10  Johan Dahlin  <johan@gnome.org>
10449
10450         * gst/schedulers/gstoptimalscheduler.c
10451         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10452         links to elements within the same group, so we can finally remove
10453         that annoying warning. Refactor the code a little bit
10454         (group_dec_links_for_element): Split out
10455
10456 2004-03-09  David Schleef  <ds@schleef.org>
10457
10458         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10459         (bug #134863)
10460
10461 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10462
10463         * configure.ac: first bug fix due to major/minor bump
10464
10465 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10466
10467         * configure.ac: bump nano to 1
10468
10469 === release 0.7.6 ===
10470
10471 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10472
10473         * NEWS:
10474         * RELEASE:
10475         * configure.ac:
10476           releasing 0.7.6, "Almost"
10477         * po/fr.po:
10478         * po/nl.po:
10479         * tools/Makefile.am:
10480         * tools/gst-feedback-m.m:
10481           unversioned source
10482
10483 2004-03-09  Johan Dahlin  <johan@gnome.org>
10484
10485         Reviewed by: Thomas Vander Stichele
10486
10487         * gst/gstelement.c (gst_element_class_init): register second
10488         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
10489         language bindings can (de)marshall correctly.
10490
10491         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
10492
10493         * gst/gsterror.c (gst_g_error_get_type): New function
10494
10495         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
10496         with VOID:OBJECT,OBJECT,STRING 
10497
10498 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
10499
10500         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
10501         Free a leaked g_timer on early returns.
10502
10503 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10504
10505         * docs/pwg/advanced-types.xml:
10506           Add cinepak description.
10507
10508 2004-03-07  David Schleef  <ds@schleef.org>
10509
10510         * docs/random/mimetypes:  Added cinepak description
10511
10512 2004-03-07  Andy Wingo  <wingo@pobox.com>
10513
10514         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
10515
10516         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
10517         there are no links to other groups when a group is destroyed.
10518         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
10519         removed from a group, make sure the link count to elements linked
10520         to other pads is appropriately decremented. This really fixes
10521         #135672.
10522
10523         The 1.60->1.61 patch has been reapplied in light of this fix.
10524
10525         * gst/gstelement.c (gst_element_dispose): Really protect against
10526         multiple invocations this time.
10527
10528 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10529
10530         * docs/gst/gstreamer-sections.txt:
10531         * docs/gst/tmpl/gsttag.sgml:
10532           remove some deprecated functions, document some existing ones
10533         * gst/gsttag.c: (gst_tag_get_flag):
10534         * gst/gsttag.h:
10535           add accessor function
10536
10537 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10538
10539         * docs/gst/gstreamer-sections.txt:
10540         * docs/gst/tmpl/gsttag.sgml:
10541         * docs/gst/tmpl/gstxml.sgml:
10542         * gst/gsttag.c: (gst_tag_get_flag):
10543         * gst/gsttag.h:
10544
10545 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
10546
10547         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
10548         leak
10549
10550 2004-03-05  David Schleef  <ds@schleef.org>
10551
10552         * REQUIREMENTS: Add bison and flex.
10553         * configure.ac: Fix comment about bison.
10554         * docs/random/ds/0.9-suggested-changes: yer ma
10555         * tools/gst-inspect.c: (print_element_info):  Fix warning.
10556
10557 2004-03-05  Benjamin Otte  <otte@gnome.org>
10558
10559         * gst/gstelement.c: (gst_element_error_full):
10560           revert recent recursive state changing commit - messing with other
10561           elements' states is evil and should be done by apps only.
10562
10563 2004-03-05  Benjamin Otte  <otte@gnome.org>
10564
10565         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
10566           check for empty intersection instead of NULL caps
10567         (gst_element_get_compatible_pad_filtered):
10568           remove old workaround that is only a bug nowadays
10569
10570 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10571
10572         * gst/gstelement.c: (gst_element_error_full):
10573           make elements try to recursively change state to PAUSED on all
10574           parents after an error to suppress ensuing warnings
10575         * gst/parse/grammar.y:
10576           make it check if it was able to sync the state, and throw an error
10577           if not, so stuff like
10578           oggdemux ! vorbisdec ! osssink gets caught
10579
10580 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10581
10582         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
10583           it contains lib64; use AS_AC_EXPAND to handle it properly
10584
10585 2004-03-05  David Schleef  <ds@schleef.org>
10586
10587         * gst/gstcpuid_i386.s:  Remove unused code
10588         * libs/gst/getbits/getbits.c: (gst_getbits_init),
10589         (gst_getbits_newbuf): Remove MMX code
10590         * libs/gst/getbits/getbits.h: Remove MMX code
10591
10592 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
10593
10594         * debian/.cvsignore:
10595         * debian/README.Debian:
10596         * debian/changelog:
10597         * debian/control:
10598         * debian/control.in:
10599         * debian/copyright:
10600         * debian/gstreamer-core-libs-dev.files:
10601         * debian/gstreamer-core-libs.files:
10602         * debian/gstreamer-core.files:
10603         * debian/gstreamer-core.postinst:
10604         * debian/gstreamer-core.postrm:
10605         * debian/gstreamer-doc.files:
10606         * debian/gstreamer-doc.links:
10607         * debian/gstreamer-doc.lintian:
10608         * debian/gstreamer-runtime.files:
10609         * debian/gstreamer-runtime.manpages:
10610         * debian/gstreamer-runtime.postinst:
10611         * debian/gstreamer-runtime.postrm:
10612         * debian/gstreamer-tools.files:
10613         * debian/gstreamer-tools.manpages:
10614         * debian/libgstreamer-dev.files:
10615         * debian/libgstreamer0.4.1.files:
10616         * debian/libgstreamerVERSION.files:
10617         * debian/rules:
10618         Debian package info not maintained here.
10619
10620 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10621
10622         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10623         * gst/gstbin.c: (gst_bin_class_init):
10624         * gst/gstelement.c: (gst_element_class_init):
10625         * gst/gstindex.c: (gst_index_class_init):
10626         * gst/gstobject.c: (gst_object_class_init),
10627         (gst_signal_object_class_init):
10628         * gst/gstpad.c: (gst_pad_template_class_init):
10629         * gst/gstregistry.c: (gst_registry_class_init):
10630         * gst/gsturi.c: (gst_uri_handler_base_init):
10631         * gst/gstxml.c: (gst_xml_class_init):
10632         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10633         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
10634           make all signal names use dashes instead of underscore
10635
10636 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10637
10638         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
10639
10640 2004-03-03  Benjamin Otte  <otte@gnome.org>
10641
10642         * gst/schedulers/gstoptimalscheduler.c:
10643           revert last commit by Andy Wingo. It causes segfaults on unreffing
10644           in Rhythmbox. (see bug #135672)
10645
10646 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10647
10648         * po/fr.po: fix typo
10649
10650 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10651
10652         * tools/gst-inspect.c: (main): 
10653         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
10654
10655 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10656
10657         * configure.ac:
10658           get GLIB_ONLY and POPT flags for the nonversioned binaries
10659         * tools/Makefile.am:
10660           use them
10661
10662 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10663
10664         * gst/gst.c: (init_post):
10665           change so that GST_REGISTRY now is where the global registry gets
10666           saved, since that is where plugins now get attached to first, and
10667           spilled over to the user registry.  Note that in the case of using
10668           GST_REGISTRY env var, we don't want to affect any real registries
10669           beyond the one given by this var, and thus we don't set a user
10670           registry to spill to.  So make sure GST_REGISTRY is writable.
10671
10672 2004-03-01  David Schleef  <ds@schleef.org>
10673
10674         * AUTHORS:  Added some names.  Add yourself if you're missing.
10675
10676 2004-03-01  David Schleef  <ds@schleef.org>
10677
10678         * MAINTAINERS: Add
10679
10680 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10681
10682         * configure.ac:
10683           remove whitespace
10684         * docs/gst/tmpl/gstbuffer.sgml:
10685         * docs/gst/tmpl/gstdata.sgml:
10686         * docs/gst/tmpl/gstreamer-unused.sgml:
10687         * docs/gst/tmpl/gstxml.sgml:
10688           doc update
10689         * docs/manuals.mak:
10690           add a FIXME
10691         * docs/pwg/intro-preface.xml:
10692         * docs/pwg/pwg.xml:
10693           remove GNOME
10694         * gst/gst.c: (init_post):
10695           try GST_PLUGIN_PATH paths for the _global_registry first
10696         * gst/gstelement.h:
10697           add the error message as well, otherwise (null) debug info doesn't
10698           make much sense
10699         * tools/gst-register.c: (main):
10700           spill paths to next registry if this registry is not writable
10701         * po/fr.po:
10702         * po/nl.po:
10703           translation updates
10704
10705 2004-03-01  Johan Dahlin  <johan@gnome.org>
10706
10707         * gst/gstbuffer.c (_gst_buffer_initialize): 
10708         * gst/gstdata.c (gst_data_get_type): 
10709         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
10710         instead of ref, since some applications that uses GBoxed
10711         routines depends on a function that actually returns a copy.
10712
10713 2004-02-27  Benjamin Otte  <otte@gnome.org>
10714
10715         * gst/gstbuffer.h:
10716           remove gst_buffer_free, use gst_data_unref
10717         * gst/gstdata.c: (gst_data_get_type):
10718           use refcounting in GstData GBoxed registration
10719         * gst/gstdata.h:
10720           remove gst_data_free, use gst_data_unref
10721
10722 2004-02-27  Johan Dahlin  <johan@gnome.org>
10723
10724         * gst/gstdata.c (gst_data_get_type): New function, register
10725         GstData as a GBoxed type.
10726
10727         * gst/gstdata.h (GST_TYPE_DATA): New macro
10728
10729 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10730
10731         * Makefile.am:
10732         * gstreamer.spec.in:
10733           put back RELEASE
10734         * gst/Makefile.am:
10735           clean up non-disting of built files
10736         * testsuite/debug/commandline.c:
10737           test fix for option rename
10738
10739 2004-02-26  David Schleef  <ds@schleef.org>
10740
10741         * configure.ac:  We don't really need glib-2.3.  Also remove
10742         some unneeded checks for library functions.
10743         * gst/Makefile.am:  Instead, we need to not dist files created
10744         by glib-genmarshal.
10745
10746 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10747
10748         * configure.ac:
10749           bump glib required version to 2.3.0 for g_value_takes_boxed
10750
10751  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
10752
10753         * common/m4/gst-docs.m4
10754         change flavour text from enable to disable as enable is our default
10755         closes bug Bug 135304
10756
10757 === release 0.7.5 ===
10758  
10759  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10760  
10761         * NEWS:
10762           instate NEWS file
10763         * Makefile.am:
10764         * gstreamer.spec.in:
10765         * RELEASE:
10766           put back release
10767         * configure.ac:
10768         * docs/random/release:
10769           more updates
10770
10771 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10772
10773         * gst/gsttag.c: (_gst_tag_initialize):
10774         * po/fr.po:
10775         * po/nl.po:
10776           remove hyphen from codec tags
10777
10778 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10779
10780         * gst/parse/Makefile.am:
10781           fix dependency so that a make from a clean build works the first
10782           time
10783
10784 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10785
10786         * docs/random/release:
10787           update release strategy
10788         * po/fr.po:
10789           auto-update po file
10790         * po/nl.po:
10791           update dutch translation
10792
10793 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10794
10795         * docs/manual/debugging.xml:
10796         fix manual for new debugging system
10797
10798 2004-02-25  Andy Wingo  <wingo@pobox.com>
10799
10800         * gst/gstpad.c (gst_pad_link_prepare): Re-add
10801         gst_pad_link_prepare. Please email the list with specific reasons
10802         for reverting.
10803
10804 2004-02-24  Andy Wingo  <wingo@pobox.com>
10805
10806         * gst/gstelement.c (gst_element_dispose): Protect against multiple
10807         invocations.
10808
10809         * gst/schedulers/gstoptimalscheduler.c:
10810         I added a mess of prototypes at the top of the file by way of
10811         documentation. Some of the operations on chains and groups were
10812         re-organized.
10813
10814         (create_group): Added a type argument so if the group is enabled,
10815         the setup_group_scheduler knows what to do.
10816         (group_elements): Added a type argument here, too, to be passed on
10817         to create_group.
10818         (group_element_set_enabled): If an unlinked PLAYING element is
10819         added to a bin, we have to create a new group to hold the element,
10820         and this function will be called before the group is added to the
10821         chain. Thus we have a valid case for group->chain==NULL. Instead
10822         of calling chain_group_set_enabled, just set the flag on the group
10823         (the chain's status will be set when the group is added to it).
10824         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
10825         Setup the group scheduler when the group is enabled, not
10826         specifically when an element goes PAUSED->PLAYING. This means
10827         PLAYING elements can be added, linked, and scheduled into a
10828         PLAYING pipeline, as was intended.
10829         (add_to_group): Don't ref the group twice. I don't know when this
10830         double-ref got in here. Removing it has the potential to cause
10831         segfaults if other parts of the scheduler are buggy. If you find
10832         that the scheduler is segfaulting for you, put in an extra ref
10833         here and see if that hacks over the underlying issue. Of course,
10834         then find out what code is unreffing a group it doesn't own...
10835         (create_group): Make the extra refcount floating, and remove it
10836         after adding the element. This means that...
10837         (unref_group): Destroy when the refcount reaches 0, not 1, like
10838         every other refcounted object in the known universe.
10839         (remove_from_group): When a group becomes empty, set it to be not
10840         active, and remove it from its chain. Don't unref it again,
10841         there's no floating reference any more.
10842         (destroy_group): We have to remove the group from the chain in
10843         remove_from_group (rather than here) to break refcounting cycles
10844         (the chain always has a ref on the group). So assert that
10845         group->chain==NULL.
10846         (ref_group_by_count): Removed, it was commented out anyway.
10847         (merge_chains): Use the remove_from_chain and add_to_chain
10848         primitives to do the reparenting, instead of rolling our own
10849         implementation.
10850         (add_to_chain): The first non-disabled group in the chain's group
10851         list will be the entry point for the chain. Because buffers can
10852         accumulate in loop elements' peer bufpens, we preferentially
10853         schedule loop groups before get groups to avoid unnecessary
10854         execution of get-based groups when the bufpens are already full.
10855         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
10856         (get_group_schedule_function): Ditto.
10857         (loop_group_schedule_function): Ditto.
10858         (gst_opt_scheduler_loop_wrapper): Ditto.
10859         (gst_opt_scheduler_iterate): Ditto.
10860
10861         I understand the opt scheduler now, yippee!
10862
10863         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
10864         (gst_pad_get_name, gst_pad_set_chain_function) 
10865         (gst_pad_set_get_function, gst_pad_set_event_function) 
10866         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
10867         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
10868         (gst_pad_set_query_function, gst_pad_get_query_types) 
10869         (gst_pad_get_query_types_default) 
10870         (gst_pad_set_internal_link_function) 
10871         (gst_pad_set_formats_function, gst_pad_set_link_function) 
10872         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
10873         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
10874         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
10875         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
10876         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
10877         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
10878         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
10879         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
10880         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
10881         (gst_pad_event_default_dispatch, gst_pad_event_default) 
10882         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
10883         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
10884         (gst_pad_get_formats_default, gst_pad_get_formats): Better
10885         argument checks, and some doc fixes.
10886
10887         (gst_pad_custom_new_from_template): Um, does anyone
10888         use these functions? Actually make a custom pad instead of a
10889         normal one.
10890         (gst_pad_try_set_caps): Transpose some checks.
10891         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
10892         the pad is in negotiation.
10893         (gst_pad_try_relink_filtered): Use pad_link_prepare.
10894         
10895         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
10896
10897         * gst/gstelement.h: 
10898         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
10899         on the list.
10900
10901 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10902
10903         * gst/gstbin.c: (gst_bin_add):
10904           add error for not being able to add elements
10905
10906 2004-02-22  Julien MOUTTE <julien@moutte.net>
10907
10908         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
10909         audio-codec and video-codec.
10910
10911 2004-02-22  Benjamin Otte  <otte@gnome.org>
10912
10913         reported by: Padraig O'Briain <padraig.obriain@sun.com>
10914
10915         * autogen.sh:
10916           replace test -e with test -x for mkinstalldirs to be more portable.
10917           (fixes #134816)
10918
10919 2004-02-22  Benjamin Otte  <otte@gnome.org>
10920
10921         * gst/gstpad.c:
10922           revert last patch from Andy, it makes gst_pad_can_link_filtered much
10923           too noisy
10924         * gst/gsttag.c: (_gst_tag_initialize):
10925         * gst/gsttag.h:
10926           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
10927         * libs/gst/control/dparam.c: (gst_dparam_attach):
10928         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
10929           check that types for attached dparams match
10930
10931 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10932
10933         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10934         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10935         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10936           fix errors
10937
10938 2004-02-20  Andy Wingo  <wingo@pobox.com>
10939
10940         * gst/gstbin.c:
10941         * gst/gstbuffer.c:
10942         * gst/gstplugin.c:
10943         * gst/registries/gstxmlregistry.c: 
10944         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
10945
10946         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
10947         (gst_element_add_pad): DEBUG->INFO, some fixes.
10948         (gst_element_get_compatible_pad_template): Just see if the
10949         templates' caps intersect, not if one is a strict subset of the
10950         other. This conforms more to what gst_pad_link_intersect() does.
10951         (gst_element_class_add_pad_template): Don't memcpy the pad
10952         template, just ref it.
10953         (gst_element_get_compatible_pad_filtered): Clean up debug messages
10954
10955         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
10956         (gst_pad_link_filtered): Debug changes.
10957         (gst_pad_link_prepare): New function, consolidated from
10958         can_link_filtered and link_filtered.
10959
10960         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
10961         look more like that of the functions in gstelement.c
10962
10963         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
10964         object, and return the empty string if object is NULL.
10965
10966         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
10967         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
10968         LOG, not DEBUG. We still get flex info on debug.
10969
10970         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
10971         debug string more verbose.
10972         (plugin_times_older_than): DEBUG->LOG.
10973
10974 2004-02-20  Julien MOUTTE <julien@moutte.net>
10975
10976         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
10977         will emit found_tag for each stream they demux with the codec.
10978
10979 2004-02-20  Benjamin Otte  <otte@gnome.org>
10980
10981         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
10982           copy navigation event correctly. Check freeing tag lists. 
10983         * gst/gstthread.c: (gst_thread_change_state):
10984           don't abort() on state changing mess - it might happen because of
10985           bugs.
10986         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
10987           use boxed functions
10988         * gst/gstvalue.h:
10989           fix GST_VALUE_HOLDS_CAPS
10990
10991 2004-02-19  David Schleef  <ds@schleef.org>
10992
10993         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
10994         and use it for GST_FUNCTION.  (bug #134750)
10995
10996 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10997
10998         * po/fr.po:
10999         * po/nl.po:
11000           updating translations
11001
11002 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11003
11004         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11005
11006 2004-02-18  kost@imn.htwk-leipzig.de
11007
11008         reviewed by: David Schleef  <ds@schleef.org>
11009
11010         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11011         for libgstcontrol.
11012
11013 2004-02-18  David Schleef  <ds@schleef.org>
11014
11015         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11016         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11017         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11018         * tools/gst-inspect.c: (print_element_info): Support dumping of
11019         double dparam information.
11020
11021 2004-02-17  David Schleef  <ds@schleef.org>
11022
11023         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11024         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11025         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11026         Use GST_TYPE_CAPS in signal prototype.
11027         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11028         Convert GST_TYPE_CAPS to boxed.
11029         * gst/gstelement.c: (gst_element_class_init):
11030         Use GST_TYPE_TAG_LIST in signal prototype.
11031         * gst/gstindex.c: (gst_index_class_init):
11032         * gst/gstindex.h:
11033         Add GST_TYPE_INDEX_ENTRY type.
11034         * gst/gstmarshal.list:
11035         Add necessary marshal types.
11036         * gst/gstpad.c: (gst_real_pad_class_init),
11037         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11038         (gst_pad_recover_caps_error):
11039         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11040         * gst/gststructure.c: (_gst_structure_initialize),
11041         (gst_structure_copy), (_gst_structure_copy_conditional):
11042         * gst/gststructure.h:
11043         Convert GST_TYPE_STRUCTURE to boxed.
11044         * gst/gsttag.c: (gst_tag_list_get_type):
11045         * gst/gsttag.h:
11046         Add GST_TYPE_TAG_LIST type.
11047
11048 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11049
11050         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11051         to what we agreed with david.
11052         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11053
11054 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11055
11056         * po/nl.po: update translation
11057
11058 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11059
11060         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11061           throw an error if spider is trying to play a mime type there is
11062           no decoder for
11063         * po/POTFILES.in:
11064           add gst/autoplug/gstspider.c for translation
11065
11066 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11067
11068         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11069         silently when the pad is negotiating.
11070
11071 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11072
11073         * docs/faq/Makefile.am:
11074           add script to run gstreamer uninstalled 
11075         * docs/faq/faq.xml:
11076         * docs/faq/developing.xml:
11077         * docs/faq/gst-uninstalled:
11078           extract script to run gstreamer uninstalled
11079         * docs/manuals.mak:
11080           add EXTRA_SOURCES variable for Makefile.am's to set to
11081           use additional SOURCE files for the doc build
11082
11083 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11084
11085         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11086
11087 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11088
11089         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11090         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11091         an error was thrown by osssink. Basically a state change failure for
11092         an element in a different scheduling group was considered as
11093         successful, which means that caps nego was going on and weird stuff
11094         happened. Like I wrote in the comment there, if someone wants to
11095         revert that please drop me a mail explaining why because I really see
11096         no point in keeping that broken behaviour there.
11097         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11098         be empty, we then return NULL which will trigger a nice error when 
11099         pulling from the pad.
11100
11101 2004-02-13  David Schleef  <ds@schleef.org>
11102
11103         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11104         (gst_dparam_get_property), (gst_dparam_set_property),
11105         (gst_dparam_do_update_default):
11106         * libs/gst/control/dparam.h:
11107         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11108         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11109         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11110         (gst_dpsmooth_do_update_double):
11111         * libs/gst/control/dparam_smooth.h:
11112         * libs/gst/control/dparammanager.c:
11113         (gst_dpman_inline_direct_update):
11114         Add support for double dparams.
11115
11116 2004-02-13  David Schleef  <ds@schleef.org>
11117
11118         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11119         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11120
11121 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11122
11123         reviewed by: David Schleef  <ds@schleef.org>
11124
11125         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11126         (gst_fdsrc_init), (gst_fdsrc_set_property),
11127         (gst_fdsrc_get_property), (gst_fdsrc_get):
11128         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11129         and sends an EOS event if file descriptor reading times out.
11130
11131 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11132
11133         * configure.ac:
11134           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11135
11136 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11137
11138         * configure.ac: pass required libxml version as argument
11139         (bug reported by Christophe Fergeau)
11140
11141 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11142   
11143         * docs/gst/gstreamer-docs.sgml:
11144         * docs/gst/tmpl/gstxml.sgml:
11145         * docs/libs/gstreamer-libs-docs.sgml:
11146           version API docs
11147
11148 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11149
11150         * gst/gstinfo.c:
11151         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11152         (gst_registry_pool_feature_filter):
11153         * gst/gstthread.c: (gst_thread_class_init):
11154         * gst/gstvalue.c:
11155           add includes exposed by building without libxml
11156         * gst/indexers/Makefile.am:
11157           do not build fileindex when LOADSAVE disabled; we should have
11158           a better libxml check later since fileindex depends on xml, not
11159           LOADSAVE or REGISTRY
11160         * libs/gst/control/Makefile.am:
11161           link with m
11162         * tools/Makefile.am:
11163           fix wrong source code for gst-xmlinspect
11164
11165 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11166
11167         * configure.ac:
11168           fix gcov help output
11169           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11170         * docs/random/release:
11171           some updated releasing notes
11172         * gstreamer.spec.in:
11173           more updates
11174
11175 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11176
11177         * docs/faq/faq.xml:
11178         * docs/manual/manual.xml:
11179         * docs/pwg/pwg.xml:
11180         * docs/pwg/titlepage.xml:
11181           put version in documentation
11182
11183 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11184
11185         * tools/Makefile.am: fix man page installation
11186
11187 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11188
11189         * configure.ac:
11190           don't check for libxml when load/save and registry disabled (#105844)
11191         * gstreamer.spec.in:
11192           sync with fedora candidate spec
11193
11194 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11195
11196         * po/fr.po:
11197         * po/nl.po:
11198           replace multidisksrc with multifilesrc
11199
11200 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11201
11202         * po/POTFILES.in:
11203           update to multidisksrc => multifilesrc file renaming (#134145)
11204
11205 2004-02-11  David Schleef  <ds@schleef.org>
11206
11207         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11208         * docs/gst/tmpl/gstpadtemplate.sgml: same
11209         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11210         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11211         fixing dance.
11212         * gst/gstutils.c: Remove disabled code that uses GstProps.
11213         * gst/registries/gstxmlregistry.h: same
11214         * docs/random/ds/0.9-suggested-changes: random notes
11215
11216 2004-02-11  kost@imn.htwk-leipzig.de
11217
11218         reviewed by: David Schleef  <ds@schleef.org>
11219
11220         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11221         initialisation of clock (bug #134128)
11222
11223 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11224
11225         * configure.ac:
11226         * gst/elements/Makefile.am:
11227         * gst/elements/gstelements.c:
11228         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11229         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11230         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11231         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11232         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11233         * gst/elements/gstmultifilesrc.h:
11234           rename multidisksrc to multifilesrc (part of #122200)
11235
11236 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11237
11238         * docs/manuals.mak:
11239           fix automake complaints
11240         * gst-element-check.m4:
11241           fix unquotedness
11242
11243 2004-02-11  David Schleef  <ds@schleef.org>
11244
11245         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11246         * gst/gstatomic_impl.h: Disable sparc implementation.
11247
11248 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11249
11250         * gst-element-check.m4:
11251           fix underquoted macros as reported by automake 1.8.x (#133800)
11252         * configure.ac:
11253           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11254           by autopoint (fixes #132996)
11255
11256 2004-02-10  Andy Wingo  <wingo@pobox.com>
11257
11258         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11259         way to do inheritance.
11260         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11261         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11262         Routine docs.
11263         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11264         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11265         doc.
11266         (gst_pad_unlink, gst_pad_is_linked): Docs.
11267         (gst_pad_renegotiate): A brief description of capsnego.
11268         (gst_pad_try_set_caps): Document.
11269         (gst_pad_try_set_caps_nonfixed): Document.
11270         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11271         (gst_pad_set_parent): Deprecated (although not out of the API).
11272         (gst_pad_get_parent): Deprecated, although many plugins use this.
11273         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11274         are private and will go away in 0.9.
11275         (gst_pad_perform_negotiate): Doc.
11276         (gst_pad_link_unnegotiate): I think this is meant to be static.
11277         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11278         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11279         (gst_pad_get_peer): Doc updates.
11280         (gst_pad_caps_change_notify): Doc.
11281         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11282         (gst_ghost_pad_new): Doc fixes.
11283
11284         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11285         (gst_object_check_uniqueness): 
11286
11287         * gst/gstelement.c (gst_element_add_pad) 
11288         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11289         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11290         (gst_element_get_static_pad, gst_element_get_pad_list) 
11291         (gst_element_class_get_pad_template_list) 
11292         (gst_element_class_get_pad_template): Work on the docs.
11293         (gst_element_get_pad_template_list): Uses the class method.
11294         (gst_element_get_compatible_pad_template): Docs, and consolidate
11295         some test conditions. 
11296         (gst_element_get_pad_from_template): New static function.
11297         (gst_element_request_compatible_pad): Docs, and work with
11298         non-request compatible templates. 
11299         (gst_element_get_compatible_pad_filtered): Docs and remove
11300         redundant checks.
11301         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11302         (gst_element_link_filtered, gst_element_link_many) 
11303         (gst_element_link, gst_element_link_pads) 
11304         (gst_element_unlink_many): Docs.
11305
11306 2004-02-05  Andy Wingo  <wingo@pobox.com>
11307
11308         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11309         s/pointer/boxed/.
11310
11311         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11312
11313         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11314         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11315         with the type=GST_TYPE_CAPS. This allows language bindings to know
11316         what kind of data they're dealing with.
11317
11318         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11319         to NULL when g_value_init is called. GstCaps, which rolls its own
11320         type implementation, now does the same instead of allocating empty
11321         caps.
11322         (_gst_caps_initialize, _gst_caps_collect_value,
11323         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11324         table methods. This allows G_VALUE_COLLECT to work.
11325
11326 2004-02-05  Andy Wingo  <wingo@pobox.com>
11327
11328         * configure.ac:
11329         * testsuite/Makefile.am (SUBDIRS): 
11330         * testsuite/ghostpads/Makefile.am: 
11331         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11332
11333         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11334         These two routines are the only ones that set
11335         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11336         pad template. They should be made static, depending on ABI needs.
11337         (gst_real_pad_dispose): Handle the case of ghost pads without a
11338         parent. Assert after dealing with ghost pads that the ghost pad
11339         list is empty.
11340         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11341         set after creation.
11342         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11343         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11344         functions. set_property will call add_ghost_pad/remove_ghost_pad
11345         as appropriate.
11346         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11347
11348         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11349         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11350         (gst_element_remove_pad): Handle ghost pads as well.
11351         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11352         depending on API-stability needs).
11353
11354 2004-02-05  Andy Wingo  <wingo@pobox.com>
11355
11356         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11357         of course they're const
11358
11359 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11360
11361         * tools/Makefile.am:
11362         * tools/gst-feedback:
11363         * tools/gst-feedback-0.7:
11364           make gst-feedback versioned too for consistency
11365
11366 2004-02-11  David Schleef  <ds@schleef.org>
11367
11368         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11369         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11370
11371 2004-02-10  Julien MOUTTE <julien@moutte.net>
11372
11373         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11374         the structure does not contain a valid tag list. Adding a safety check
11375         to remove a noisy warning in that case.
11376
11377 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11378
11379         * gst/gst.c: fix name to be in line with others
11380
11381 2004-02-09  Julien MOUTTE <julien@moutte.net>
11382
11383         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11384         not shout that loud when len is 0. Just return 0 silently.
11385
11386 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11387
11388         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11389         because data_unref has one and I prefer the debug to be symetric.
11390         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11391         were refed when added to the queue and unrefed only once when the queue
11392         was flushed. Now the flush handler unref the buffers two times : first
11393         unref for the ref added when pushing in the queue's tail and second
11394         unref to destroy the flushed buffer.
11395
11396 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11397
11398         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11399
11400 2004-02-06  David Schleef  <ds@schleef.org>
11401
11402         * docs/random/ds/0.9-suggested-changes: Random ramblings
11403         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11404         to int before printing.
11405         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11406         * gst/parse/parse.l: same.  See bug #129600
11407
11408 2004-02-06  David Schleef  <ds@schleef.org>
11409
11410         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11411         (gst_index_add_entry), (gst_index_add_associationv),
11412         (gst_index_add_association): Add gst_index_add_associationv()
11413         and clean up gst_index_add_association(). #127133
11414
11415 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11416
11417         * autogen.sh: check out common with right tag if CVS/Tag exists
11418
11419 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11420
11421         * testsuite/ghostpads/ghostpads.c: (main):
11422           fix testsuite from segfaulting
11423
11424 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11425
11426         * Makefile.am: add release target
11427         * configure.ac: bump nano to 1
11428         * docs/random/release:
11429
11430 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11431
11432         * gst/gstcaps.h:
11433         * gst/gstelement.c: (gst_element_base_class_init),
11434         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11435         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11436         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11437         (gst_real_pad_dispose):
11438         * gst/gststructure.c: (gst_structure_free),
11439         (gst_structure_from_string):
11440           put reverted patch back in
11441         * gst/gstelement.c: (gst_element_remove_pad):
11442           free explicit caps if they're set
11443         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11444           copy the structure when fixating
11445
11446 2004-02-05  David Schleef  <ds@schleef.org>
11447
11448         * gst/gstmarshal.list:
11449         * gst/gstpad.c: (gst_real_pad_class_init),
11450         (_gst_real_pad_fixate_accumulator):
11451         Revert POINTER->BOXED change in signal marshaller.
11452
11453 === release 0.7.4 ===
11454                                                                                 
11455 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11456                                                                                 
11457         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11458         * configure.ac: changed for release
11459
11460 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11461
11462         * gstreamer.spec.in:
11463           bump required version of gtk-doc
11464
11465 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11466
11467         * gst/gstcaps.h:
11468         * gst/gstelement.c: (gst_element_base_class_init),
11469         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11470         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11471         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11472         (gst_real_pad_dispose):
11473         * gst/gststructure.c: (gst_structure_free),
11474         (gst_structure_from_string):
11475           revert patch that breaks applications, reapply after release
11476           to get this fixed properly
11477
11478 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11479
11480         * gst/gsttag.c: (_gst_tag_initialize):
11481         * gst/gsttag.h:
11482           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
11483
11484 2004-02-04  David Schleef  <ds@schleef.org>
11485
11486         Fix some memleaks:
11487         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
11488         (gst_spider_plug_from_srcpad):
11489         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
11490
11491 2004-02-04  David Schleef  <ds@schleef.org>
11492
11493         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
11494         a GstRealPad before accessing its structure members.
11495
11496 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11497
11498         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
11499         (gst_clock_get_speed):
11500         * gst/gstclock.h:
11501           reset padding, remove unused fields
11502
11503 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11504
11505         * gst/autoplug/gstspideridentity.c:
11506         (gst_spider_identity_sink_loop_type_finding):
11507           use get_allowed_caps, not get_caps (fixes #132519)
11508         * gst/elements/gsttypefind.c: (stop_typefinding):
11509           use correct order when sending buffers and seeking
11510
11511 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11512
11513         * configure.ac:
11514         * gst/gstelement.h:
11515         * gst/gstpad.h:
11516         * gst/gstqueue.h:
11517           upgrade libtool CURRENT, reset padding
11518
11519 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11520
11521         * configure.ac:
11522           bump to prerelease
11523           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
11524
11525 2004-02-04  David Schleef  <ds@schleef.org>
11526
11527         * docs/random/ds/0.9-suggested-changes: random notes
11528         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
11529         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
11530         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
11531         expansion.
11532         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11533         (gst_filesink_get_query_types): same
11534         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
11535         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
11536         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
11537         to use new GST_PTR_FORMAT.
11538         * gst/gstelement.h: deprecate function factory macros
11539         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
11540         These are our last variadic macros that can't be replaced with
11541         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
11542         attempting to deprecate gst_element_clock_wait().
11543         * gst/gstevent.h: same
11544         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11545         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
11546         * gst/gstpad.h: deprecate function factory macros similar to above.
11547
11548 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11549
11550         * configure.ac:
11551         * tools/Makefile.am:
11552         * tools/gst-run.c: (popt_callback), (hash_print_key),
11553         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
11554         (get_candidates), (main):
11555           add new source file to generate non-versioned wrapper binaries
11556           for our tools.
11557
11558 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11559
11560         * gst/gstevent.c: (_gst_event_free):
11561           actually break; inside the switch statement
11562         * gst/parse/grammar.y:
11563           fix memleak where GValues weren't unset
11564
11565 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11566
11567         * gst/gststructure.c: (gst_structure_from_string):
11568           fix huge memleak
11569         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11570         (new_entry), (gst_type_find_element_chain):
11571         * gst/gstelement.c: (gst_element_base_class_init),
11572         (gst_element_class_set_details):
11573         * gst/gstpad.c: (gst_pad_can_link_filtered):
11574           fix smaller memleaks
11575         * gst/gstpad.c: (gst_real_pad_dispose):
11576           check that explicit caps are gone
11577         * gst/gststructure.c: (gst_structure_free):
11578           actually free the structure
11579         * gst/gstelement.c: (gst_element_clear_pad_caps):
11580           unset explicit caps
11581
11582 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11583
11584         * tools/Makefile.am:
11585           use AM_CFLAGS since all the CFLAGS are the same
11586           use AM_LDFAGS
11587
11588 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11589
11590         * docs/manual/gnome.xml:
11591           expand example a little
11592         * gst/gst.c: (gst_init_with_popt_table),
11593         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
11594           make sure popt option displays are done with right textdomain
11595           use GstPoptOption type
11596         * gst/gst.h:
11597           create GstPoptOption type
11598
11599 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11600
11601         * gst/gsterror.c: (_gst_stream_errors_init):
11602         * gst/gsterror.h:
11603           adding error type for no codec
11604         * po/POTFILES.in:
11605           add gst-inspect
11606         * po/nl.po:
11607           update dutch translation
11608         * tools/gst-inspect.c: (print_element_list), (main):
11609           do proper internationalization
11610         * tools/gst-launch.c: (idle_func):
11611           remove commented out function call
11612
11613 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11614
11615         * docs/README:
11616           add some error fixing notes
11617         * docs/gst/gstreamer-sections.txt:
11618           remove double entries
11619         * docs/gst/tmpl/gstbin.sgml:
11620         * docs/gst/tmpl/gstclock.sgml:
11621           remove override
11622         * docs/gst/tmpl/gstelement.sgml:
11623         * docs/gst/tmpl/gstindex.sgml:
11624         * docs/gst/tmpl/gstobject.sgml:
11625         * docs/gst/tmpl/gstpadtemplate.sgml:
11626         * docs/gst/tmpl/gstreamer-unused.sgml:
11627         * docs/gst/tmpl/gsttag.sgml:
11628         * docs/gst/tmpl/gstthread.sgml:
11629         * docs/gst/tmpl/gstxml.sgml:
11630         * gst/gsttag.h:
11631           sync header prototypes with c decls
11632         * gst/gsttaginterface.c:
11633           fix doc headers
11634
11635 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11636
11637         * gst/parse/Makefile.am:
11638         * gst/gstobject.h:
11639           get rid of gstmarshal.h dependency. It's not needed.
11640         * gst/gst.h:
11641         * gst/elements/gstfakesink.c:
11642         * gst/elements/gstfakesrc.c:
11643         * gst/elements/gstidentity.c:
11644         * gst/gstbin.c:
11645         * gst/gstelement.c:
11646         * gst/gstindex.c:
11647         * gst/gstobject.c:
11648         * gst/gstpad.c:
11649         * gst/gstthread.c:
11650         * gst/gstxml.c:
11651         * libs/gst/control/dparam.c:
11652         * libs/gst/control/dparammanager.c:
11653           include gstmarshal.h.
11654         Fixes #132045
11655
11656 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11657
11658         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11659         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
11660         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
11661         * gst/elements/gstfilesrc.h:
11662           don't ref the filesrc when creating mmaped buffers. Don't keep a
11663           list of not-yet-destroyed buffers.
11664         * gst/gstbuffer.h:
11665           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
11666
11667 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11668
11669         * gst/gst.c: (init_pre):
11670           remove textdomain
11671
11672 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11673
11674         * docs/pwg/advanced-events.xml:
11675         * docs/pwg/advanced-scheduling.xml:
11676         * docs/pwg/intro-basics.xml:
11677         * docs/pwg/other-manager.xml:
11678         * docs/pwg/other-nton.xml:
11679         * docs/pwg/other-ntoone.xml:
11680         * docs/pwg/other-oneton.xml:
11681         * docs/pwg/pwg.xml:
11682           All sort of documentation... Forgot what. Point is that I want this
11683           in before I leave. The 'other-*' will be the last section and will
11684           explain issues specific to these type of elements.
11685
11686 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11687
11688         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11689         (gst_filesrc_get_read):
11690           set all the values on buffers that we can
11691
11692 2004-02-02  David Schleef  <ds@schleef.org>
11693
11694         Change usage of isblah() to g_ascii_isblah() to be more locale
11695         independent.  (#133076)
11696         * gst/gsturi.c: (gst_uri_protocol_check_internal):
11697         * gst/gstutils.c:
11698         * gst/parse/parse.l:
11699
11700 2004-02-02  Jon Trowbridge  <trow@gnu.org>
11701
11702         reviewed by: David Schleef  <ds@schleef.org>
11703
11704         Fix memory leaks:
11705         * gst/gstcaps.c: (gst_caps_to_string):
11706         * gst/registries/gstxmlregistry.c:
11707         (gst_xml_registry_add_path_list_func),
11708         (gst_xml_registry_parse_padtemplate):
11709
11710 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11711
11712         * gst/gstelement.c: (gst_element_default_error):
11713           suffix error messages with period
11714
11715 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11716
11717         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11718         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11719         * gst/gsterror.c: (gst_error_get_message):
11720           Suffix with dots
11721         * po/fr.po:
11722         * po/nl.po:
11723           Update translation files
11724
11725 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11726
11727         * gst/autoplug/gstspideridentity.c:
11728         (gst_spider_identity_sink_loop_type_finding):
11729         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11730         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11731         (gst_filesink_close_file), (gst_filesink_handle_event),
11732         (gst_filesink_chain):
11733         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11734         (gst_filesrc_get_read), (gst_filesrc_open_file):
11735         * gst/elements/gstidentity.c: (gst_identity_chain):
11736         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11737         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11738         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11739         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11740         * gst/gsterror.c: (_gst_core_errors_init),
11741         (_gst_library_errors_init), (_gst_resource_errors_init),
11742         (_gst_stream_errors_init), (gst_error_get_message):
11743         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11744         (gst_pad_recover_caps_error), (gst_pad_pull):
11745         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11746         * gst/schedulers/gstbasicscheduler.c:
11747         (gst_basic_scheduler_chainhandler_proxy),
11748         (gst_basic_scheduler_gethandler_proxy),
11749         (gst_basic_scheduler_cothreaded_chain):
11750           Suffix error messages with period.
11751           Use (NULL) instead of NULL
11752
11753 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11754
11755         * docs/gst/tmpl/gstelement.sgml:
11756         * docs/gst/tmpl/gstxml.sgml:
11757         * gst/gstelement.c: (gst_element_error_full):
11758           add element path to error
11759
11760 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11761
11762         * docs/random/mimetypes:
11763           update raw int/float info
11764         * gst/gsttag.c: (_gst_tag_initialize):
11765         * gst/gsttag.h:
11766           add GST_TAG_ENCODER
11767
11768 2004-01-30  David Schleef  <ds@schleef.org>
11769
11770         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
11771           missing (#132991)
11772
11773 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
11774
11775         reviewed by Benjamin Otte 
11776           parts of the patch submitted in bug #113913
11777
11778         * configure.ac:
11779           use AC_C_INLINE. Use = instead of == with test
11780         * examples/plugins/example.c:
11781         * gst/autoplug/gstspideridentity.c:
11782         * gst/elements/gstfdsrc.c:
11783         * gst/elements/gstfilesrc.c:
11784         * gst/elements/gstidentity.c:
11785         * gst/elements/gstmultidisksrc.c:
11786         * gst/elements/gststatistics.c:
11787         * gst/gstelement.c:
11788         * gst/gstobject.c:
11789         * gst/gstpad.c:
11790         * gst/gstpipeline.c:
11791         * gst/gstthread.c:
11792           don't end enums with a comma
11793         * gst/gstindex.c: (gst_index_compare_func):
11794           do explicit casting to gint
11795         * gst/gsttrace.c: (gst_trace_text_flush):
11796           #define strsize as a macro
11797
11798 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11799
11800         * docs/README:
11801         * docs/gst/gstreamer-docs.sgml:
11802         * docs/gst/gstreamer-sections.txt:
11803         * docs/gst/tmpl/gstelement.sgml:
11804         * docs/gst/tmpl/gsterror.sgml:
11805         * docs/gst/tmpl/gstinterface.sgml:
11806         * docs/gst/tmpl/gstreamer-unused.sgml:
11807         * docs/gst/tmpl/gststructure.sgml:
11808         * docs/gst/tmpl/gsttag.sgml:
11809         * docs/gst/tmpl/gsttaginterface.sgml:
11810         * docs/gst/tmpl/gstvalue.sgml:
11811         make sure all API ends up in the built docs
11812         * gst/gstinterface.c:
11813         * gst/gststructure.c: (gst_structure_id_set_value),
11814         (gst_structure_set_value), (gst_structure_id_get_value):
11815         * gst/gststructure.h:
11816         * gst/gstvalue.h:
11817         sync .h with .c declarations
11818
11819 2004-01-30  Julien Moutte  <julien@moutte.net>
11820
11821         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
11822         Ronald will fix riffread.
11823
11824 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11825
11826         * docs/pwg/advanced-interfaces.xml:
11827           Added tuner interface docs.
11828
11829 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11830
11831         * docs/random/mimetypes:
11832           correct Theora information
11833         * gst/gstelement.h:
11834           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
11835
11836 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11837
11838         * gst/gstelement.c: (gst_element_error_full):
11839         * gst/gstelement.h:
11840           GST_ELEMENT_ERROR in enum -> _IN_ERROR
11841
11842 2004-01-29  Julien MOUTTE  <julien@moutte.net>
11843
11844         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
11845         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
11846         again and even before DISCONT.
11847         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
11848         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
11849         bytestream so that it's not stopping to fill the bytestream if events
11850         different than EOS or DISCONT are received. Instead it process them so
11851         that they go downstream.
11852
11853 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11854
11855         * docs/gst/tmpl/gstelement.sgml:
11856         * docs/gst/tmpl/gstreamer-unused.sgml:
11857         * docs/gst/tmpl/gstxml.sgml:
11858         * gst/autoplug/gstspideridentity.c:
11859         (gst_spider_identity_sink_loop_type_finding):
11860         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11861         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11862         (gst_filesink_close_file), (gst_filesink_handle_event),
11863         (gst_filesink_chain):
11864         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11865         (gst_filesrc_get_read), (gst_filesrc_open_file):
11866         * gst/elements/gstidentity.c: (gst_identity_chain):
11867         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11868         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11869         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11870         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11871         * gst/gstelement.h:
11872         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11873         (gst_pad_recover_caps_error), (gst_pad_pull):
11874         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11875         * gst/schedulers/gstbasicscheduler.c:
11876         (gst_basic_scheduler_chainhandler_proxy),
11877         (gst_basic_scheduler_gethandler_proxy),
11878         (gst_basic_scheduler_cothreaded_chain):
11879           gst_element_error -> GST_ELEMENT_ERROR
11880
11881 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11882
11883         * docs/Makefile.am:
11884         * docs/gst/tmpl/gstelement.sgml:
11885         * docs/gst/tmpl/gstxml.sgml:
11886         * docs/manuals.mak:
11887         * docs/pwg/advanced-request.xml:
11888         * docs/pwg/advanced-scheduling.xml:
11889         * docs/pwg/advanced-tagging.xml:
11890           fix non-validating docbook using CDATA
11891           make sure make check-local gets run first to check if it validates
11892
11893 2004-01-29  Julien MOUTTE <julien@moutte.net>
11894
11895         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
11896         handling (up and downstream).
11897         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
11898         my_filter thing.
11899
11900 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11901
11902         * docs/pwg/advanced-tagging.xml:
11903           Add docs about tag writing.
11904
11905 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11906
11907         * docs/pwg/advanced-tagging.xml:
11908           Add a part about tag reading and application signalling... Tag
11909           writing still needs to be documented.
11910         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11911           We can set file locations in READY, too.
11912
11913 2004-01-29  Julien MOUTTE <julien@moutte.net>
11914
11915         * docs/random/ds/element-checklist: Adding some notes about src
11916         events.
11917
11918 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11919
11920         * docs/random/mimetypes:
11921           Update docs to point to correct elements for various mimetypes, and
11922           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
11923           <stephane.loeuillet@tiscali.fr>.
11924
11925 2004-01-28  David Schleef  <ds@schleef.org>
11926
11927         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
11928
11929 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11930
11931         * docs/random/mimetypes:
11932           update docs for audio/x-raw-float. Add "buffer-frames=0 means
11933           undefined"
11934         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11935           make it only work in NULL.
11936         * gst/gstcaps.c:
11937           don't posion NULL caps
11938         * gst/gstelement.c: (gst_element_set_time):
11939           add debugging statement
11940         * gst/gstelement.c: (gst_element_emit_found_tag),
11941         (gst_element_found_tag_func), (gst_element_found_tags):
11942         * gst/gstelement.h:
11943           These functions take const taglists
11944         * gst/gstpad.c: (gst_pad_proxy_getcaps):
11945           fix memleak
11946         * gst/gstpad.c: (gst_pad_event_default):
11947           make more effort on handling discont and clocks, g_warn if everything
11948           fails
11949         * gst/gststructure.c: (gst_structure_remove_fields),
11950         (gst_structure_remove_fields_valist):
11951         * gst/gststructure.h:
11952           add gst_structure_remove_fields(_valist)
11953         * gst/gsttag.c:
11954           fix doc glitch
11955
11956 2004-01-28  David Schleef  <ds@schleef.org>
11957
11958         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
11959         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
11960         Fix memory leakage of gst_caps_to_string().
11961
11962         Use GST_PTR_FORMAT instead of gst_caps_to_string():
11963         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
11964         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
11965         (gst_spider_identity_sink_loop_type_finding):
11966         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11967         (find_suggest):
11968         * gst/gstpad.c: (gst_pad_try_relink_filtered),
11969         (gst_pad_set_explicit_caps):
11970         * gst/parse/grammar.y:
11971
11972 2004-01-28  David Schleef  <ds@schleef.org>
11973
11974         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
11975         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
11976         * docs/random/ds/0.9-suggested-changes: Notes from Company.
11977         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
11978         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
11979         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
11980         (gst_debug_log_default), (_gst_info_printf_extension),
11981         (_gst_info_printf_extension_arginfo):  Add printf extension.
11982         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
11983         * gst/gststructure.c: (gst_structure_to_string),
11984         (_gst_structure_parse_value): Use gst_value_deserialize() and
11985         remove old code.
11986         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
11987         (gst_value_deserialize_boolean), (gst_strtoi),
11988         (gst_value_deserialize_int), (gst_value_deserialize_double),
11989         (gst_value_deserialize_string), (gst_value_deserialize): Implement
11990         a bunch of deserialize functions and gst_value_deserialize.
11991         * gst/gstvalue.h: er, _de_serialize, not unserialize
11992         * testsuite/caps/string-conversions.c: (main): We don't currently
11993         handle (float) in caps, so convert these to (double).
11994         * testsuite/debug/Makefile.am: Add new test for the printf extension
11995         * testsuite/debug/printf_extension.c: (main): same
11996
11997 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11998
11999         * docs/random/company/time:
12000           Add some docs about clocking and time
12001
12002 2004-01-28  Julien MOUTTE <julien@moutte.net>
12003
12004         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12005
12006 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12007
12008         * docs/pwg/advanced-clock.xml:
12009         * docs/pwg/advanced-dparams.xml:
12010         * docs/pwg/advanced-events.xml:
12011         * docs/pwg/advanced-interfaces.xml:
12012         * docs/pwg/advanced-midi.xml:
12013         * docs/pwg/advanced-request.xml:
12014         * docs/pwg/advanced-scheduling.xml:
12015         * docs/pwg/advanced-tagging.xml:
12016         * docs/pwg/advanced-types.xml:
12017         * docs/pwg/appendix-checklist.xml:
12018         * docs/pwg/building-boiler.xml:
12019         * docs/pwg/building-chainfn.xml:
12020         * docs/pwg/building-filterfactory.xml:
12021         * docs/pwg/building-pads.xml:
12022         * docs/pwg/building-props.xml:
12023         * docs/pwg/building-signals.xml:
12024         * docs/pwg/building-state.xml:
12025         * docs/pwg/building-testapp.xml:
12026         * docs/pwg/intro-basics.xml:
12027         * docs/pwg/intro-preface.xml:
12028         * docs/pwg/other-autoplugger.xml:
12029         * docs/pwg/other-sink.xml:
12030         * docs/pwg/other-source.xml:
12031         * docs/pwg/titlepage.xml:
12032           fix up id's
12033
12034 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12035
12036         * docs/95NonPath:
12037         * docs/HACKING:
12038         * docs/README:
12039         * docs/building-the-docs-on-debian:
12040           collect relevant bits of doc info
12041
12042 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12043
12044         * docs/pwg/advanced_tagging.xml:
12045           Half-assed commit so Thomas can re-arrange document IDs here to be
12046           consistent, too.
12047
12048 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12049
12050         * docs/manual/autoplugging.xml:
12051         * docs/manual/bins-api.xml:
12052         * docs/manual/bins.xml:
12053         * docs/manual/buffers-api.xml:
12054         * docs/manual/buffers.xml:
12055         * docs/manual/clocks.xml:
12056         * docs/manual/components.xml:
12057         * docs/manual/cothreads.xml:
12058         * docs/manual/debugging.xml:
12059         * docs/manual/dparams-app.xml:
12060         * docs/manual/dynamic.xml:
12061         * docs/manual/elements-api.xml:
12062         * docs/manual/elements.xml:
12063         * docs/manual/factories.xml:
12064         * docs/manual/gnome.xml:
12065         * docs/manual/goals.xml:
12066         * docs/manual/helloworld.xml:
12067         * docs/manual/helloworld2.xml:
12068         * docs/manual/init-api.xml:
12069         * docs/manual/intro.xml:
12070         * docs/manual/links-api.xml:
12071         * docs/manual/links.xml:
12072         * docs/manual/manual.xml:
12073         * docs/manual/motivation.xml:
12074         * docs/manual/pads-api.xml:
12075         * docs/manual/pads.xml:
12076         * docs/manual/plugins-api.xml:
12077         * docs/manual/plugins.xml:
12078         * docs/manual/programs.xml:
12079         * docs/manual/queues.xml:
12080         * docs/manual/quotes.xml:
12081         * docs/manual/schedulers.xml:
12082         * docs/manual/states-api.xml:
12083         * docs/manual/states.xml:
12084         * docs/manual/threads.xml:
12085         * docs/manual/typedetection.xml:
12086         * docs/manual/xml.xml:
12087           use chapter, part, section or misc as id starts for all bits
12088
12089 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12090
12091         * docs/gst/gstreamer-sections.txt:
12092           Fix up TITLE of the sections
12093
12094 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12095
12096         * docs/pwg/advanced_interfaces.xml:
12097           Add documentation on propertyprobing.
12098         * docs/pwg/advanced_events.xml:
12099         * docs/pwg/advanced_tagging.xml:
12100         * docs/pwg/building_boiler.xml:
12101         * docs/pwg/building_filterfactory.xml:
12102         * docs/pwg/pwg.xml:
12103           Move filterfactory and tagging into their own chapter, add a chapter
12104           on events. all these are empty placeholders that will be filled in
12105           some day.
12106
12107 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12108
12109         * docs/pwg/advanced_interfaces.xml:
12110           Docs for mixer interface. Also a check for website uploading.
12111
12112 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12113
12114         * docs/HACKING:
12115         * docs/Makefile.am:
12116         * docs/faq/Makefile.am:
12117         * docs/gst/Makefile.am:
12118         * docs/gst/tmpl/gstelement.sgml:
12119         * docs/gst/tmpl/gstplugin.sgml:
12120         * docs/gst/tmpl/gstreamer-unused.sgml:
12121         * docs/libs/Makefile.am:
12122         * docs/manual/Makefile.am:
12123         * docs/manuals.mak:
12124         * docs/pwg/Makefile.am:
12125         * docs/upload.mak:
12126           Separate out upload target and make it similar for
12127           both docbook and gtk-doc docs
12128
12129 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12130
12131         * docs/manuals.mak:
12132           Fix upload target to work with freedesktop
12133
12134 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12135
12136         * docs/pwg/advanced_types.xml:
12137           Add notes on creating your own types.
12138         * docs/pwg/building_boiler.xml:
12139         * docs/pwg/building_pads.xml:
12140         * docs/pwg/building_state.xml:
12141           Add some stuff about how to retrieve values from structures, how
12142           that relates to types and change layout slightly again to be almost
12143           perfect.
12144
12145 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12146
12147         * docs/pwg/advanced_dparams.xml:
12148         * docs/pwg/advanced_scheduling.xml:
12149           Change index layout slightly.
12150
12151 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12152
12153         * docs/pwg/advanced_clock.xml:
12154         * docs/pwg/advanced_interfaces.xml:
12155         * docs/pwg/advanced_midi.xml:
12156           General placeholders for now.
12157         * docs/pwg/advanced_request.xml:
12158           Explanation about sometimes and request pads.
12159         * docs/pwg/advanced_scheduling.xml:
12160           Concept of bytestream, loopfunctions and schedulers.
12161         * docs/pwg/building_boiler.xml:
12162           Add something about plugin-init.
12163
12164 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12165
12166         * docs/pwg/building_pads.xml:
12167           Fix broken docbook
12168
12169 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12170
12171         * docs/pwg/advanced_interfaces.xml:
12172         * docs/pwg/pwg.xml:
12173           Add as a placeholder for future filling-in.
12174         * docs/pwg/basics_autoplugging.xml:
12175         * docs/pwg/basics_buffers.xml:
12176         * docs/pwg/basics_elements.xml:
12177         * docs/pwg/basics_events.xml:
12178         * docs/pwg/basics_plugins.xml:
12179         * docs/pwg/basics_types.xml:
12180           Remove, because unused (this is all in intro_basics.xml).
12181         * docs/pwg/building_signals.xml:
12182           Short intro to signals + reference to GObject docs - we really
12183           shouldn't go into these sort of things to deply because we don't
12184           use them that extensively anyway.
12185         * docs/pwg/building_state.xml:
12186           Explanation of states. Benjamin, please check.
12187         * docs/pwg/building_testapp.xml:
12188           Put everything in one page - putting only a few lines of content
12189           per page doesn't really make sense.
12190
12191           Time to get into the advanced topics. ;).
12192
12193 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12194
12195         * docs/pwg/advanced_types.xml:
12196           Finish documenting the current state of mimetypes.
12197         * docs/pwg/building_boiler.xml:
12198         * docs/pwg/building_chainfn.xml:
12199         * docs/pwg/building_pads.xml:
12200         * docs/pwg/building_props.xml:
12201         * docs/pwg/building_testapp.xml:
12202           Start documenting the "how to build a simple audio filter" part
12203           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12204           states and (maybe?) a short introduction to capsnego in the chapter
12205           on pads (building_pads.xml). Capsnego should probably be explained
12206           fully in advanced_capsnego.xml or so.
12207
12208 2004-01-26  David Schleef  <ds@schleef.org>
12209
12210         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12211         * gst/gstpad.h: Add new function to allow element to (somewhat)
12212         specify non-fixed caps on a pad.
12213         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12214         that I added a few weeks ago.
12215
12216 2004-01-26  David Schleef  <ds@schleef.org>
12217
12218         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12219           making try_set_caps() work with non-fixed caps.
12220
12221 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12222
12223         * docs/pwg/advanced_types.xml:
12224         * docs/pwg/intro_basics.xml:
12225         * docs/pwg/intro_preface.xml:
12226         * docs/pwg/pwg.xml:
12227         * docs/pwg/titlepage.xml:
12228           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12229           in here (docs/random/mimetypes), and will from there on work on both
12230           updating outdated parts and adding missing parts.
12231           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12232
12233 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12234
12235         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12236           policy is set
12237
12238 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12239
12240         * gst/gstelement.h:
12241           remove gst_element_factory_get_version. It doesn't exist anymore.
12242         * gst/gstplugin.c:
12243         * gst/gstplugin.h:
12244           remove gst_plugin_set_name and change gst_plugin_get_longname to
12245           gst_plugin_get_description to match code.
12246         * gst/gsterror.h:
12247           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12248         * gst/gstpad.c: (gst_pad_try_set_caps):
12249           make it work with nonfixed caps.
12250           Note that even in the nonfixed case the link function of the pad
12251           that tries to set caps isn't called.
12252
12253 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12254
12255         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12256           fix bug where buffer was not assembled correctly
12257         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12258           silence by default
12259         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12260           only seek if there's no more buffers that could work without seeking
12261
12262 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12263
12264         * gst/gsttag.c: (_gst_tag_initialize):
12265         * gst/gsttag.h:
12266           Add application tag (for encoding/muxing app).
12267
12268 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12269
12270         * autogen.sh:
12271           make autopoint force, and libtoolize not copy
12272         * common/m4/as-docbook.m4:
12273           added docbook xml catalog setup check
12274         * common/m4/gst-doc.m4:
12275           use docbook check
12276
12277 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12278
12279         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12280         * gst/gsttag.h:
12281           add GstTagFlag
12282
12283 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12284
12285         * docs/gst/gstreamer-sections.txt:
12286         * docs/gst/tmpl/gst.sgml:
12287         * docs/gst/tmpl/gstbuffer.sgml:
12288         * docs/gst/tmpl/gstclock.sgml:
12289         * docs/gst/tmpl/gstelement.sgml:
12290         * docs/gst/tmpl/gstreamer-unused.sgml:
12291         * docs/gst/tmpl/gstxml.sgml:
12292           sync latest API changes to docs
12293
12294 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12295
12296         * gst/gstpluginfeature.c:
12297           fix doc snippet
12298         * tools/gst-inspect.c: (print_element_list):
12299           fix output of typefind
12300           add GPL header
12301         * tools/gst-launch.c:
12302           add GPL header
12303
12304 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12305
12306         * gst/elements/Makefile.am:
12307         * gst/elements/gstelements.c:
12308         * gst/elements/gsttypefindelement.c:
12309         * gst/elements/gsttypefindelement.h:
12310         * po/POTFILES.in:
12311         * po/fr.po:
12312         * po/nl.po:
12313           renamed gsttypefindelement to gsttypefind, conserving CVS history
12314
12315 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12316
12317         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12318         * gst/gsttag.h:
12319           add some tags used in ogg as well
12320           fix _ in replaygain tags
12321
12322 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12323
12324         * gst/gsterror.h:
12325           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12326
12327 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12328
12329         * gst/gstelement.c: (gst_element_error_full):
12330         * gst/gstelement.h:
12331           change _extended to _full
12332
12333 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12334
12335         reviewed by: <delete if not using a buddy>
12336
12337         * docs/gst/tmpl/gst.sgml:
12338         * docs/gst/tmpl/gstbuffer.sgml:
12339         * docs/gst/tmpl/gstclock.sgml:
12340         * docs/gst/tmpl/gstelement.sgml:
12341         * docs/gst/tmpl/gstreamer-unused.sgml:
12342         * docs/gst/tmpl/gstxml.sgml:
12343         * gst/gstelement.c: (gst_element_error_full):
12344         * gst/gstelement.h:
12345
12346 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12347
12348         * gst/gstelement.h: fix _gst_element_error_printf prototype
12349
12350 2004-01-20  David Schleef  <ds@schleef.org>
12351
12352         * gst/gststructure.c: (gst_structure_to_string):
12353         Convert function to use gst_value_serialize().
12354         * gst/gstvalue.c: (gst_value_serialize_list),
12355         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12356         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12357         (gst_value_serialize_int), (gst_value_serialize_double),
12358         (gst_string_wrap), (gst_value_serialize_string),
12359         (gst_value_serialize), (gst_value_deserialize):
12360         * gst/gstvalue.h:
12361         Add implementations for serialize.
12362
12363 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12364
12365         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12366         we want to keep that one in the future or change xvidenc.c to use 
12367         another error.
12368
12369 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12370
12371         * gst/gstelement.c: (_gst_element_error_printf):
12372         * gst/gstelement.h:
12373           privatise function
12374
12375 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12376
12377         * docs/random/error:
12378           doc explaining error system
12379         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12380           cleanup
12381
12382 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12383
12384         * gst/gst-i18n-app.h:
12385         * gst/gst-i18n-lib.h:
12386           remove inclusion of config.h
12387         * po/POTFILES.in:
12388         * po/nl.po:
12389           add gst/gstelement.c
12390
12391 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12392
12393         * po/nl.po: updated Dutch translation
12394
12395 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12396
12397         * gst/gsterror.c: (_gst_core_errors_init),
12398         (_gst_library_errors_init), (_gst_resource_errors_init),
12399         (_gst_stream_errors_init):
12400         remove ending punctuation dots
12401
12402 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12403
12404         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12405         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12406         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12407         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12408         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12409         use GST_ERROR_SYSTEM
12410
12411 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12412
12413         * gst/gstelement.c: (gst_element_error_printf),
12414         (gst_element_error_extended):
12415         * gst/gstelement.h:
12416           add a helper printf function so we can have NULL values passed.
12417
12418 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12419
12420         * gst/gstelement.h:
12421           add G_STMT macros to gst_element_error, which isn't strictly
12422           necessary but people tell me to anyway.
12423
12424 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12425
12426         * gst/Makefile.am:
12427         * gst/autoplug/gstspideridentity.c:
12428         (gst_spider_identity_sink_loop_type_finding):
12429         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12430         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12431         (gst_filesink_close_file), (gst_filesink_handle_event),
12432         (gst_filesink_chain):
12433         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12434         (gst_filesrc_map_region), (gst_filesrc_get_read),
12435         (gst_filesrc_open_file):
12436         * gst/elements/gstidentity.c: (gst_identity_chain):
12437         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12438         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12439         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12440         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12441         * gst/gst.h:
12442         * gst/gst_private.h:
12443         * gst/gstelement.c: (gst_element_class_init),
12444         (gst_element_default_error), (gst_element_error_func),
12445         (gst_element_error_extended):
12446         * gst/gstelement.h:
12447         * gst/gsterror.c: (_gst_core_errors_init),
12448         (_gst_library_errors_init), (_gst_resource_errors_init),
12449         (_gst_stream_errors_init), (gst_error_get_message):
12450         * gst/gsterror.h:
12451         * gst/gstinfo.c: (_gst_debug_init):
12452         * gst/gstmarshal.list:
12453         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12454         (gst_pad_recover_caps_error), (gst_pad_pull):
12455         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12456         * gst/schedulers/gstbasicscheduler.c:
12457         (gst_basic_scheduler_chainhandler_proxy),
12458         (gst_basic_scheduler_gethandler_proxy),
12459         (gst_basic_scheduler_cothreaded_chain):
12460         * po/POTFILES.in:
12461         * po/fr.po:
12462         * po/nl.po:
12463           change error signal
12464           add error categories
12465
12466 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12467
12468         * gst/gsttag.c: (_gst_tag_initialize):
12469         * gst/gsttag.h:
12470         Add replaygain tag
12471
12472 2004-01-18  Colin Walters  <walters@verbum.org>
12473
12474         * examples/retag/retag.c: Call gst_init before processing
12475         program args.  Add g_assert to _link_many call.
12476
12477 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12478
12479         * gst/gstpad.c: (gst_pad_alloc_buffer):
12480           Return a newly allocated buffer when the pad has no peer.
12481
12482 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12483
12484         * gst/gstclock.c: (gst_clock_get_time):
12485           make it compile with gcc 2.95 again.
12486           Patch by Scott Wheeler
12487
12488 2004-01-15  David Schleef  <ds@schleef.org>
12489
12490         * gst/gstcaps.h:
12491         Added gst_caps_is_simple() macro.
12492         * testsuite/caps/caps.c: (test1):
12493         * testsuite/caps/intersect2.c: (main):
12494         * testsuite/caps/intersection.c: (main):
12495         Fixes to make 'make check' work again after removing
12496         gst_caps_is_chained().
12497
12498 2004-01-15  Leif Johnson <leif@ambient.2y.net>
12499
12500         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
12501         and additions to the MIDI document.
12502
12503 2004-01-15  David Schleef  <ds@schleef.org>
12504
12505         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
12506         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
12507         of GST_RPAD_, since we don't know if it's a real or ghost pad.
12508
12509 2004-01-15  David Schleef  <ds@schleef.org>
12510
12511         * gst/gstqueue.c:
12512         * gst/gstqueue.h:
12513         Fix the spelling of "treshold" and make min_threshold actually
12514         affect the queue.
12515
12516 2004-01-15  David Schleef  <ds@schleef.org>
12517
12518         * gst/gstcaps.c:
12519         Add lots of documentation.
12520         * gst/gstcaps.h:
12521         Deprecate a few functions.
12522         * gst/gstpad.c:
12523         Removed use of deprecated functions.
12524
12525 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12526
12527         * gst/gstpad.c: (gst_pad_is_linked):
12528         * gst/gstpad.h:
12529           implement gst_pad_is_linked
12530         * gst/gstelement.h:
12531           reserve space for initiate_state_change
12532
12533 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12534
12535         * gst/autoplug/gstspideridentity.c:
12536         (gst_spider_identity_sink_loop_type_finding):
12537           break infinite loop by just returning instead of looping
12538         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
12539           set event time difference correctly. Set it to 1 second instead
12540           of 100ms to be more tolerant
12541         * gst/gstelement.c: (gst_element_set_time):
12542           add debugging output
12543
12544 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12545
12546         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
12547           query if buffers are inside the pool, ignore events
12548
12549 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12550
12551         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
12552         (gst_clock_set_speed), (gst_clock_set_active),
12553         (gst_clock_is_active), (gst_clock_reset),
12554         (gst_clock_handle_discont):
12555         * gst/gstclock.h:
12556           deprecate old interface and disable functions that aren't in use
12557           anymore.
12558         * gst/gstelement.h:
12559         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
12560         (gst_element_set_time), (gst_element_adjust_time):
12561           add concept of "element time" and functions to get/set this time.
12562         * gst/gstelement.c: (gst_element_change_state):
12563           update element time correctly.
12564         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12565           This is a debug message, not a g_critical.
12566         * gst/gstpad.c: (gst_pad_event_default):
12567           handle discontinuous events right with element time.
12568         * gst/gstscheduler.c: (gst_scheduler_state_transition):
12569           update to clocking fixes.
12570           set clocks on elements in READY=>PAUSED. The old behaviour caused
12571           a wrong element time on the first element that started playing.
12572         * gst/schedulers/gstbasicscheduler.c:
12573         (gst_basic_scheduler_class_init):
12574         * gst/schedulers/gstoptimalscheduler.c:
12575         (gst_opt_scheduler_class_init):
12576           remove code that just implements the default behaviour.
12577         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
12578           update to use new clocking functions
12579         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
12580         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
12581           update to test new element time.
12582         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
12583           use _get_allowed_caps instead of _get_caps. This catches filtered
12584           caps correctly.
12585         * testsuite/debug/commandline.c:
12586           update for new GST_DEBUG syntax.
12587         * testsuite/threads/Makefile.am:
12588           disable a test that only works sometimes.
12589
12590 2004-01-13  Julien MOUTTE <julien@moutte.net>
12591
12592         * po/LINGUAS: Adding fr.
12593         * po/fr.po: Adding french translation.
12594
12595 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12596
12597         * gst/parse/grammar.y:
12598         * po/POTFILES.in:
12599         * po/nl.po:
12600         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
12601           translate parsing error messages
12602
12603 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12604
12605         * po/POTFILES.in: adding gst-launch
12606         * po/nl.po: updated translation, all 99 strings translated
12607         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
12608         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
12609           fix strings for translation
12610
12611 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12612
12613         * gst/gst.c:
12614           - capitalize beginnings of popt options
12615           - fix strings for translation
12616           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
12617
12618 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12619
12620         * po/README: add some notes on how to update translations
12621
12622 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12623
12624         * ABOUT-NLS: removed, is autogenerated from autopoint
12625         * autogen.sh: add autopoint stuff
12626         * configure.ac: fix up gettext stuff
12627         * gst/Makefile.am: add i18n headers to noinst_HEADERS
12628         * gst/elements/gsttypefindelement.c: add header include
12629         * gst/gettext.h: add header, copy from system-installed header
12630         * gst/gst-i18n-app.h: to be included by each app having translations
12631         * gst/gst-i18n-lib.h: to be included by each lib having translations
12632         * gst/gst.c: (init_pre): fix up gettext calls
12633         * gst/gst_private.h: remove i18n stuff, moving to separate headers
12634         * po/LINGUAS: the new way to specify translations present
12635         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
12636         * po/Makevars: the variables filled in for GStreamer
12637         * po/POTFILES.in: added new files with translations
12638         * po/de.po: has new strings
12639         * po/nl.po: readded, has new strings
12640
12641 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12642
12643         * gst/gsttag.c: fix some strings marked for translation
12644
12645 2004-01-13  Iain <iain@prettypeople.org>
12646
12647         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
12648         group when we add an element to it, cos we unref it when we remove one
12649
12650 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12651
12652         * testsuite/debug/commandline.c: (debug_not_reached):
12653         * testsuite/debug/output.c: (check_message):
12654           fix testsuite
12655
12656 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12657
12658         * examples/cutter/.cvsignore:
12659         * examples/helloworld/.cvsignore:
12660         * examples/launch/.cvsignore:
12661         * examples/manual/.cvsignore:
12662         * examples/mixer/.cvsignore:
12663         * examples/pingpong/.cvsignore:
12664         * examples/plugins/.cvsignore:
12665         * examples/queue/.cvsignore:
12666         * examples/queue2/.cvsignore:
12667         * examples/queue3/.cvsignore:
12668         * examples/queue4/.cvsignore:
12669         * examples/retag/.cvsignore:
12670         * examples/thread/.cvsignore:
12671         * examples/typefind/.cvsignore:
12672         * examples/xml/.cvsignore:
12673         * gst/.cvsignore:
12674         * gst/autoplug/.cvsignore:
12675         * gst/elements/.cvsignore:
12676         * gst/indexers/.cvsignore:
12677         * gst/parse/.cvsignore:
12678         * gst/registries/.cvsignore:
12679         * gst/schedulers/.cvsignore:
12680         * libs/gst/bytestream/.cvsignore:
12681         * libs/gst/control/.cvsignore:
12682         * libs/gst/getbits/.cvsignore:
12683         * tests/.cvsignore:
12684         * tests/bufspeed/.cvsignore:
12685         * tests/instantiate/.cvsignore:
12686         * tests/memchunk/.cvsignore:
12687         * tests/muxing/.cvsignore:
12688         * tests/sched/.cvsignore:
12689         * tests/seeking/.cvsignore:
12690         * tests/threadstate/.cvsignore:
12691         * testsuite/.cvsignore:
12692         * testsuite/caps/.cvsignore:
12693         * testsuite/cleanup/.cvsignore:
12694         * testsuite/dynparams/.cvsignore:
12695         * testsuite/plugin/.cvsignore:
12696         * tools/.cvsignore:
12697           update - this is huge, because it includes *.bb, *.bbg and *.da files
12698           which are generated for gcov.
12699
12700 2004-01-11  David Schleef  <ds@schleef.org>
12701
12702         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
12703         a function to parse integers in ways that strto[u]l() does not.
12704
12705 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12706
12707         * tools/gst-inspect.c: (print_caps):
12708           improve output of caps a bit
12709
12710 2004-01-11  David Schleef  <ds@schleef.org>
12711
12712         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
12713         inherit correct flags (READONLY and DONTKEEP).
12714
12715 2004-01-11  David Schleef  <ds@schleef.org>
12716
12717         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
12718         (gst_filesrc_map_region):
12719         * gst/gstbuffer.c: (_gst_buffer_initialize),
12720         (_gst_buffer_sub_free), (gst_buffer_default_copy),
12721         (gst_buffer_new), (gst_buffer_create_sub),
12722         (gst_buffer_is_span_fast), (gst_buffer_span):
12723         * gst/gstbuffer.h:
12724         Change GstBuffer private structure element names. (all files)
12725         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12726         (gst_queue_link):
12727         * gst/gstqueue.h:
12728         Implement getcaps/pad_link functions that handle the case where
12729         there are data in the queue.
12730
12731 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12732
12733         * gst/elements/gstbufferstore.c:
12734           initialize debugging structure correctly
12735         * gst/elements/gsttee.c: (gst_tee_set_property):
12736           g_object_notify when property was changed
12737         * gst/elements/gsttypefindelement.c:
12738         (gst_type_find_element_change_state):
12739           clear caps correctly
12740
12741 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12742
12743         * gst/gstqueue.c: (gst_queue_init):
12744           Use better defaults for when a queue should block. This
12745           gets rid of jerky playback for quite a few files.
12746           It takes more memory.
12747
12748 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12749
12750         (gst_xml_registry_parse_padtemplate):
12751           make critical message slightly more useful
12752
12753 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12754
12755         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
12756         (gst_debug_message_get), (gst_debug_log_default):
12757         * gst/gstinfo.h:
12758           Change gst_debug_log(_valist) to take a const format string.
12759           Change prototype of log function and functions using those to 
12760           take a GstDebugMessage instead of a string that requires using
12761           gst_debug_message_get.
12762
12763 2004-01-08  David Schleef  <ds@schleef.org>
12764
12765         * Makefile.am:
12766         * configure.ac:
12767         Add option --enable-gcov to build GStreamer with -fprofile-arcs
12768         and -ftest-coverage, which allows gcov to show information about
12769         testsuite coverage.
12770
12771 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12772
12773         * gst/gstutils.h:
12774           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
12775           GST_PARENT_CALL_WITH_DEFAULT
12776         * gst/elements/gstaggregator.c: 
12777         * gst/elements/gstbufferstore.c: 
12778         * gst/elements/gstfakesink.c: 
12779         * gst/elements/gstfakesrc.c: 
12780         * gst/elements/gstfdsink.c: 
12781         * gst/elements/gstfdsrc.c: 
12782         * gst/elements/gstfilesink.c: 
12783         * gst/elements/gstfilesrc.c: 
12784         * gst/elements/gstidentity.c: 
12785         * gst/elements/gstmd5sink.c: 
12786         * gst/elements/gstmultidisksrc.c:
12787         * gst/elements/gstpipefilter.c: 
12788         * gst/elements/gstshaper.c:
12789         * gst/elements/gststatistics.c:
12790         * gst/elements/gsttee.c:
12791         * gst/elements/gsttypefindelement.c:
12792           use them.
12793
12794 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12795
12796         * docs/gst/gstreamer-docs.sgml: remove props
12797         * docs/gst/gstreamer-sections.txt: remove props
12798         * docs/gst/tmpl/gst.sgml:
12799         * docs/gst/tmpl/gstbin.sgml:
12800         * docs/gst/tmpl/gstbuffer.sgml:
12801         * docs/gst/tmpl/gstcaps.sgml:
12802         * docs/gst/tmpl/gstclock.sgml:
12803         * docs/gst/tmpl/gstelement.sgml:
12804         * docs/gst/tmpl/gstindex.sgml:
12805         * docs/gst/tmpl/gstobject.sgml:
12806         * docs/gst/tmpl/gstpad.sgml:
12807         * docs/gst/tmpl/gstpadtemplate.sgml:
12808         * docs/gst/tmpl/gstreamer-unused.sgml:
12809         * docs/gst/tmpl/gstthread.sgml:
12810         * docs/gst/tmpl/gstxml.sgml:
12811           sync with code reorganization
12812
12813 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
12814
12815         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12816         Make the 'Could not find compatible pad' message more informative.
12817
12818 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12819                                                                                 
12820         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
12821           Fix for if we pass NULL as property to location.
12822         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
12823         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
12824           Fix for instantiate-test (see below).
12825         * gst/gststructure.c: (_gst_structure_parse_value):
12826           Fix compile error on gcc-2.96.
12827         * configure.ac:
12828         * tests/Makefile.am:
12829         * tests/instantiate/Makefile.am:
12830         * tests/instantiate/create.c: (create_all_elements), (main):
12831           Add a test that instantiates all elements. This makes it easy to
12832           track dead code for old API/design (like setting event functions
12833           on sink pads and so on).
12834
12835 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
12836
12837         * gst/gstcaps.c: (gst_caps_append_structure):
12838           Move the poisoning to allow a NULL structure
12839         * gst/gstevent.c: (_gst_event_free):
12840           When freeing a navigation event, free the structure
12841           also
12842
12843 2004-01-04  David Schleef  <ds@schleef.org>
12844
12845         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12846         Remove usage of gst_pad_proxy_fixate.
12847         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
12848         (gst_caps_split_one), (gst_caps_replace):
12849         Add poisoning code.
12850         * gst/gstmarshal.list:
12851         Add pointer__pointer for fixate signal
12852         * gst/gstpad.c: (gst_real_pad_class_init),
12853         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12854         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
12855         (gst_pad_set_explicit_caps), (gst_pad_template_new):
12856         Add poisoning code. Add fixate signal on RealPad. Change
12857         set_explicit_caps() to take const GstCaps, like try_set_caps().
12858         * gst/gstpad.h:
12859         * testsuite/caps/Makefile.am:
12860         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
12861
12862 2004-01-03  David Schleef  <ds@schleef.org>
12863
12864         * gst/elements/gsttypefindelement.c:
12865         (gst_type_find_element_have_type), (gst_type_find_element_init):
12866         Use gst_pad_use_explicit_caps for src pad.
12867         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
12868         before using it.
12869
12870 2004-01-03  David Schleef  <ds@schleef.org>
12871
12872         * gst/gstelement.c: (gst_element_link_pads_filtered),
12873         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
12874         that linking was successful.
12875         * gst/gstpad.c: (gst_pad_link_free),
12876         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
12877         (gst_pad_link_try), (gst_pad_link_unnegotiate),
12878         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
12879         GstPadLinkReturn correctly between functions, and don't fail
12880         when DELAYED is used (DELAYED is very important).  Better
12881         cleanup on unlinking and unnegotiation.  Should fix some spider
12882         bugs.
12883
12884 2004-01-02  David Schleef  <ds@schleef.org>
12885
12886         * gst/gstelement.c: (gst_element_class_init),
12887         (gst_element_base_class_init): ->padtemplates should be cleared
12888         in base_init, since we need to have a fresh list for every
12889         class.  (Alternately, we chould copy the list and share the
12890         actual pad templates (not the list), but that would require
12891         changing every plugin to move pad template registration from
12892         base_init to class_init.)
12893
12894 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12895
12896         * gst/gstelement.c: (gst_element_class_add_pad_template):
12897           Refuse registering a pad template if another pad template
12898           with the same name already exists (#114715).
12899
12900 2004-01-02  David Schleef  <ds@schleef.org>
12901
12902         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
12903         (gst_caps_is_equal_fixed): Add new function.
12904         * gst/gstcaps.h: ditto.
12905         * gst/gstpad.c: (gst_real_pad_class_init),
12906         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
12907         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
12908         check new caps against existing caps -- if they're the same, return
12909         OK without renegotiating.  caps-nego-failed signal fixed so that
12910         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
12911         to save an extra caps copy.  Don't complete negotiation if a pad
12912         link function returns DELAYED.
12913
12914 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12915
12916         * gst/gstpad.c: (gst_pad_try_relink_filtered):
12917           Fix wrong g_return_if_fail
12918
12919 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
12920
12921         * gst/gstbin.c: (gst_bin_class_init):
12922         Change the marshalling of element_added/element_removed
12923         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
12924         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
12925
12926 2004-01-01  David Schleef  <ds@schleef.org>
12927
12928         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12929         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
12930         (gst_pad_use_explicit_caps):
12931         * gst/gstpad.h:
12932         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
12933         to use an internal getcaps and link fuction so that negotiation
12934         always results in the explicitly set caps.
12935         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
12936         are particularly useful for decoders.
12937
12938 2003-12-31  David Schleef  <ds@schleef.org>
12939
12940         * gst/elements/gstidentity.c: (gst_identity_class_init),
12941         (gst_identity_init), (gst_identity_chain),
12942         (gst_identity_set_property), (gst_identity_get_property):
12943         * gst/elements/gstidentity.h:
12944         * gst/gstqueue.c: (gst_queue_init):
12945           Negotiation fixes.
12946
12947 2003-12-31  David Schleef  <ds@schleef.org>
12948
12949         * gst/gstcaps.c: (gst_caps_intersect),
12950         (_gst_caps_normalize_foreach), (gst_caps_normalize):
12951           Implement gst_caps_normalize().
12952         * testsuite/caps/normalisation.c: (main):
12953           Add an additional test
12954
12955 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12956
12957         * gst/gstqueue.c: (gst_queue_init):
12958           use gst_pad_proxy_getcaps()
12959
12960 2003-12-31  David Schleef  <ds@schleef.org>
12961
12962         * gst/elements/gstshaper.c: (gst_shaper_link):
12963         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12964         * gst/gstqueue.c: (gst_queue_link):
12965           Negotiation fixes.
12966
12967 2003-12-31  David Schleef  <ds@schleef.org>
12968
12969         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
12970         * gst/gstpad.h: Add functions that are useful as default pad
12971         link and fixate functions for elements.
12972
12973 2003-12-30  David Schleef  <ds@schleef.org>
12974
12975         * gst/gstpad.c: (gst_pad_link_try):
12976           Fix segfault when attempting to return to old caps
12977
12978 2003-12-29  David Schleef  <ds@schleef.org>
12979
12980         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
12981         (gst_caps_structure_simplify), (gst_caps_simplify):
12982         * gst/gstcaps.h:
12983           Add simplify function
12984         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
12985         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
12986         * gst/gstpad.h:
12987           Copy over srcnotify, sinknotify when calling old pad_link
12988           functions.  Add new is_negotiated() function.
12989         * gst/gststructure.c: (gst_structure_copy):
12990           Fix an incredibly stupid bug that should have been noticed
12991           weeks ago.  _copy() returned the argument, not the new copy.
12992
12993 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12994
12995         * gst/gstcaps.c: (gst_caps_append):
12996           add sanity checks
12997         * gst/gstcaps.h: (gst_caps_debug):
12998           remove, it doesn't exist anymore.
12999         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13000         (gst_element_threadsafe_properties_post_run):
13001           make debugging messages not clutter up THREAD debug category
13002         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13003         (gst_element_change_state):
13004           update to new caps API
13005         * gst/gstinterface.c: (gst_implements_interface_cast):
13006           don't put vital code in g_return_if_fail
13007         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13008         (gst_pad_link_filtered):
13009           add pst_pad_try_link and use it.
13010         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13011           implement correctly, deprecate first one.
13012         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13013           add and implement.
13014         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13015           implement.
13016         (gst_pad_get_negotiated_caps):
13017           add and implement. Make GST_PAD_CAPS call this function.
13018         (gst_pad_get_caps):
13019           remove unneeded check..
13020         (gst_pad_recover_caps_error):
13021           disable, always return FALSE.
13022         (gst_real_pad_dispose):
13023           don't free caps and appfilter anymore, they're unused.
13024         * gst/gstpad.h:
13025           Reflect changes mentioned above.
13026         * gst/gstsystemclock.c: (gst_system_clock_wait):
13027           Make 'clock is way behind' a debugging message.
13028         * gst/gstthread.c: (gst_thread_change_state):
13029           Fix debugging message
13030
13031 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13032
13033         * gst/gstinfo.h:
13034           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13035         * docs/gst/tmpl/gstreamer-unused.sgml:
13036           removed all traces of cvs conflicts
13037
13038 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13039
13040         * configure.ac:
13041         * gst/schedulers/cothreads_compat.h:
13042         * libs/Makefile.am:
13043           remove last instances of wingo cothread usage
13044
13045 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13046
13047         * gst/gstplugin.c:
13048         * gst/gstversion.h.in:
13049         * gst/parse/grammar.y:
13050           change comment block from /** to /* when not gtk-doc comments
13051
13052 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13053
13054         * gst/gst.c: whitespace and doc style fixes
13055
13056 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13057
13058         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13059
13060 2003-12-24  Colin Walters  <walters@verbum.org>
13061
13062         * gst/elements/gsttypefindelement.c:
13063           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13064           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13065           Don't double-free caps.
13066
13067 2003-12-23  David Schleef  <ds@schleef.org>
13068
13069         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13070           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13071           Many little fixes and additions of debug statements to
13072           get rhythmbox working.
13073
13074 2003-12-23  Colin Walters  <walters@verbum.org>
13075
13076         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13077         Use GST_PAD_LINK_SUCCESSFUL.
13078
13079 2003-12-23  David Schleef  <ds@schleef.org>
13080
13081         * gst/elements/gstaggregator.c:
13082         * gst/elements/gsttee.c:
13083           Use gst_pad_proxy_getcaps().
13084         * gst/gstpad.c:
13085         * gst/gstpad.h:
13086           Add gst_pad_proxy_getcaps(), which filter elements can use
13087           as a generic getcaps implementation.
13088           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13089           was advertised.
13090
13091 2003-12-23  David Schleef  <ds@schleef.org>
13092
13093         * gst/gstpad.c:
13094           Rearrange/rewrite much of the pad negotiation code, since it
13095           resembled pasta.  This actually changes the way some
13096           negotiation works, since the previous code was inconsistent
13097           depending on how it was invoked.  Add (internal) structure
13098           GstPadLink, which is used to hold some information (more in
13099           the future) about the link between two pads.  Fixes a number
13100           of bugs, including random lossage of filter caps when the
13101           initial negotiation is delayed.  A few functions are still
13102           unimplemented.
13103         * gst/gstpad.h:
13104           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13105           these when testing GstPadLinkReturn values instead of comparing
13106           directly.
13107
13108 2003-12-23  David Schleef  <ds@schleef.org>
13109
13110         * gst/gstvalue.c: 
13111         * gst/gstvalue.h:
13112           Rearrange lots of code.  Change registration of compare function
13113           into registration of compare/serialize/deserialize functions.
13114           Doesn't include implementation of gst_value_[de]serialize(),
13115           but that should be easy.
13116
13117 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13118
13119         * docs/gst/gstreamer-sections.txt:
13120         * docs/gst/tmpl/gstprops.sgml: removed
13121         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13122           David removed props and caps code, so let's remove their docs as well.
13123           Removed all no longer existing symbols from gstreamer-sections.txt
13124           
13125 2003-12-22  Colin Walters  <walters@verbum.org>
13126
13127         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13128           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13129           of tags directly.
13130
13131 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13132
13133         * gst/elements/gstelements.c:
13134           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13135         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13136           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13137           gst_caps (peer).
13138
13139 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13140
13141         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13142         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13143         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13144         (gst_spider_identity_sink_loop_type_finding):
13145         * gst/autoplug/gstspideridentity.h:
13146           Fix autoplugging in spider element, so it works with new caps.
13147           This was mainly caused by identifying empty caps incorrectly.
13148
13149 2003-12-22  David Schleef  <ds@schleef.org>
13150
13151         * gststructure.c, gstvalue.c, gstvalue.h: Add
13152           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13153           using g_value_copy()
13154
13155 2003-12-21  David Schleef  <ds@schleef.org>
13156
13157         * many, many files: Merge CAPS branch.  This includes:
13158           - implemention of GstValue and several GstValue types
13159           - implemention of GstStructure
13160           - entire rewrite of GstCaps
13161           - removal of GstProps
13162           - many changes to GstPad to compensate for new caps paradigm
13163           - removal of GstBufferpool
13164         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13165         gstvalue.h, gst/gstcaps[2]*.[ch]:
13166           - rename gstcaps2.[ch] to gstcaps.[ch]
13167
13168 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13169
13170         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13171         (gst_queue_chain), (gst_queue_handle_src_event):
13172           implement timeout for sending events. Workaround for if the
13173           pipeline on this queue is not passing any data.
13174
13175 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13176                                                                                 
13177         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13178         * moved CVS to freedesktop.org
13179