gst/gstmessage.*: Add _new_custom, make _new_application a macro to _new_custom.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2
3         * gst/gstmessage.c: (gst_message_new_custom):
4         * gst/gstmessage.h:
5           Add _new_custom, make _new_application a macro to _new_custom.
6
7 2005-07-20  Wim Taymans  <wim@fluendo.com>
8
9         * gst/base/gstbasesrc.c: (gst_base_src_init),
10         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
11         * gst/base/gstbasesrc.h:
12         Add a gboolean to decide when to push out a discont.
13
14         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15         (gst_queue_loop), (gst_queue_handle_src_query),
16         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
17         (gst_queue_set_property), (gst_queue_get_property):
18         Some cleanups.
19
20         * tests/threadstate/threadstate1.c: (main):
21         Make a thread test compile and run... very silly..
22
23
24 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25
26         * docs/manual/appendix-porting.xml:
27           Mention removal of libgstgconf-0.9.la and existence of gconf
28           elements.
29
30 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31
32         * docs/pwg/advanced-clock.xml:
33         * docs/pwg/appendix-porting.xml:
34         * docs/pwg/intro-preface.xml:
35         * docs/pwg/other-base.xml:
36         * docs/pwg/other-manager.xml:
37         * docs/pwg/other-nton.xml:
38         * docs/pwg/other-ntoone.xml:
39         * docs/pwg/other-oneton.xml:
40         * docs/pwg/pwg.xml:
41           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
42           demuxer), remove n-to-n (was never written), fix some code examples
43           and links and update the porting section to include all this.
44
45 2005-07-19  Wim Taymans  <wim@fluendo.com>
46
47         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
48         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
49         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
50         (gst_queue_src_activate_push), (gst_queue_change_state),
51         (gst_queue_get_property):
52         * gst/gstqueue.h:
53         Propagate GstFlowReturn more intelligently upstream and output
54         an ERROR/EOS when streaming stopped due to fatal error.
55
56 2005-07-19  Wim Taymans  <wim@fluendo.com>
57
58         * tools/gst-launch.c: (check_intr), (event_loop), (main):
59         Don't block forever for the state change to complete, the
60         pipeline already did with a sensible timeout.
61
62 2005-07-19  Wim Taymans  <wim@fluendo.com>
63
64         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
65         Make sure we never call the create function is we
66         got deactivated.
67
68 2005-07-19  Andy Wingo  <wingo@pobox.com>
69
70         * gst/parse/parse.l: Attempt to solve bug #172815.
71
72 2005-07-19  Wim Taymans  <wim@fluendo.com>
73
74         * docs/design/part-clocks.txt:
75         * docs/design/part-events.txt:
76         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
77         Small docs updates.
78         Only update the seeking values when we are not
79         busy streaming.
80
81 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
82
83         * gst/base/gstbasesrc.c: (gst_base_src_loop):
84           Oops, ignore the result of gst_pad_push_event here.
85
86 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
87
88         * gst/base/gstbasesrc.c: (gst_base_src_loop),
89         (gst_base_src_activate_push):
90           Send discont event from the loop function, as pads
91           aren't activated yet in the activate_push handler.
92
93         * gst/gstbin.c: (bin_bus_handler):
94           Don't leak element name.
95
96 2005-07-18  Andy Wingo  <wingo@pobox.com>
97
98         * configure.ac: Use AS_LIBTOOL_TAGS.
99
100 2005-07-18  Wim Taymans  <wim@fluendo.com>
101
102         * docs/gst/gstreamer.types:
103         Remove deleted types.
104
105 2005-07-18  Wim Taymans  <wim@fluendo.com>
106
107         * check/elements/gstfakesrc.c: (GST_START_TEST):
108         * configure.ac:
109         * gst/Makefile.am:
110         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
111         (init_popt_callback):
112         * gst/gst.h:
113         * gst/gst_private.h:
114         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
115         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
116         * gst/gstbin.h:
117         * gst/gstbus.h:
118         * gst/gstconfig.h.in:
119         * gst/gstelement.c: (gst_element_class_init),
120         (gst_element_set_base_time), (gst_element_get_base_time),
121         (iterator_fold_with_resync), (gst_element_change_state),
122         (gst_element_dispose), (gst_element_get_bus):
123         * gst/gstelement.h:
124         * gst/gstelementfactory.h:
125         * gst/gsterror.c: (_gst_core_errors_init):
126         * gst/gsterror.h:
127         * gst/gstevent.h:
128         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
129         * gst/gstindex.c:
130         * gst/gstinfo.c: (_gst_debug_init):
131         * gst/gstmessage.c: (_gst_message_copy):
132         * gst/gstmessage.h:
133         * gst/gstminiobject.h:
134         * gst/gstobject.c:
135         * gst/gstobject.h:
136         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
137         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
138         * gst/gstpad.h:
139         * gst/gstparse.h:
140         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
141         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
142         (gst_pipeline_get_last_stream_time):
143         * gst/gstpipeline.h:
144         * gst/gstpluginfeature.h:
145         * gst/gstquery.h:
146         * gst/gstscheduler.c:
147         * gst/gstscheduler.h:
148         * gst/gststructure.h:
149         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
150         (gst_task_finalize), (gst_task_func), (gst_task_create),
151         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
152         (gst_task_stop), (gst_task_pause):
153         * gst/gsttask.h:
154         * gst/gsttypefind.h:
155         * gst/gsttypes.h:
156         * gst/registries/gstlibxmlregistry.c: (load_feature),
157         (gst_xml_registry_load), (gst_xml_registry_save_feature):
158         * gst/registries/gstxmlregistry.c:
159         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
160         * gst/schedulers/threadscheduler.c:
161         * libs/gst/control/dparammanager.h:
162         * tools/gst-inspect.c: (print_element_list),
163         (print_plugin_features), (print_element_features):
164         * tools/gst-xmlinspect.c: (print_element_list),
165         (print_plugin_info), (main):
166         Removed plugable schedulers.
167         Removed Scheduler/Manager from elements.
168         Removed gsttypes.h, rearranged includes.
169         Removed dependency pad<->element, element<>pipeline, and
170         various others,  fix includes.
171         implement gst_pad_get_parent() with gst_object_get_parent()
172         Make GstTask sefcontained.
173         Fix _get_state() on GstBin, it did not return ASYNC with a 0
174         timeout.
175         Fix endless loop in iterator_fold_with_resync.
176
177
178 2005-07-18  Wim Taymans  <wim@fluendo.com>
179
180         * gst/Makefile.am:
181         * gst/gstarch.h:
182         Remove old file.
183
184 2005-07-18  Wim Taymans  <wim@fluendo.com>
185
186         * gst/Makefile.am:
187         No more cothreads.h
188
189 2005-07-18  Wim Taymans  <wim@fluendo.com>
190
191         * gst/cothreads.c:
192         * gst/cothreads.h:
193         Let's remove these.
194
195 2005-07-18  Wim Taymans  <wim@fluendo.com>
196
197         * docs/design/part-dynamic.txt:
198         * docs/design/part-events.txt:
199         * docs/design/part-seeking.txt:
200         Some more docs in the works.
201
202         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
203         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
204         (gst_base_transform_setcaps), (gst_base_transform_get_size),
205         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
206         (gst_base_transform_handle_buffer),
207         (gst_base_transform_sink_activate_push),
208         (gst_base_transform_src_activate_pull),
209         (gst_base_transform_set_passthrough),
210         (gst_base_transform_is_passthrough):
211         Refcounting fixes.
212
213         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
214         Cleanups.
215
216         * gst/gstevent.c: (gst_event_finalize):
217         Set SRC to NULL.
218
219         * gst/gstutils.c: (gst_element_unlink),
220         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
221         (gst_pad_proxy_setcaps):
222         * gst/gstutils.h:
223         Add _get_parent_element() to get a pads parent as an element.
224
225 2005-07-18  Wim Taymans  <wim@fluendo.com>
226
227         * check/gst/gstbin.c: (GST_START_TEST):
228         Remove bogus test.
229
230 2005-07-18  Wim Taymans  <wim@fluendo.com>
231
232         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
233         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
234         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
235         (gst_base_sink_event), (gst_base_sink_do_sync),
236         (gst_base_sink_chain), (gst_base_sink_loop),
237         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
238         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
239         Refcounting fixes.
240         Fix logic for returning ASYNC when not prerolled.
241
242 2005-07-18  Wim Taymans  <wim@fluendo.com>
243
244         * gst/gstqueue.c: (gst_queue_handle_sink_event):
245         Fix nasty refcount bug.
246
247 2005-07-16 Philippe Khalaf <burger@speedy.org>
248         * gst/elements/gstfdsrc.c:
249         * gst/elements/gstfdsrc.h:
250         * gst/elements/gstelements.c:
251         * gst/elements/Makefile.am:
252         Ported fdsrc to 0.9.
253
254 2005-07-16  Wim Taymans  <wim@fluendo.com>
255
256         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
257         (gst_base_sink_do_sync):
258         Fix compile error.
259
260 2005-07-16  Wim Taymans  <wim@fluendo.com>
261
262         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
263         (gst_base_sink_event), (gst_base_sink_get_times),
264         (gst_base_sink_do_sync), (gst_base_sink_change_state):
265         * gst/base/gstbasesink.h:
266         Store and use discont values when syncing buffers as described
267         in design docs.
268         
269         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
270         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
271         (gst_base_src_activate_push):
272         Push discont event when starting.
273
274         * gst/elements/gstidentity.c: (gst_identity_transform):
275         Small cleanups.
276
277         * gst/gstbin.c: (gst_bin_change_state):
278         Small cleanups in base_time  distribution.
279
280         * gst/gstelement.c: (gst_element_set_base_time),
281         (gst_element_get_base_time), (gst_element_change_state):
282         * gst/gstelement.h:
283         Added methods for the base_time of the element.
284         Some MT fixes.
285
286         * gst/gstpipeline.c: (gst_pipeline_send_event),
287         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
288         (gst_pipeline_get_last_stream_time):
289         * gst/gstpipeline.h:
290         MT fixes.
291         Handle seeking as described in design doc, remove stream_time
292         hack.
293         Cleanups clock and stream_time selection code. Added accessors
294         for the stream_time.
295         
296
297 2005-07-16  Andy Wingo  <wingo@pobox.com>
298
299         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
300         (#305291).
301
302 2005-07-16  Wim Taymans  <wim@fluendo.com>
303
304         * check/gst/gstbin.c: (GST_START_TEST):
305         Make elements silent as the deep_notify refs the
306         parent, which might make the test fail.
307
308         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
309         Don't hold the lock for too long.
310
311 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
312
313         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
314           Don't unref the caps we passed to gst_caps_make_writable() after
315           passing them. gst_caps_make_writable() will do that for us.
316
317 2005-07-15  Andy Wingo  <wingo@pobox.com>
318
319         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
320         (#157311).
321
322         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
323         own marshalling function for the handoff signal. Properly type the
324         buffer as a buffer. Fixes some warnings. Should do a more general
325         solution.
326         (gst_identity_class_init): Plug into the right marshaller.
327
328 2005-07-15  Wim Taymans  <wim@fluendo.com>
329
330         * docs/design/part-TODO.txt:
331         * docs/design/part-clocks.txt:
332         * docs/design/part-element-sink.txt:
333         * docs/design/part-events.txt:
334         * docs/design/part-gstpipeline.txt:
335         Updated docs, mostly DISCONT related.
336
337 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
338
339         * docs/pwg/building-pads.xml:
340           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
341
342 2005-07-15  Andy Wingo  <wingo@pobox.com>
343
344         * tools/gst-typefind.c: Update, add copyright block.
345
346         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
347         Normalize and truncate caps before fixation.
348
349         * gst/gstcaps.h:
350         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
351         discards all but the first structure from its argument.
352
353 2005-07-15  Wim Taymans  <wim@fluendo.com>
354
355         * gst/base/gstbasetransform.c: (gst_base_transform_init),
356         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
357         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
358         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
359         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
360         (gst_base_transform_chain), (gst_base_transform_change_state),
361         (gst_base_transform_set_passthrough),
362         (gst_base_transform_is_passthrough):
363         * gst/base/gstbasetransform.h:
364         Make passthrough work using the bufferpools.
365         Changed API a bit, subclasses have to write into a buffer
366         provided by the base class.
367         More debug info in nego functions.
368         
369         * gst/elements/gstidentity.c: (gst_identity_init),
370         (gst_identity_transform):
371         Port to new base class.
372
373 2005-07-15  Wim Taymans  <wim@fluendo.com>
374
375         * gst/gstmessage.c: (gst_message_new_state_changed):
376         * tools/gst-launch.c: (event_loop), (main):
377         Totally dump messages in -launch with the -m option.
378         Fix message name for State messages,
379
380 2005-07-14  Wim Taymans  <wim@fluendo.com>
381
382         * gst/base/gstbasesrc.c: (gst_base_src_loop):
383         Post error messages on errors.
384
385 2005-07-14  Wim Taymans  <wim@fluendo.com>
386
387         * gst/gstcaps.c: (gst_caps_do_simplify):
388         Remove debug info.
389
390         * gst/gsterror.h:
391         Define error for stream stopped.
392
393         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
394         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
395         Do proper return values.
396
397         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
398         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
399         (gst_pad_get_range):
400         Better return values.
401
402         * gst/gstpad.h:
403         Reorganise return values, add macro to check for fatal errors.
404
405         * gst/gstqueue.c: (gst_queue_chain):
406         Return proper GstFlowReturn values,
407
408 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
409
410         * docs/gst/gstreamer-sections.txt:
411         * docs/gst/gstreamer.types:
412         * docs/gst/tmpl/gst.sgml:
413         * docs/gst/tmpl/gstbasesink.sgml:
414         * docs/gst/tmpl/gstbasesrc.sgml:
415         * docs/gst/tmpl/gstbasetransform.sgml:
416         * docs/gst/tmpl/gstbin.sgml:
417         * docs/gst/tmpl/gstbuffer.sgml:
418         * docs/gst/tmpl/gstcaps.sgml:
419         * docs/gst/tmpl/gstclock.sgml:
420         * docs/gst/tmpl/gstcompat.sgml:
421         * docs/gst/tmpl/gstconfig.sgml:
422         * docs/gst/tmpl/gstelement.sgml:
423         * docs/gst/tmpl/gstelementdetails.sgml:
424         * docs/gst/tmpl/gstelementfactory.sgml:
425         * docs/gst/tmpl/gstenumtypes.sgml:
426         * docs/gst/tmpl/gsterror.sgml:
427         * docs/gst/tmpl/gstevent.sgml:
428         * docs/gst/tmpl/gstfakesink.sgml:
429         * docs/gst/tmpl/gstfakesrc.sgml:
430         * docs/gst/tmpl/gstfilesink.sgml:
431         * docs/gst/tmpl/gstfilesrc.sgml:
432         * docs/gst/tmpl/gstfilter.sgml:
433         * docs/gst/tmpl/gstformat.sgml:
434         * docs/gst/tmpl/gstghostpad.sgml:
435         * docs/gst/tmpl/gstimplementsinterface.sgml:
436         * docs/gst/tmpl/gstindex.sgml:
437         * docs/gst/tmpl/gstindexfactory.sgml:
438         * docs/gst/tmpl/gstinfo.sgml:
439         * docs/gst/tmpl/gstiterator.sgml:
440         * docs/gst/tmpl/gstmacros.sgml:
441         * docs/gst/tmpl/gstmemchunk.sgml:
442         * docs/gst/tmpl/gstminiobject.sgml:
443         * docs/gst/tmpl/gstobject.sgml:
444         * docs/gst/tmpl/gstpad.sgml:
445         * docs/gst/tmpl/gstpadtemplate.sgml:
446         * docs/gst/tmpl/gstparse.sgml:
447         * docs/gst/tmpl/gstpipeline.sgml:
448         * docs/gst/tmpl/gstplugin.sgml:
449         * docs/gst/tmpl/gstpluginfeature.sgml:
450         * docs/gst/tmpl/gstquery.sgml:
451         * docs/gst/tmpl/gstqueue.sgml:
452         * docs/gst/tmpl/gstregistry.sgml:
453         * docs/gst/tmpl/gstregistrypool.sgml:
454         * docs/gst/tmpl/gstscheduler.sgml:
455         * docs/gst/tmpl/gstschedulerfactory.sgml:
456         * docs/gst/tmpl/gststructure.sgml:
457         * docs/gst/tmpl/gstsystemclock.sgml:
458         * docs/gst/tmpl/gsttaglist.sgml:
459         * docs/gst/tmpl/gsttagsetter.sgml:
460         * docs/gst/tmpl/gsttrace.sgml:
461         * docs/gst/tmpl/gsttrashstack.sgml:
462         * docs/gst/tmpl/gsttypefind.sgml:
463         * docs/gst/tmpl/gsttypefindfactory.sgml:
464         * docs/gst/tmpl/gsttypes.sgml:
465         * docs/gst/tmpl/gsturihandler.sgml:
466         * docs/gst/tmpl/gsturitype.sgml:
467         * docs/gst/tmpl/gstutils.sgml:
468         * docs/gst/tmpl/gstvalue.sgml:
469         * docs/gst/tmpl/gstversion.sgml:
470         * docs/gst/tmpl/gstxml.sgml:
471         * docs/libs/tmpl/gstcontrol.sgml:
472         * docs/libs/tmpl/gstdataprotocol.sgml:
473         * docs/libs/tmpl/gstdparam.sgml:
474         * docs/libs/tmpl/gstdplinint.sgml:
475         * docs/libs/tmpl/gstdpman.sgml:
476         * docs/libs/tmpl/gstdpsmooth.sgml:
477         * docs/libs/tmpl/gstgetbits.sgml:
478         * docs/libs/tmpl/gstunitconvert.sgml:
479         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
480         (gst_push_src_base_init), (gst_push_src_class_init),
481         (gst_push_src_init), (gst_push_src_create):
482         * gst/base/gstpushsrc.h:
483         * gst/elements/gstelements.c:
484         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
485         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
486         (gst_fake_sink_init), (gst_fake_sink_set_property),
487         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
488         (gst_fake_sink_event), (gst_fake_sink_preroll),
489         (gst_fake_sink_render), (gst_fake_sink_change_state):
490         * gst/elements/gstfakesink.h:
491         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
492         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
493         (gst_fake_src_base_init), (gst_fake_src_class_init),
494         (gst_fake_src_init), (gst_fake_src_event_handler),
495         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
496         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
497         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
498         (gst_fake_src_create_buffer), (gst_fake_src_create),
499         (gst_fake_src_start), (gst_fake_src_stop):
500         * gst/elements/gstfakesrc.h:
501         * gst/elements/gstfilesink.c: (_do_init),
502         (gst_file_sink_base_init), (gst_file_sink_class_init),
503         (gst_file_sink_init), (gst_file_sink_dispose),
504         (gst_file_sink_set_location), (gst_file_sink_set_property),
505         (gst_file_sink_get_property), (gst_file_sink_open_file),
506         (gst_file_sink_close_file), (gst_file_sink_query),
507         (gst_file_sink_event), (gst_file_sink_render),
508         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
509         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
510         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
511         * gst/elements/gstfilesink.h:
512         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
513         (gst_file_src_class_init), (gst_file_src_init),
514         (gst_file_src_finalize), (gst_file_src_set_location),
515         (gst_file_src_set_property), (gst_file_src_get_property),
516         (gst_file_src_map_region), (gst_file_src_map_small_region),
517         (gst_file_src_create_mmap), (gst_file_src_create_read),
518         (gst_file_src_create), (gst_file_src_is_seekable),
519         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
520         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
521         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
522         (gst_file_src_uri_handler_init):
523         * gst/elements/gstfilesrc.h:
524           more autistic cleanliness in functions/names/defines
525
526 2005-07-13  Andy Wingo  <wingo@pobox.com>
527
528         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
529         source couldn't negotiate.
530
531         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
532         connections again.
533
534         * gst/gstutils.h:
535         * gst/gstutils.c (gst_element_link_pads_filtered): New old
536         function. I am channeling Hades. Put your boots on suckers!!!
537
538 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
539
540         * testsuite/caps/Makefile.am:
541         * testsuite/caps/value_compare.c:
542         * testsuite/caps/value_intersect.c:
543         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
544           move two testsuite apps over to the check dir
545
546 2005-07-12  Wim Taymans  <wim@fluendo.com>
547
548         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
549         Added more debug info in the negotiate process.
550
551         * gst/gstmessage.h:
552         Prepare for segment playback.
553
554         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
555         Better debugging.
556
557         * gst/gstutils.c:
558         Some more docs.
559
560         * tools/gst-launch.c: (main):
561         NULL pipeline on errors.
562
563 2005-07-12  Andy Wingo  <wingo@pobox.com>
564
565         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
566         not it comes from a malloc region. Make sure our copy gets freed.
567
568 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
569
570         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
571         * check/gst/gstmessage.c: (GST_START_TEST):
572         * check/gst/gststructure.c: (GST_START_TEST),
573         (gst_structure_suite), (main):
574           more testing
575         * gst/gstelement.c: (gst_element_message_full):
576           clean up GError and debug string now that they get copied
577         * gst/gstmessage.c: (gst_message_new_error),
578         (gst_message_new_warning), (gst_message_parse_error),
579         (gst_message_parse_warning):
580           use GST_TYPE_G_ERROR for structure_new, and take copies of
581           arguments, so that we don't mess up refcounting
582
583 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
584
585         * check/Makefile.am:
586           add per-test valgrind targets
587         * check/gst-libs/gdp.c: (GST_START_TEST),
588         (gst_data_protocol_suite), (main):
589           clean up
590
591 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
592
593         * check/Makefile.am:
594           instate more valgrindable tests
595         * check/elements/gstfakesrc.c: (chain_func), (event_func),
596         (GST_START_TEST), (fakesrc_suite):
597         * check/gst/gstpad.c: (GST_START_TEST):
598         * check/gst/gststructure.c: (GST_START_TEST):
599           fix test leaks
600         * docs/gst/tmpl/gstminiobject.sgml:
601         * gst/gstpad.c: (gst_pad_finalize):
602           fix the static mutex leak
603
604 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
605
606         * check/Makefile.am:
607           add two more tests for valgrinding
608         * check/gst/gstvalue.c: (GST_START_TEST):
609           test refcount of deserialized buffer, found a leak
610         * docs/gst/gstreamer-docs.sgml:
611         * docs/gst/gstreamer-sections.txt:
612         * docs/gst/gstreamer.types:
613         * docs/gst/tmpl/gstminiobject.sgml:
614           add miniobject to docs
615         * gst/gstminiobject.c:
616           add some docs
617         * gst/gstvalue.c: (gst_value_deserialize_buffer),
618         (gst_string_unwrap):
619           fix a hard-to-find invalid write for one of the tests
620           fix a leak for deserialized buffers
621
622 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
623
624         * docs/pwg/advanced-events.xml:
625         * docs/pwg/advanced-request.xml:
626         * docs/pwg/advanced-scheduling.xml:
627         * docs/pwg/appendix-porting.xml:
628         * docs/pwg/building-boiler.xml:
629         * docs/pwg/intro-preface.xml:
630         * docs/pwg/other-ntoone.xml:
631           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
632           of example code and explanation for pad activation, loop() and
633           getrange() functions and a bit more. Remove old comments pointing
634           to loop-functions.
635         * examples/pwg/Makefile.am:
636           Add loop/getrange examples.
637
638 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
639
640         * configure.ac:
641           check for valgrind binary + some fixes
642         * check/gst.supp:
643           valgrind suppressions for the tests
644         * check/Makefile.am:
645           add a valgrind: target that valgrinds the unit tests
646         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
647         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
648         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
649         * check/gst/gstghostpad.c:
650           added some cleanup
651         * check/gst/gstdata.c:
652           removed
653         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
654         (thread_unref), (gst_mini_object_suite), (main):
655           added
656         * gst/gst.c: (gst_deinit):
657         * gst/gst.h:
658           add a method to clean up.
659         * gst/gstsystemclock.c: (gst_system_clock_dispose),
660         (gst_system_clock_obtain):
661           allow for disposing the system clock.
662         * tools/gst-launch.c: (main):
663           deinit
664
665 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
666
667         * docs/gst/tmpl/gstbasesrc.sgml:
668         * docs/gst/tmpl/gstfakesrc.sgml:
669         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
670         (gst_base_src_init), (gst_base_src_set_property),
671         (gst_base_src_get_property), (gst_base_src_get_range),
672         (gst_base_src_start):
673         * gst/base/gstbasesrc.h:
674           add num-buffers property
675         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
676         (gst_fakesrc_init), (gst_fakesrc_set_property),
677         (gst_fakesrc_get_property), (gst_fakesrc_create),
678         (gst_fakesrc_start):
679           remove num-buffers property
680
681 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
682
683         * docs/gst/gstreamer-sections.txt:
684         * docs/gst/tmpl/gstbasesink.sgml:
685         * docs/gst/tmpl/gstbasesrc.sgml:
686         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
687         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
688         (gst_base_sink_finalize), (gst_base_sink_set_clock),
689         (gst_base_sink_set_property), (gst_base_sink_get_property),
690         (gst_base_sink_handle_object), (gst_base_sink_event),
691         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
692         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
693         (gst_base_sink_loop), (gst_base_sink_deactivate),
694         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
695         (gst_base_sink_change_state):
696         * gst/base/gstbasesink.h:
697         * gst/base/gstbasesrc.h:
698         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
699         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
700         (gst_filesink_init):
701           more macro splitting
702
703 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
704
705         * gst/gstelement.c: (gst_element_get_bus):
706           add debug
707         * tools/gst-launch.c: (check_intr), (event_loop):
708           fix bus leaks
709
710 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
711
712         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
713           fix a caps leak
714
715 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
716
717         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
718         (gst_base_src_finalize):
719           add finalize method and clean up properly
720         * gst/gstpipeline.c: (gst_pipeline_dispose):
721           add debug
722
723 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
724
725         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
726         (gst_bin_suite):
727           add more things to check
728         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
729         * gst/gstelement.c:
730           more debug
731
732 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
733
734         * check/elements/gstfakesrc.c: (chain_func), (event_func),
735         (GST_START_TEST), (fakesrc_suite):
736         * check/gst-libs/gdp.c: (GST_START_TEST):
737         * check/gst/gst.c: (GST_START_TEST):
738         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
739         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
740         * check/gst/gstbus.c: (GST_START_TEST):
741         * check/gst/gstcaps.c: (GST_START_TEST):
742         * check/gst/gstdata.c: (GST_START_TEST):
743         * check/gst/gstelement.c: (GST_START_TEST):
744         * check/gst/gstghostpad.c: (GST_START_TEST):
745         * check/gst/gstiterator.c: (GST_START_TEST):
746         * check/gst/gstmessage.c: (GST_START_TEST):
747         * check/gst/gstobject.c: (GST_START_TEST):
748         * check/gst/gstpad.c: (GST_START_TEST):
749         * check/gst/gststructure.c: (GST_START_TEST):
750         * check/gst/gstsystemclock.c: (GST_START_TEST),
751         (gst_systemclock_suite):
752         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
753         * check/gst/gstvalue.c: (GST_START_TEST):
754         * check/pipelines/cleanup.c: (GST_START_TEST):
755         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
756         * check/states/sinks.c: (GST_START_TEST):
757         * check/gstcheck.c: (gst_check_init):
758         * check/gstcheck.h:
759           add debugging category
760           use GST_START_TEST now, so we add a debug line
761
762 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
763
764         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
765           add test for state change message on a bin
766         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
767           add another test
768         * gst/gstbin.c: (gst_bin_init):
769         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
770         * gst/gstelement.c: (gst_element_post_message),
771         (gst_element_set_state):
772         * gst/gstelementfactory.c: (gst_element_factory_create):
773         * gst/gstmessage.c: (gst_message_new):
774         * gst/gstscheduler.c:
775           various debugging additions and cleanups
776
777 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
778
779         * check/Makefile.am:
780         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
781         (main):
782           adding tests for elements
783         * gst/gstelement.c: (gst_element_dispose):
784
785 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
786
787         * gst/registries/gstlibxmlregistry.c: (load_feature):
788           plug more leaks.  A simple gst_init() now is leakfree, yay.
789
790 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
791
792         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
793         (gst_xml_registry_load):
794           plug another memleak
795
796 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
797
798         * configure.ac:
799           use GST_SET_ERROR_CFLAGS
800         * docs/faq/cvs.xml:
801           change to ERROR_CFLAGS
802
803 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
804
805         * configure.ac:
806           make GST_ERROR_CFLAGS overridable and re-enable Werror
807         * docs/faq/cvs.xml:
808           add a note about error CFLAGS
809         * docs/gst/tmpl/gstfakesrc.sgml:
810         * gst/elements/gstfakesrc.c:
811           comment out some unused code
812         * gst/gst.c: (split_and_iterate):
813         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
814         (load_feature):
815           plug some memleaks
816
817 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
818
819         * common/Makefile.am:
820         * common/gtk-doc.mak:
821         * docs/gst/Makefile.am:
822           factor out gtk-doc.mak
823
824 2005-07-07  Wim Taymans  <wim@fluendo.com>
825
826         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
827         (gst_thread_scheduler_dispose):
828         Unlock the STREAM_LOCK completely.
829
830 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
831
832         * check/Makefile.am:
833         * check/elements/.cvsignore:
834         * check/elements/gstfakesrc.c: (chain_func), (event_func),
835         (START_TEST), (fakesrc_suite), (main):
836         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
837         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
838         (gst_fakesrc_create), (gst_fakesrc_start):
839         * gst/elements/gstfakesrc.h:
840           adding a first element test
841
842 2005-07-07  Andy Wingo  <wingo@pobox.com>
843
844         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
845         debug message.
846
847 2005-07-07  Wim Taymans  <wim@fluendo.com>
848
849         * gst/gstquery.c:
850         * gst/gstquery.h:
851         Remove old types
852
853 2005-07-07  Wim Taymans  <wim@fluendo.com>
854
855         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
856         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
857         Allow subclasses to implement their own negotiation.
858
859 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
860
861         * docs/design/part-gstbin.txt:
862         * docs/design/part-gstpipeline.txt:
863           Update design notes to reflect the movement of
864           responsibility for bus handling from GstPipeline to
865           GstBin
866
867 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
868
869         * configure.ac:
870           Remove unnecessary queue2/3/4 examples.
871
872 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
873
874         * examples/Makefile.am:
875         * examples/helloworld/helloworld.c: (event_loop), (main):
876         * examples/queue/queue.c: (event_loop), (main):
877         * examples/queue2/queue2.c: (main):
878           Update a couple of the examples to work again.
879
880         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
881         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
882          Spelling corrections and extra debug.
883         
884         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
885         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
886         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
887         * gst/gstbin.h:
888         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
889         (gst_pipeline_change_state):
890         * gst/gstpipeline.h:
891           Move the bus handler for children to the GstBin, and create a
892           separate bus for receiving messages from children to the one the
893           bus sends 'upwards' on.
894
895 2005-07-06  Wim Taymans  <wim@fluendo.com>
896
897         * gst/base/README:
898         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
899         (gst_base_sink_handle_object), (gst_base_sink_loop),
900         (gst_base_sink_change_state):
901         * gst/base/gstbasesink.h:
902         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
903         (gst_base_src_init), (gst_base_src_setcaps),
904         (gst_base_src_getcaps), (gst_base_src_loop),
905         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
906         (gst_base_src_start), (gst_base_src_change_state):
907         * gst/base/gstbasesrc.h:
908         Make basesrc negotiate.
909         Handle the case where preroll fails in basesink.
910         Update README.
911
912 2005-07-06  Wim Taymans  <wim@fluendo.com>
913
914         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
915         Implement the fixate function.
916         Clean up acceptcaps.
917
918 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
919
920         * docs/pwg/building-filterfactory.xml:
921         * docs/pwg/pwg.xml:
922           Remove never-written filter-factory chapter; I'll add the various
923           base classes to part 4 ("other element types") later on.
924
925 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
926
927         * docs/pwg/advanced-negotiation.xml:
928         * docs/pwg/building-boiler.xml:
929         * docs/pwg/building-pads.xml:
930         * docs/pwg/pwg.xml:
931         * examples/pwg/Makefile.am:
932           Add a chapter on caps negotiation, simplify the original code
933           samples a bit w.r.t. caps negotiation, add link to the advanced
934           section. Add a bunch of examples showing different use cases of
935           different types of caps negotiation. Upstream renegotiation isn't
936           fully documented yet since nobody knows how that works.
937
938 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
939
940         * check/gst/gstpad.c:
941         * check/gstcheck.c:
942         * gst/gstpad.c: (gst_pad_get_internal_links_default):
943           if pad has no parent, return NULL as list of internal links
944
945 2005-07-05  Andy Wingo  <wingo@pobox.com>
946
947         * gst/elements/gstfilesrc.c:
948         * gst/elements/gstfakesrc.c: 
949         * gst/base/gstpushsrc.c:
950         * gst/base/gstbasesrc.h: 
951         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
952         
953 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
954
955         * Makefile.am:
956           better report generation target (lcov needs a patch)
957
958 2005-07-05  Andy Wingo  <wingo@pobox.com>
959
960         * gst/elements, testsuite: Null if we got it...
961
962 2005-07-05  Wim Taymans  <wim@fluendo.com>
963
964         * configure.ac:
965         * libs/gst/dataprotocol/Makefile.am:
966         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
967         * libs/gst/dataprotocol/dataprotocol.h:
968         * pkgconfig/Makefile.am:
969         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
970         * pkgconfig/gstreamer-dataprotocol.pc.in:
971         Ported dataprotol to 0.9. 
972         Added pkgconfig files.
973
974 2005-07-05  Andy Wingo  <wingo@pobox.com>
975
976         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
977         Default to returning TRUE for the case when tranform_caps returns
978         a fixed caps, like for identity or volume.
979
980         * check/gst/gstbus.c (pound_bus_with_messages): 
981         * check/gst/gstmessage.c (START_TEST): 
982         * check/pipelines/simple_launch_lines.c (got_handoff): Application
983         message API change.
984
985         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
986         logic weaks here: always run transform_caps, trying passthrough
987         operation only if the original caps intersects with the transform.
988
989         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
990         source and sink caps.
991
992         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
993         Intersect the peer caps with the pad template before going into
994         transform_caps.
995         (gst_base_transform_transform_caps): More debugging.
996
997         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
998         src argument.
999
1000 2005-07-04  Edward Hervey  <edward@fluendo.com>
1001
1002         * gst/gstutils.c:
1003         * gst/gstutils.h:
1004         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1005         in bindings.
1006
1007 2005-07-04  Andy Wingo  <wingo@pobox.com>
1008
1009         * check/gst/gstpad.c: Only set explicit caps on pads.
1010
1011 2005-07-01  Andy Wingo  <wingo@pobox.com>
1012
1013         * tests/network-clock.scm: Commentary update.
1014
1015         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1016         Didn't really make sense, not implementable with basetransform,
1017         etc.
1018         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1019         attempt at implementing the sync property, needs an unlock method.
1020
1021         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1022         New func, by default returns the same caps (the identity
1023         transformation).
1024         (gst_base_transform_getcaps): Uses transform_caps to return
1025         something sensible.
1026         (gst_base_transform_setcaps): Complicated logic to get caps on
1027         both pads, even if they are different, and to call set_caps once
1028         for every time both pads get their caps set.
1029         (gst_base_transform_handle_buffer): Give the ref to the transform
1030         function. Allows in-place modification of the buffer.
1031
1032         * gst/base/gstbasetransform.h (transform_caps): New class method.
1033         Given caps on one side, what can I do on the other.
1034         (set_caps): Take two caps, one for each side of the element.
1035
1036         * gst/gstpad.h:
1037         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1038         caps in place. This is safe because we can check the mutability of
1039         the caps, and a good idea because fixate functions are just called
1040         as a matter of last resort. (Not actually implemented.)
1041         (gst_pad_set_caps): If the caps we're setting is actually the same
1042         as the existing pad caps, just update the pointer without calling
1043         setcaps. Assert that caps is either NULL or fixed, as per the
1044         docs.
1045
1046         * gst/gstghostpad.c: Update for fixate changes.
1047
1048 2005-07-02  Andy Wingo  <wingo@pobox.com>
1049
1050         * gst/gstcaps.c:
1051         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1052         two refcounts makes it immutable, which is enough. Doc more.
1053
1054 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1055
1056         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1057           Put the mini_object into GValue as a mini_object,
1058           not a gpointer, since that's how we declared
1059           the signal.
1060
1061 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1062
1063         * examples/pwg/Makefile.am:
1064           Fix buildbot again.
1065
1066 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1067
1068         * docs/pwg/building-testapp.xml:
1069           Add extra check.
1070         * examples/pwg/Makefile.am:
1071           Fix buildbot.
1072
1073 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1074
1075         * configure.ac:
1076         * examples/Makefile.am:
1077         * examples/pwg/Makefile.am:
1078         * examples/pwg/extract.pl:
1079           Enable building the PWG examples.
1080         * docs/pwg/advanced-interfaces.xml:
1081           Add URI interface stub.
1082         * docs/pwg/advanced-types.xml:
1083         * docs/pwg/other-autoplugger.xml:
1084         * docs/pwg/appendix-porting.xml:
1085         * docs/pwg/pwg.xml:
1086           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1087         * docs/pwg/building-boiler.xml:
1088         * docs/pwg/building-chainfn.xml:
1089         * docs/pwg/building-pads.xml:
1090         * docs/pwg/building-props.xml:
1091         * docs/pwg/building-state.xml:
1092         * docs/pwg/building-testapp.xml:
1093           Update the building-*.xml parts for 0.9 changes. All examples
1094           code blocks compile in examples/pwg/*.
1095
1096 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1097
1098         * docs/manual/advanced-autoplugging.xml:
1099         * docs/manual/appendix-checklist.xml:
1100         * docs/manual/appendix-integration.xml:
1101         * docs/manual/highlevel-components.xml:
1102           Fix playbin/decodebin examples, update docs a bit, mention bus
1103           instead of signals in various places, mention kmplayer and
1104           kaffeine since they have a working GStreamer backend in the KDE
1105           section.
1106
1107 2005-06-30  Wim Taymans  <wim@fluendo.com>
1108
1109         * CHANGES-0.9:
1110         * docs/design/draft-ghostpads.txt:
1111         * docs/design/draft-push-pull.txt:
1112         * docs/design/draft-query.txt:
1113         * docs/design/part-TODO.txt:
1114         * docs/design/part-query.txt:
1115         Added CHANGES-0.9 doc, updated status of other docs.
1116         
1117         * gst/gstquery.h:
1118         Remove "hmm" macro
1119
1120 2005-06-30  Wim Taymans  <wim@fluendo.com>
1121
1122         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1123         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1124         (gst_base_sink_change_state):
1125         * gst/base/gstbasesink.h:
1126         Some tweaks, only EOS and a buffer complete a preroll.
1127
1128 2005-06-30  Andy Wingo  <wingo@pobox.com>
1129
1130         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1131         activate_push down to the internal pad as well.
1132
1133 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1134
1135         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1136
1137         * gst/gsttaginterface.c:
1138           Some documentation fixes (#307394 and #307397).
1139
1140 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1141
1142         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1143
1144         * gst/gstvalue.c: (gst_value_intersect_list):
1145           Fix memleak (#309125).
1146
1147 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1148
1149         * docs/manual/advanced-dataaccess.xml:
1150           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1151         * docs/manual/basics-pads.xml:
1152           Add reference for filtered caps to above chapter.
1153
1154 2005-06-30  Wim Taymans  <wim@fluendo.com>
1155
1156         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1157         (gst_bin_change_state):
1158         Probes are gone.
1159         Lame attempt at making the state change function a bit
1160         more readable.
1161
1162 2005-06-30  Wim Taymans  <wim@fluendo.com>
1163
1164         * docs/design/part-clocks.txt:
1165         * docs/design/part-element-sink.txt:
1166         * docs/design/part-events.txt:
1167         * docs/design/part-preroll.txt:
1168         * docs/design/part-states.txt:
1169         Some more tweeks and additions to the docs.
1170
1171 2005-06-30  Wim Taymans  <wim@fluendo.com>
1172
1173         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1174         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1175         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1176         (gst_pad_check_pull_range), (gst_pad_get_range),
1177         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1178         * gst/gstpad.h:
1179         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1180         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1181         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1182         (gst_pad_remove_buffer_probe):
1183         Removed atomic operations, use existing LOCK.
1184         Move exception handling out of main code path.
1185
1186 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1187
1188         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1189         (silly_return_true_function), (gst_pad_class_init),
1190         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1191         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1192         (gst_pad_send_event):
1193           Fix accumulator, add default value by using _emitv() instead
1194           of _emit() for signal emission.
1195
1196 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1197
1198         * docs/manual/advanced-dataaccess.xml:
1199         * examples/manual/Makefile.am:
1200           Add probe example.
1201         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1202           Make work (??).
1203
1204 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1205
1206         * gst/elements/gstfilesink.c: (gst_filesink_render):
1207           Simplify code so that we don't have to handle short
1208           writes and return GST_FLOW_ERROR if an error occured.
1209
1210 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1211
1212         * docs/gst/gstreamer-docs.sgml:
1213           Remove probes more.
1214
1215 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1216
1217         * docs/gst/gstreamer-sections.txt:
1218         * docs/gst/tmpl/gstpad.sgml:
1219         * docs/gst/tmpl/gstprobe.sgml:
1220         * gst/Makefile.am:
1221         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1222         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1223         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1224         (gst_pad_push_event), (gst_pad_send_event):
1225         * gst/gstpad.h:
1226         * gst/gstutils.c: (gst_pad_add_data_probe),
1227         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1228         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1229         (gst_pad_remove_buffer_probe):
1230         * gst/gstutils.h:
1231           Remove old probes, add new g-signal-based probes and some utility
1232           functions.
1233
1234 2005-06-29  Edward Hervey  <edward@fluendo.com>
1235
1236         * gst/gstelementfactory.c:
1237         * gst/gstutils.h:
1238         * gst/gstutils.c:
1239         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1240         the definition to the header file.
1241
1242 2005-06-29  Andy Wingo  <wingo@pobox.com>
1243
1244         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1245         plugins from the source directory.
1246
1247 2005-06-29  Wim Taymans  <wim@fluendo.com>
1248
1249         * docs/gst/tmpl/gstbuffer.sgml:
1250         * docs/gst/tmpl/gstclock.sgml:
1251         Some fixings for blantently wrong text.
1252
1253 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1254
1255         * check/Makefile.am:
1256         * gst/gst.c: (add_path_func), (init_pre):
1257         * gst/gstregistry.c: (gst_registry_add_path):
1258           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1259           only scan the GST_PLUGIN_PATH locations, and not add
1260           system locations
1261
1262 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1263
1264         * docs/gst/gstreamer-sections.txt:
1265         * docs/gst/tmpl/gstbasesrc.sgml:
1266         * gst/gstelement.c:
1267         * gst/gstelement.h:
1268         * gst/gstevent.c:
1269         * gst/gstutils.c:
1270           doc fixes
1271
1272 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1273
1274         * docs/manual/advanced-autoplugging.xml:
1275           Fix autoplugging example.
1276
1277 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1278
1279         * docs/manual/advanced-autoplugging.xml:
1280         * docs/manual/mime-world.fig:
1281           Try to get autoplugging working, fix type detection. Fix text
1282           in hello-world image.
1283
1284 2005-06-29  Wim Taymans  <wim@fluendo.com>
1285
1286         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1287         (gst_base_sink_change_state):
1288         Small debug line.
1289
1290         * gst/gstclock.h:
1291         map SIGNAL and BROADCAST to the right function.
1292
1293         * gst/gstobject.h:
1294         Remove redundant braces.
1295
1296         * gst/gstpad.c: (gst_pad_set_caps):
1297         Don't call setcaps function when reseting caps to NULL.
1298
1299         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1300         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1301         (gst_system_clock_id_unschedule):
1302         Use BROADCAST as this is what we do.
1303
1304 2005-06-29  Wim Taymans  <wim@fluendo.com>
1305
1306         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1307         We are actually prerolling before commiting the state
1308         change. 
1309
1310 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1311
1312         * docs/manual/advanced-clocks.xml:
1313         * docs/manual/advanced-interfaces.xml:
1314         * docs/manual/advanced-metadata.xml:
1315         * docs/manual/advanced-position.xml:
1316         * docs/manual/advanced-schedulers.xml:
1317         * docs/manual/advanced-threads.xml:
1318         * docs/manual/appendix-porting.xml:
1319         * docs/manual/basics-bins.xml:
1320         * docs/manual/basics-bus.xml:
1321         * docs/manual/basics-elements.xml:
1322         * docs/manual/basics-helloworld.xml:
1323         * docs/manual/basics-pads.xml:
1324         * docs/manual/highlevel-components.xml:
1325         * docs/manual/manual.xml:
1326         * docs/manual/thread.fig:
1327           Update (until threads/scheduling) Application Development Manual;
1328           remove GstThread, add GstBus, add simple porting checklist, add
1329           documentation for tag writing, clocks, make all examples until this
1330           part compile and run.
1331         * examples/manual/Makefile.am:
1332           Update from changes to Application Development Manual; add bus
1333           example, remove thread example.
1334
1335 2005-06-28  Wim Taymans  <wim@fluendo.com>
1336
1337         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1338         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1339         (gst_bus_source_dispatch):
1340         Add debugging messages.
1341         Make internal methods static.
1342         Handle the case where the bus is flushed in the handler.
1343         
1344         * gst/gstelement.c: (gst_element_get_bus):
1345         Fix refcount in _get_bus();
1346
1347         * gst/gstpipeline.c: (gst_pipeline_change_state),
1348         (gst_pipeline_get_clock_func):
1349         Clock refcounting fixes.
1350         Handle the case where preroll timed out more gracefully.
1351         
1352         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1353         Clean up the internal thread in dispose. This is needed
1354         for subclasses that actually get disposed.
1355         
1356         * gst/schedulers/threadscheduler.c:
1357         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1358         (gst_thread_scheduler_dispose):
1359         Free thread pool in dispose.
1360
1361 2005-06-28  Andy Wingo  <wingo@pobox.com>
1362
1363         * tests/network-clock-utils.scm (debug, print-event): New utils.
1364
1365         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1366         (*packet-loss*): Unified loss probability.
1367         (network-time): Report out-of-band events.
1368
1369         * tests/plot-data: Add support for out-of-band events. Hack it
1370         into this script instead of passing it down the pipe; should fix
1371         this later.
1372
1373 2005-06-28  Wim Taymans  <wim@fluendo.com>
1374
1375         * docs/gst/gstreamer.types:
1376         * docs/gst/tmpl/gstbasesrc.sgml:
1377         * docs/gst/tmpl/gstpad.sgml:
1378         Docs fixes.
1379
1380 2005-06-28  Wim Taymans  <wim@fluendo.com>
1381
1382         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1383         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1384         (gst_proxy_pad_do_fixatecaps):
1385         Correctly proxy the check_pull_range function.
1386
1387 2005-06-28  Andy Wingo  <wingo@pobox.com>
1388
1389         * tests/network-clock.scm: Removed need for slib.
1390         
1391 2005-06-28  Wim Taymans  <wim@fluendo.com>
1392
1393         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1394         (gst_basesink_preroll_queue_flush):
1395         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1396         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1397         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1398         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1399         (gst_proxy_pad_set_property):
1400         * gst/gstpad.c:
1401         * gst/gstpad.h:
1402         * gst/gstqueue.c: (gst_queue_init):
1403         The deprecated pad loop function is removed now.
1404
1405 2005-06-28  Andy Wingo  <wingo@pobox.com>
1406
1407         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1408         New parameters, simulate network packet loss.
1409
1410         * tests/network-clock-utils.scm: Initialize the RNG.
1411
1412 2005-06-28  Wim Taymans  <wim@fluendo.com>
1413
1414         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1415         (gst_basesink_event), (gst_basesink_deactivate):
1416         Flushing the preroll queue always needs to unlock the waiters.
1417
1418 2005-06-28  Edward Hervey  <edward@fluendo.com>
1419
1420         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1421         Wheen a seek was successful on a pipeline, set the stream_time to the
1422         seek offset in order to have a synchronized stream_time.
1423
1424 2005-06-28  Wim Taymans  <wim@fluendo.com>
1425
1426         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1427         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1428         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1429         (gst_proxy_pad_do_fixatecaps):
1430         Call wrapper function instead of just calling the function
1431         pointers. This takes care of any locking and whatmore.
1432
1433 2005-06-28  Wim Taymans  <wim@fluendo.com>
1434
1435         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1436         (gst_pad_pull_range):
1437         * gst/gstpad.h:
1438         CONNECTED -> LINKED.
1439
1440 2005-06-28  Andy Wingo  <wingo@pobox.com>
1441
1442         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1443         source-munging commit!!!
1444
1445         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1446         (gst_object_sink): Take gpointer arguments, not GstObject --
1447         avoids casts. Like GLib.
1448
1449         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1450         activate.
1451
1452 2005-06-27  Andy Wingo  <wingo@pobox.com>
1453
1454         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1455         remaining buffer.
1456
1457         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1458         returns a sorted copy of the trace list.
1459         (gst_alloc_trace_print_live): New API, only prints traces with
1460         live objects. Sort the list.
1461         (gst_alloc_trace_print_all): Sort the list.
1462         (gst_alloc_trace_print): Align columns.
1463
1464         * gst/elements/gstttypefindelement.c:
1465         * gst/elements/gsttee.c:
1466         * gst/base/gstbasesrc.c:
1467         * gst/base/gstbasesink.c:
1468         * gst/base/gstbasetransform.c:
1469         * gst/gstqueue.c: Adapt for pad activation changes.
1470
1471         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
1472         sched.
1473         (gst_pipeline_dispose): Drop ref on sched.
1474
1475         * gst/gstpad.c (gst_pad_init): Set the default activate func.
1476         (gst_pad_activate_default): Push mode by default.
1477         (pre_activate_switch, post_activate_switch): New stubs, things to
1478         do before and after switching activation modes on pads.
1479         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
1480         the pad's activate function to choose which mode to activate.
1481         Shortcut on deactivation and call the right function directly.
1482         (gst_pad_activate_pull): New API, (de)activates a pad in pull
1483         mode.
1484         (gst_pad_activate_push): New API, same for push mode.
1485         (gst_pad_set_activate_function) 
1486         (gst_pad_set_activatepull_function) 
1487         (gst_pad_set_activatepush_function): Setters for new API.
1488
1489         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
1490         Trace all miniobjects.
1491         (gst_mini_object_make_writable): Unref the arg if we copy, like
1492         gst_caps_make_writable.
1493
1494         * gst/gstmessage.c (_gst_message_initialize): No trace init.
1495
1496         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
1497         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
1498         Adapt for new pad API.
1499
1500         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
1501
1502         * gst/gstelement.h:
1503         * gst/gstelement.c (gst_element_iterate_src_pads) 
1504         (gst_element_iterate_sink_pads): New API functions.
1505         
1506         * gst/gstelement.c (iterator_fold_with_resync): New utility,
1507         should fold into gstiterator.c in some form.
1508         (gst_element_pads_activate): Simplified via use of fold and
1509         delegation of decisions to gstpad->activate.
1510
1511         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
1512         help in debugging.
1513
1514         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
1515         class once in init, like gstmessage. Didn't run into this issue
1516         but it seems correct. Don't initialize a trace, gstminiobject does
1517         that.
1518
1519         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
1520         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
1521         to the bus.
1522         (assert_live_count): New util function, uses alloc traces to check
1523         cleanup.
1524
1525         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
1526         To be modified when unlink drops the internal pad.
1527
1528 2005-06-27  Wim Taymans  <wim@fluendo.com>
1529
1530         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
1531         (gst_bin_change_state):
1532         Cleanup the get_state() function a little, make sure it
1533         iterates the same set of elements.
1534         Added stub iterate_state_order().
1535
1536 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1537
1538         * docs/gst/gstreamer-docs.sgml:
1539         * docs/gst/gstreamer-sections.txt:
1540         * docs/gst/gstreamer.types:
1541         * docs/gst/tmpl/gstbasesink.sgml:
1542         * docs/gst/tmpl/gstbasesrc.sgml:
1543         * docs/gst/tmpl/gstbasetransform.sgml:
1544         * docs/gst/tmpl/gstelement.sgml:
1545         * docs/gst/tmpl/gstiterator.sgml:
1546         * gst/base/gstbasesrc.c:
1547         * gst/base/gstbasesrc.h:
1548         * gst/base/gstbasetransform.h:
1549         * gst/gstelement.c:
1550         * gst/gstiterator.h:
1551           adding basetransform and iterator docs
1552
1553 2005-06-27  Andy Wingo  <wingo@pobox.com>
1554
1555         * docs/design/part-activation.txt: Notes on how activation should
1556         work -- not quite implemented yet.
1557
1558 2005-06-25  Wim Taymans  <wim@fluendo.com>
1559
1560         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
1561         At least get the chain function correct, needs more
1562         fixing.
1563
1564 2005-06-25  Wim Taymans  <wim@fluendo.com>
1565
1566         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1567         (gst_basesink_handle_object), (gst_basesink_event),
1568         (gst_basesink_do_sync), (gst_basesink_handle_event),
1569         (gst_basesink_change_state):
1570         * gst/gsttask.h:
1571         Right, two problems here: ghostpads don't take locks and
1572         glib _rec_mutex_lock_full() with depth==0 still locks.
1573         Catch illegal locking and g_warn them.
1574
1575 2005-06-25  Wim Taymans  <wim@fluendo.com>
1576
1577         * check/states/sinks.c: (START_TEST), (gst_object_suite):
1578         Have to check for completion now...
1579
1580 2005-06-25  Wim Taymans  <wim@fluendo.com>
1581
1582         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1583         (gst_basesink_handle_object), (gst_basesink_event),
1584         (gst_basesink_do_sync), (gst_basesink_handle_event),
1585         (gst_basesink_change_state):
1586         * gst/gstpad.h:
1587         Unlock STREAM_LOCK whatever the recursion was.
1588
1589 2005-06-25  Wim Taymans  <wim@fluendo.com>
1590
1591         * gst/base/gstbasesink.c: (gst_basesink_set_property),
1592         (gst_basesink_preroll_queue_empty),
1593         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
1594         (gst_basesink_event), (gst_basesink_do_sync),
1595         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
1596         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
1597         (gst_basesink_change_state):
1598         Reworked the base sink, handle event and buffer serialisation
1599         correctly and removed possible deadlock.
1600         Handle EOS correctly.
1601
1602 2005-06-25  Wim Taymans  <wim@fluendo.com>
1603
1604         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
1605         (gst_pipeline_change_state):
1606         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1607         Allow elements to post EOS in the state change function.
1608         Fix up -launch, make it exit the poll loop when the
1609         pipeline actually changed state.
1610         Fix up warning parsing in -launch.
1611
1612 2005-06-25  Wim Taymans  <wim@fluendo.com>
1613
1614         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
1615         (gst_tee_sink_activate):
1616         Core takes STREAM_LOCK for us now.
1617
1618 2005-06-25  Wim Taymans  <wim@fluendo.com>
1619
1620         * gst/gstelement.c: (gst_element_get_state_func),
1621         (gst_element_set_state):
1622         * gst/gstelement.h:
1623         * gst/gstmessage.c: (gst_message_parse_error),
1624         (gst_message_parse_warning):
1625         Keep track of current target state while performing a state
1626         change so that subclasses can do something interesting.
1627         Fix parsing of warning/error messages when GError is NULL.
1628
1629 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1630
1631         * docs/gst/Makefile.am:
1632         * docs/gst/gstreamer-docs.sgml:
1633         * docs/gst/gstreamer-sections.txt:
1634         * docs/gst/gstreamer.types:
1635         * docs/gst/tmpl/gstbasesink.sgml:
1636         * docs/gst/tmpl/gstbasesrc.sgml:
1637         * docs/gst/tmpl/gstbin.sgml:
1638         * docs/gst/tmpl/gstcompat.sgml:
1639         * docs/gst/tmpl/gstfakesink.sgml:
1640         * docs/gst/tmpl/gstfakesrc.sgml:
1641         * docs/gst/tmpl/gstfilesink.sgml:
1642         * docs/gst/tmpl/gstfilesrc.sgml:
1643         * docs/gst/tmpl/gstindex.sgml:
1644         * docs/manual/appendix-quotes.xml:
1645         * gst/base/gstbasesrc.h:
1646         * gst/elements/gstfakesrc.h:
1647         * gst/gstmessage.h:
1648           start pulling in base classes and elements in our docs
1649
1650 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
1651
1652         * docs/gst/Makefile.am:
1653         * docs/libs/Makefile.am:
1654           fixed make distcheck with gtk-doc 1.3
1655
1656 2005-06-23  Wim Taymans  <wim@fluendo.com>
1657
1658         * gst/gstelement.c: (gst_element_get_state_func),
1659         (gst_element_set_state), (gst_element_change_state):
1660         When the state did not change, also report NO_PREROLL
1661         when it matters.
1662
1663 2005-06-23  Wim Taymans  <wim@fluendo.com>
1664
1665         * gst/gstpad.c: (gst_pad_event_default):
1666         * gst/gstqueue.c: (gst_queue_loop):
1667         No unsafe task pausing please.
1668
1669 2005-06-23  Wim Taymans  <wim@fluendo.com>
1670
1671         * gst/schedulers/threadscheduler.c:
1672         (gst_thread_scheduler_task_start),
1673         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
1674         Ref the task before pushing it on the threadpool. This
1675         makes sure that we have a ref when the threadfunction is
1676         actually called.
1677
1678 2005-06-23  Andy Wingo  <wingo@pobox.com>
1679
1680         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
1681         offset is greater than the file's size.
1682
1683         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
1684         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
1685         * gst/gstobject.c (gst_object_class_init): Make the class lock
1686         recursive. Wim won't let me drop deep_notify. Decodebin works
1687         again, whoopdy doo.
1688
1689         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
1690         internal pad, and hacks accordingly. Doesn't do it on the target
1691         pad because we change its caps. Probably catches all cases of
1692         interest tho.
1693         (gst_ghost_pad_set_property): Connect to notify::caps as
1694         appropritate.
1695
1696         * tests/network-clock.scm (plot-simulation): Pipe data to the
1697         elite python skript.
1698
1699         * tests/network-clock-utils.scm (define-parameter): New macro,
1700         defines a parameter that can be set via the command line.
1701         (set-parameter!, parse-parameter-arguments): Command line args
1702         parser.
1703
1704         * tests/plot-data: Simple matplotlib-based plotter, takes input on
1705         stdin.
1706
1707 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
1708
1709         * gst/elements/gsttypefindelement.c:
1710         (gst_type_find_element_handle_event):
1711           Don't restart typefinding on a discont.
1712         * gst/gstelement.c: (gst_element_set_state):
1713           Debug spelling fix.
1714         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
1715           Allow changing mode of an active pad.
1716           Debug output fixes.
1717         * gst/registries/gstlibxmlregistry.c: (load_feature):
1718           Don't cast a static pad template to a normal pad template.
1719
1720 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1721
1722         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1723         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1724           remove gst_strtoll completely, since it didn't actually do
1725           anything more than what g_ascii_strtoull already does.
1726           check for range errors when deserializing
1727           do a cast for the unsigned cases; but further fixing needs
1728           a decision on what the interpretation of "(int)" and
1729           deserialization should be for values that fall outside the
1730           type's boundaries (ie, refuse, or interpret as casting)
1731
1732 2005-06-23  Wim Taymans  <wim@fluendo.com>
1733
1734         * check/Makefile.am:
1735         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
1736         * docs/design/part-live-source.txt:
1737         * docs/design/part-states.txt:
1738         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1739         (gst_basesrc_set_live), (gst_basesrc_is_live),
1740         (gst_basesrc_get_range), (gst_basesrc_activate),
1741         (gst_basesrc_change_state):
1742         * gst/base/gstbasesrc.h:
1743         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1744         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1745         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
1746         * gst/gstelement.c: (gst_element_get_state_func),
1747         (gst_element_set_state):
1748         * gst/gstelement.h:
1749         * gst/gsttypes.h:
1750         * tools/gst-launch.c: (event_loop), (main):
1751         Added support for live sources and other elements that
1752         cannot do preroll.
1753         Updated design docs, added live-source design doc.
1754         Implemented live source functionality in basesrc
1755         Fix error condition in _bin_get_state()
1756         Implement live source handling in -launch.
1757         Added check for live sources.
1758         Fixed case in GstBin where elements were changed state
1759         multiple times.
1760
1761
1762 2005-06-23  Andy Wingo  <wingo@pobox.com>
1763
1764         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
1765         borken refcounting.
1766
1767         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
1768         gst_caps_replace takes care of this for us.
1769
1770         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
1771         gst_pad_set_caps on the target, not just its setcaps() function.
1772
1773         * tests/network-clock.scm: 
1774         * tests/network-clock-utils.scm: A network clock simulator.
1775         Something of an algorithmic testbed before doing something in C.
1776
1777 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1778
1779         * check/Makefile.am:
1780         * check/gst/capslist.h:
1781           copy over from 0.8, and add two with bitmasks specified with
1782           (int) 0xFF...
1783         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1784           add test to parse everything from capslist.h
1785         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
1786         (main):
1787           add test for structure deserialization
1788         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1789           add tests for deserialization of strings to int types
1790         * gst/gststructure.c: (gst_structure_nth_field_name):
1791         * gst/gststructure.h:
1792           add a way to get the name of a field referenced by index
1793         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1794           instead of checking if the resulting long long lies between
1795           min and max, we check if the long long would fit into
1796           a number of bytes for the final type.
1797           This fixes cases where a string represents 2^32 - 1, which
1798           when cast to int would be the (valid) -1, but is bigger than
1799           G_MAXINT
1800
1801 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1802
1803         * gst/parse/grammar.y:
1804           add a log line for type deserialization
1805
1806 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1807
1808         * check/gst/gstvalue.c: (START_TEST):
1809         * gst/gstvalue.c: (gst_value_deserialize):
1810           return long long, not int, so gint64 deserialization actually
1811           works.  Is there any flag that makes the compiler check this ?
1812           Fixes #308559
1813
1814 2005-06-22  Wim Taymans  <wim@fluendo.com>
1815
1816         * gst/gstbuffer.h:
1817         Added convenience macros for setting buffers in GValue.
1818
1819 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1820
1821         * check/gst/.cvsignore:
1822         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1823           add a test deserializing int64, and comment part out because
1824           it fails, yay !
1825
1826 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1827
1828         * check/Makefile.am:
1829         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
1830         * testsuite/Makefile.am:
1831         * testsuite/caps/Makefile.am:
1832         * testsuite/caps/value_serialize.c:
1833         * testsuite/test_gst_init.c:
1834           move a value_serialize test over
1835
1836 2005-06-20  Wim Taymans  <wim@fluendo.com>
1837
1838         * gst/gstpad.c:
1839         Small doc updates.
1840         
1841         * gst/gstvalue.c: (gst_value_compare_buffer),
1842         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
1843         (gst_value_compare_flags), (gst_value_serialize_flags),
1844         (gst_value_deserialize_flags), (_gst_value_initialize):
1845         Fix serialisation of buffers, they are not boxed types anymore
1846
1847 2005-06-20  Wim Taymans  <wim@fluendo.com>
1848
1849         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1850         Testcase to show error in buffer-on-caps serialisation.
1851
1852 2005-06-20  Andy Wingo  <wingo@pobox.com>
1853
1854         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
1855         will be adding to later.
1856
1857         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
1858         if its socks fill with rocks.
1859         (gst_system_clock_obtain): Set the name on object construction.
1860         Avoid double-checked locking.
1861
1862 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
1863
1864         * gst/gsturi.c: (gst_element_make_from_uri):
1865           Fix potential endless loop.
1866
1867 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1868
1869         * check/Makefile.am:
1870           add gsttag
1871         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
1872         (main):
1873           move over from testsuite dir and clean up
1874         * configure.ac:
1875         * gst/gsttag.c:
1876         * testsuite/Makefile.am:
1877         * testsuite/tags/.cvsignore:
1878         * testsuite/tags/Makefile.am:
1879         * testsuite/tags/merge.c:
1880           remove testsuite/tags
1881
1882 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1883
1884         * docs/gst/gstreamer-sections.txt:
1885         * docs/gst/tmpl/gstenumtypes.sgml:
1886         * win32/gstenumtypes.c:
1887           clean up documentation build a little
1888
1889 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1890
1891         * check/gstcheck.h:
1892           add macros for checking refcounts on objects and caps
1893         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
1894           add some more unit tests
1895         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1896         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
1897           fix leaked refcounts (I hope :)) so unittest works
1898         * gst/gstpad.h:
1899           whitespace removal
1900
1901 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1902
1903         * configure.ac: back to HEAD
1904
1905 === release 0.9.1 ===
1906
1907 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1908
1909         * NEWS:
1910         * RELEASE:
1911           updated
1912
1913 2005-06-17  Andy Wingo  <wingo@pobox.com>
1914
1915         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
1916         assert; it's always possible that the pad gets deactivated in
1917         between the checks in gstpad.c and the implementation. Rely on
1918         finish_preroll() to return a FLUSHING or similar instead of on the
1919         assert.
1920         
1921         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
1922         clock and post an EOS message if we come out of finish_preroll in
1923         the playing state.
1924
1925 2005-06-16  David Schleef  <ds@schleef.org>
1926
1927         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1928         (gst_capsfilter_set_property): Allow NULL as possible value
1929         for filter_caps property, indicating GST_CAPS_ANY.
1930
1931 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1932
1933         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
1934           fix debug output
1935         * gst/schedulers/Makefile.am:
1936           use libgst prefix
1937         * gstreamer.spec.in:
1938           fix spec for it
1939
1940 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1941
1942         * gstreamer.spec.in:
1943           clean up
1944
1945 2005-06-08  Andy Wingo  <wingo@pobox.com>
1946
1947         * gst/gstutils.c: RPAD fixes all around.
1948         (gst_element_link_pads): Refcounting fixes.
1949
1950         * tools/gst-inspect.c:
1951         * tools/gst-xmlinspect.c:
1952         * parse/grammar.y:
1953         * gst/base/gsttypefindhelper.c:
1954         * gst/base/gstbasesink.c:
1955         * gst/gstqueue.c: RPAD fixes.
1956
1957         * gst/gstghostpad.h:
1958         * gst/gstghostpad.c: New ghost pad implementation as full proxy
1959         pads. The tricky thing is they provide both source and sink
1960         interfaces, since they proxy the internal pad for the external
1961         pad, and vice versa. Implement with lower-level ProxyPad objects,
1962         with the interior proxy pad as a child of the exterior ghost pad.
1963         Should write a doc on this.
1964         
1965         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
1966         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
1967         gst_object API.
1968         
1969         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
1970         pads are real pads. No ghost pads in this file. Not documenting
1971         the myriad s/RPAD/PAD/ and REALIZE fixes.
1972         (gst_pad_class_init): Add properties for "direction" and
1973         "template". Both are construct-only, so they can't change during
1974         the life of the pad. Fixes properly deriving from GstPad.
1975         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
1976         derived objects, just set properties when creating the objects via
1977         g_object_new.
1978         (gst_pad_get_parent): Implement as a function, return NULL if the
1979         parent is not an element.
1980         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
1981         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
1982         
1983         * gst/gstobject.c (gst_object_class_init): Make name a construct
1984         property. Don't set it in the object init.
1985
1986         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
1987         with UNKNOWN direction.
1988         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
1989         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
1990         (gst_element_remove_pad): Remove ghost-pad special cases.
1991         (gst_element_pads_activate): Remove rpad cruft.
1992
1993         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
1994         catch the pad's-parent-not-an-element case.
1995
1996         * gst/gst.h: Include gstghostpad.h.
1997
1998         * gst/gst.c (init_post): No more real, ghost pads.
1999
2000         * gst/Makefile.am: Add gstghostpad.[ch].
2001
2002         * check/Makefile.am:
2003         * check/gst/gstbin.c:
2004         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2005         into a bin creates ghost pads, and that the refcounts are right.
2006         Partly moved from gstbin.c.
2007
2008 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2009
2010         * check/gst-libs/.cvsignore:
2011         * check/gst/.cvsignore:
2012         * check/pipelines/.cvsignore:
2013           ignore more
2014         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2015         (START_TEST), (cleanup_suite), (main):
2016           add some tests related to cleanup after running pipelines
2017
2018 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2019
2020         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2021           add a testsuite for GstBuffer
2022
2023 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2024
2025         * gst/gstminiobject.h:
2026           add defines for accessing the refcount
2027
2028 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2029
2030         * Makefile.am: added support for html unit test coverage reports
2031
2032 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2033
2034         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2035           Free existing caps if the capsfilter changes. Add a FIXME about
2036           setting those caps on the pads.
2037
2038         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2039           Before adding a ghost pad to a parent bin, check that there isn't
2040           already one for the element on the bin. Prevents infinite recursion
2041           when using decodebin in parse pipelines. Andy says he'll rewrite the
2042           way this works anyway, so ignore the hack.
2043
2044 2005-06-02  Andy Wingo  <wingo@pobox.com>
2045
2046         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2047         file size, pass it on to the type find helper.
2048
2049         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2050         segment_start and segment_end properly according to the seek
2051         method. Segment_end is still a bit flaky because offset can be
2052         negative for CUR and END cases, but it takes -1 as an "unset"
2053         value.
2054
2055 2005-06-02  Wim Taymans  <wim@fluendo.com>
2056
2057         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2058         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2059         (gst_basesink_activate):
2060         * gst/base/gstbasesink.h:
2061         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2062         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2063         (gst_pad_query), (gst_pad_start_task):
2064         * gst/gstpad.h:
2065         * gst/gstqueue.c: (gst_queue_bufferalloc),
2066         (gst_queue_handle_sink_event), (gst_queue_chain):
2067         Bufferalloc: return GstFlowReturn to more accuratly report
2068         why allocation failed.
2069
2070 2005-06-02  Wim Taymans  <wim@fluendo.com>
2071
2072         * gst/gstpipeline.c: (gst_pipeline_send_event):
2073         Take snapshot of state without blocking.
2074
2075 2005-06-02  Wim Taymans  <wim@fluendo.com>
2076
2077         * docs/design/part-TODO.txt:
2078         * docs/design/part-caps.txt:
2079         * docs/design/part-clocks.txt:
2080         * docs/design/part-negotiation.txt:
2081         * docs/design/part-preroll.txt:
2082         Small doc updates 
2083
2084 2005-05-30  Wim Taymans  <wim@fluendo.com>
2085
2086         * gst/elements/gstidentity.c: (gst_identity_event),
2087         (gst_identity_transform), (gst_identity_get_property):
2088         Protect last_message property as it is accessed from
2089         multiple threads.
2090
2091 2005-05-30  Wim Taymans  <wim@fluendo.com>
2092
2093         * gst/gstelement.c: (gst_element_init),
2094         (gst_element_pads_activate), (gst_element_change_state):
2095         Slicker pad activation code.
2096
2097 2005-05-30  Wim Taymans  <wim@fluendo.com>
2098
2099         * gst/Makefile.am:
2100         * gst/gstelement.h:
2101         * gst/gstelementfactory.h:
2102         * gst/gsttypes.h:
2103         Move elementfactory methods to separate .h file.
2104
2105 2005-05-30  Wim Taymans  <wim@fluendo.com>
2106
2107         * docs/design/part-overview.txt:
2108         * gst/gstsystemclock.h:
2109         Small typo fixes, doc updates.
2110
2111 2005-05-30  Wim Taymans  <wim@fluendo.com>
2112
2113         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2114         (init_popt_callback):
2115         Remove cpu-opt flag.
2116
2117 2005-05-30  Wim Taymans  <wim@fluendo.com>
2118
2119         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2120         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2121         * gst/gstbuffer.h:
2122         Avoid typechecking in places where not needed.
2123         Added accessor for malloc_data.
2124
2125 2005-05-30  Wim Taymans  <wim@fluendo.com>
2126
2127         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2128         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2129         (gst_pad_configure_sink), (gst_pad_configure_src),
2130         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2131         (gst_pad_start_task):
2132         Propagate errors from _set_caps() in configure_src/sink
2133         functions instead of returning TRUE.
2134         FLUSH events can travel up and downstream
2135
2136
2137 2005-05-30  Wim Taymans  <wim@fluendo.com>
2138
2139         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2140         (gst_basesink_activate):
2141         Handle EOS in preroll.
2142
2143 2005-05-30  Wim Taymans  <wim@fluendo.com>
2144
2145         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2146         (gst_queue_loop), (gst_queue_handle_src_event):
2147         Remove old pieces of code
2148         Flushing the queue in an upstream event is a very bad idea.
2149
2150 2005-05-26  Andy Wingo  <wingo@pobox.com>
2151
2152         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2153         gst_value_set_mini_object so as to add a ref on the object (which
2154         will be removed when the value is unset).
2155
2156         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2157         arg type in ::handoff.
2158
2159         * gst/gstelement.c (gst_element_change_state): Also deactivate
2160         pads in READY->NULL, just in case the element didn't make it to
2161         PAUSED. Wingo tested, Wim approved.
2162
2163 2005-05-26  Wim Taymans  <wim@fluendo.com>
2164
2165         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2166         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2167         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2168         A flushing pad cannot be used to alloc_buffer from.
2169
2170 2005-05-26  Wim Taymans  <wim@fluendo.com>
2171
2172         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2173         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2174         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2175         (gst_bus_create_watch), (gst_bus_add_watch_full):
2176         * gst/gstbus.h:
2177         Implement a real GSource and use g_main_context_wakeup() to
2178         signal new messages instead of the socketpair.
2179
2180 2005-05-25  Wim Taymans  <wim@fluendo.com>
2181
2182         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2183         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2184         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2185         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2186         (gst_pad_send_event), (gst_pad_start_task):
2187         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2188         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2189         (gst_queue_sink_activate), (gst_queue_src_activate),
2190         (gst_queue_change_state):
2191         * gst/gstqueue.h:
2192         Fix state changes for non sinks. We now change sinks, then elements
2193         with unconnected srcpads, then the rest.
2194         More efficient queue unlocking in flush and state changes.
2195         Set the pad activate mode even if it does not have an activate
2196         function.
2197
2198 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2199
2200         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2201           Don't go in pull mode for non-seekable sources.
2202         * gst/elements/gsttypefindelement.h:
2203         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2204         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2205         (free_entry), (stop_typefinding),
2206         (gst_type_find_element_handle_event), (find_peek),
2207         (gst_type_find_element_chain), (do_pull_typefind),
2208         (gst_type_find_element_change_state):
2209           Allow typefinding (w/o seeking) in push-mode, simplified version
2210           of what was in 0.8.
2211         * gst/gstutils.c: (gst_buffer_join):
2212         * gst/gstutils.h:
2213           gst_buffer_join() from 0.8.
2214
2215 2005-05-25  Wim Taymans  <wim@fluendo.com>
2216
2217         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2218         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2219         (gst_pad_send_event), (gst_pad_start_task):
2220         Disable attempt at mode switching until it is figured out.
2221
2222 2005-05-25  Wim Taymans  <wim@fluendo.com>
2223
2224         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2225         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2226         (gst_basesink_finish_preroll), (gst_basesink_chain),
2227         (gst_basesink_loop), (gst_basesink_activate),
2228         (gst_basesink_change_state):
2229         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2230         (gst_basesrc_get_range), (gst_basesrc_loop),
2231         (gst_basesrc_activate):
2232         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2233         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2234         (gst_real_pad_init), (gst_real_pad_set_property),
2235         (gst_real_pad_get_property), (gst_pad_set_active),
2236         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2237         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2238         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2239         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2240         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2241         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2242         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2243         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2244         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2245         (gst_pad_stop_task):
2246         * gst/gstpad.h:
2247         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2248         (gst_queue_loop), (gst_queue_src_activate):
2249         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2250         (gst_task_get_state):
2251         * gst/gsttask.h:
2252         * gst/schedulers/threadscheduler.c:
2253         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2254         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2255         in task function.
2256         Remove ACTIVE pad flag, use FLUSHING everywhere
2257         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2258         functions.
2259         Add locks around IS_FLUSHING when reading.
2260         Take STREAM lock in chain(), get_range() functions so plugins
2261         don't need to take it anymore.
2262         
2263
2264
2265 2005-05-25  Wim Taymans  <wim@fluendo.com>
2266
2267         * tools/gst-launch.c: (event_loop):
2268         Unref message after using its contents instead of
2269         before.
2270
2271 2005-05-24  Wim Taymans  <wim@fluendo.com>
2272
2273         * docs/design/draft-ghostpads.txt:
2274         * docs/design/draft-push-pull.txt:
2275         * docs/design/draft-query.txt:
2276         * docs/design/part-overview.txt:
2277         Docs updates, added general overview doc.
2278
2279 2005-05-21  David Schleef  <ds@schleef.org>
2280
2281         * docs/gst/tmpl/old/GstBin.sgml:
2282         * docs/gst/tmpl/old/GstBuffer.sgml:
2283         * docs/gst/tmpl/old/GstCaps.sgml:
2284         * docs/gst/tmpl/old/GstClock.sgml:
2285         * docs/gst/tmpl/old/GstCompat.sgml:
2286         * docs/gst/tmpl/old/GstData.sgml:
2287         * docs/gst/tmpl/old/GstElement.sgml:
2288         * docs/gst/tmpl/old/GstEvent.sgml:
2289         * docs/gst/tmpl/old/GstIndex.sgml:
2290         * docs/gst/tmpl/old/GstStructure.sgml:
2291         * docs/gst/tmpl/old/GstTag.sgml:
2292         * docs/gst/tmpl/old/cothreads.sgml:
2293         * docs/gst/tmpl/old/cothreads_compat.sgml:
2294         * docs/gst/tmpl/old/gettext.sgml:
2295         * docs/gst/tmpl/old/gobject2gtk.sgml:
2296         * docs/gst/tmpl/old/grammar.tab.sgml:
2297         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2298         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2299         * docs/gst/tmpl/old/gst_private.sgml:
2300         * docs/gst/tmpl/old/gstaggregator.sgml:
2301         * docs/gst/tmpl/old/gstarch.sgml:
2302         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2303         * docs/gst/tmpl/old/gstbufferstore.sgml:
2304         * docs/gst/tmpl/old/gstdata_private.sgml:
2305         * docs/gst/tmpl/old/gstdisksink.sgml:
2306         * docs/gst/tmpl/old/gstdisksrc.sgml:
2307         * docs/gst/tmpl/old/gstelementfactory.sgml:
2308         * docs/gst/tmpl/old/gstextratypes.sgml:
2309         * docs/gst/tmpl/old/gstfakesink.sgml:
2310         * docs/gst/tmpl/old/gstfakesrc.sgml:
2311         * docs/gst/tmpl/old/gstfdsink.sgml:
2312         * docs/gst/tmpl/old/gstfdsrc.sgml:
2313         * docs/gst/tmpl/old/gstfilesink.sgml:
2314         * docs/gst/tmpl/old/gstfilesrc.sgml:
2315         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2316         * docs/gst/tmpl/old/gstidentity.sgml:
2317         * docs/gst/tmpl/old/gstindexfactory.sgml:
2318         * docs/gst/tmpl/old/gstmarshal.sgml:
2319         * docs/gst/tmpl/old/gstmd5sink.sgml:
2320         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2321         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2322         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2323         * docs/gst/tmpl/old/gstpipefilter.sgml:
2324         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2325         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2326         * docs/gst/tmpl/old/gstshaper.sgml:
2327         * docs/gst/tmpl/old/gstspider.sgml:
2328         * docs/gst/tmpl/old/gstspideridentity.sgml:
2329         * docs/gst/tmpl/old/gststatistics.sgml:
2330         * docs/gst/tmpl/old/gsttee.sgml:
2331         * docs/gst/tmpl/old/gsttimecache.sgml:
2332         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2333         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2334         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2335         * docs/gst/tmpl/old/types.sgml:
2336           I didn't intend to add these or check them in.
2337
2338 2005-05-19  David Schleef  <ds@schleef.org>
2339
2340         * configure.ac: Use -no-common everywhere.  In a sane world, it
2341           would be the default in libtool, because without it, you can't
2342           build DLLs on Windows.
2343         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2344         * docs/gst/gstreamer-sections.txt:
2345         * docs/gst/tmpl/gstcpu.sgml:
2346         * docs/gst/tmpl/gstdata.sgml:
2347         * docs/gst/tmpl/gstthread.sgml:
2348
2349 2005-05-19  David Schleef  <ds@schleef.org>
2350
2351         * gst/gstminiobject.c: (gst_value_set_mini_object),
2352         (gst_value_take_mini_object), (gst_value_get_mini_object):
2353         * gst/gstminiobject.h: Add GValue set/get functions.
2354
2355 2005-05-19  Wim Taymans  <wim@fluendo.com>
2356
2357         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2358         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2359         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2360         * gst/gstbuffer.h:
2361         * gst/gstbus.c: (gst_bus_post):
2362         * gst/gstelement.c: (gst_element_get_random_pad):
2363         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2364         Make subbufer unref the parent in finalize.
2365         some more debugging info.
2366
2367
2368 2005-05-19  Wim Taymans  <wim@fluendo.com>
2369
2370         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2371         (gst_basesink_init), (gst_basesink_finalize),
2372         (gst_basesink_activate), (gst_basesink_change_state):
2373         Don't free preroll queue too early.
2374
2375 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2376
2377         * gst/Makefile.am:
2378         * gst/ROADMAP:
2379           Hi, I'm outdated. Please shoot me.
2380
2381 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2382
2383         * gst/gstpipeline.c: (gst_pipeline_send_event):
2384           Do not access variables after they have been deleted.
2385
2386 2005-05-19  Wim Taymans  <wim@fluendo.com>
2387
2388         * tools/gst-inspect.c: (print_plugin_features):
2389         A plugin feature does unfortunatly not use the
2390         object name yet...
2391
2392 2005-05-18  Wim Taymans  <wim@fluendo.com>
2393
2394         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2395         Port _span() functions to new subbuffers.
2396
2397 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2398
2399         * gst/gstbin.c: (gst_bin_add_func):
2400           Fix clock settery in bins when adding kids after the clock has
2401           been selected.
2402
2403 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2404
2405         * gst/elements/gstidentity.c: (gst_identity_class_init):
2406           Workaround until signals support GstMiniObject.
2407
2408 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2409
2410         * gst/gstbuffer.c:
2411         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2412
2413 2005-05-18  Wim Taymans  <wim@fluendo.com>
2414
2415         * gst/base/Makefile.am:
2416         * gst/base/gstadapter.c: (gst_adapter_base_init),
2417         (gst_adapter_class_init), (gst_adapter_init),
2418         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2419         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2420         (gst_adapter_flush), (gst_adapter_available),
2421         (gst_adapter_available_fast):
2422         * gst/base/gstadapter.h:
2423         Ported and added adapter to the base classes.
2424
2425 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2426
2427         * gst/gst.c:
2428         * gst/gstmessage.c:
2429           Make sure the class is reffed/unreffed once before threads can be
2430           used.  Fixes #304551.
2431
2432 2005-05-17  Wim Taymans  <wim@fluendo.com>
2433
2434         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2435         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2436         * gst/gstminiobject.c: (gst_mini_object_get_type),
2437         (gst_mini_object_free):
2438         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2439         (gst_pad_push), (gst_pad_push_event):
2440         * gst/gstqueue.c: (gst_queue_change_state):
2441         Don't queue buffers in basesink when we are flushing.
2442         Unref buffer when flushing in basesink.
2443         Flush queue when going to READY
2444         Unref buffer when _push() returns an error.
2445         Don't free MiniObject instance when refcount is incremented
2446         in _finalize() so that we can recover objects.
2447
2448 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2449
2450         * docs/manual/advanced-schedulers.xml:
2451         * docs/manual/appendix-checklist.xml:
2452         * docs/pwg/advanced-clock.xml:
2453         * docs/pwg/advanced-interfaces.xml:
2454         * docs/pwg/advanced-request.xml:
2455         * docs/pwg/advanced-types.xml:
2456         * docs/pwg/intro-preface.xml:
2457         * examples/plugins/example.c: (gst_example_get_type),
2458         (gst_example_class_init), (gst_example_chain),
2459         (gst_example_set_property), (gst_example_get_property),
2460         (gst_example_change_state), (plugin_init):
2461         * examples/plugins/example.h:
2462           small doc fixes
2463
2464 2005-05-17  Wim Taymans  <wim@fluendo.com>
2465
2466         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
2467         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
2468         * gst/gstqueue.c: (gst_queue_change_state):
2469         Clear queue when going to READY.
2470         Remove IN_SETCAPS flag too.
2471
2472 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
2473
2474         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
2475           Remove implicit cast from gboolean to GstElementStateReturn;
2476           make sure we still return failure in paused => ready case if
2477           the parent class fails to change state and our own stop 
2478           vfunc succeeds.
2479
2480 2005-05-17  Wim Taymans  <wim@fluendo.com>
2481
2482         * tools/gst-launch.c: (event_loop):
2483         Message was unreffed too soon.
2484
2485 2005-05-16  Andy Wingo  <wingo@pobox.com>
2486
2487         * gst/gstbin.c (sink_iterator_filter): Err... um...
2488
2489         * check/gst/gstbin.c (test_ghost_pads): New test for the
2490         ghosting-if-elements-not-in-same-bin behavior.
2491
2492 2005-05-16  David Schleef  <ds@schleef.org>
2493
2494         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
2495         accessing refcount directly.
2496
2497 2005-05-15  David Schleef  <ds@schleef.org>
2498
2499         * check/Makefile.am: remove GstData checks
2500         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
2501         * gst/Makefile.am: add miniobject, remove data
2502         * gst/gst.h: add miniobject, remove data
2503         * gst/gstdata.c: remove
2504         * gst/gstdata.h: remove
2505         * gst/gstdata_private.h: remove
2506         * gst/gsttypes.h: remove GstEvent and GstMessage
2507         * gst/gstelement.c: (gst_element_post_message): fix for API changes
2508         * gst/gstmarshal.list: change BOXED -> OBJECT
2509
2510         Implement GstMiniObject.
2511         * gst/gstminiobject.c:
2512         * gst/gstminiobject.h:
2513
2514         Modify to be subclasses of GstMiniObject.
2515         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
2516         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
2517         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
2518         (gst_subbuffer_get_type), (gst_subbuffer_init),
2519         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
2520         (gst_buffer_span):
2521         * gst/gstbuffer.h:
2522         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
2523         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
2524         (_gst_event_copy), (gst_event_new):
2525         * gst/gstevent.h:
2526         * gst/gstmessage.c: (_gst_message_initialize),
2527         (gst_message_get_type), (gst_message_class_init),
2528         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
2529         (gst_message_new), (gst_message_new_error),
2530         (gst_message_new_warning), (gst_message_new_tag),
2531         (gst_message_new_state_changed), (gst_message_new_application):
2532         * gst/gstmessage.h:
2533         * gst/gstprobe.c: (gst_probe_perform),
2534         (gst_probe_dispatcher_dispatch):
2535         * gst/gstprobe.h:
2536         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
2537         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
2538         (_gst_query_copy), (gst_query_new):
2539
2540         Update elements for GstData -> GstMiniObject changes
2541         * gst/gstquery.h:
2542         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
2543         (gst_queue_chain), (gst_queue_loop):
2544         * gst/elements/gstbufferstore.c:
2545         (gst_buffer_store_add_buffer_func),
2546         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
2547         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2548         (gst_fakesink_render):
2549         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2550         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
2551         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
2552         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
2553         (gst_filesrc_create_read):
2554         * gst/elements/gstidentity.c: (gst_identity_class_init):
2555         * gst/elements/gsttypefindelement.c:
2556         (gst_type_find_element_src_event), (free_entry_buffers),
2557         (gst_type_find_element_handle_event):
2558         * libs/gst/dataprotocol/dataprotocol.c:
2559         (gst_dp_header_from_buffer):
2560         * libs/gst/dataprotocol/dataprotocol.h:
2561         * libs/gst/dataprotocol/dp-private.h:
2562
2563 2005-05-15  David Schleef  <ds@schleef.org>
2564
2565         * gst/elements/gstelements.c: Don't include headers that were
2566         just removed.
2567
2568 2005-05-15  David Schleef  <ds@schleef.org>
2569
2570         * gst/elements/Makefile.am: Remove some elements that don't
2571         need to be in the core (or even exist at all).
2572         * gst/elements/gstaggregator.c:
2573         * gst/elements/gstaggregator.h:
2574         * gst/elements/gstmd5sink.c:
2575         * gst/elements/gstmd5sink.h:
2576         * gst/elements/gstmultifilesrc.c:
2577         * gst/elements/gstmultifilesrc.h:
2578         * gst/elements/gstpipefilter.c:
2579         * gst/elements/gstpipefilter.h:
2580         * gst/elements/gstshaper.c:
2581         * gst/elements/gstshaper.h:
2582         * gst/elements/gststatistics.c:
2583         * gst/elements/gststatistics.h:
2584         * po/POTFILES.in: Remove above files.
2585
2586 2005-05-14  Andy Wingo  <wingo@pobox.com>
2587
2588         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
2589         so as to get the refs right.
2590         (sink_iterator_filter): New function, wraps bin_element_is_sink,
2591         unreffing objects that don't pass the filter.
2592
2593         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
2594         gst_element_set_bus.
2595         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
2596         normal cases, this will destroy the bus.
2597
2598         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
2599         object.
2600
2601         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
2602         has no sinks.
2603
2604 2005-05-13  Andy Wingo  <wingo@pobox.com>
2605
2606         * gst/gstutils.c (gst_element_link_pads): Instead of calling
2607         gst_pad_link, call pad_link_maybe_ghosting,
2608         (pad_link_maybe_ghosting): Links pads, making sure that the
2609         elements being linked are in the same bin.
2610         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
2611         Helpers for pad_link_maybe_ghosting.
2612
2613 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2614
2615         * configure.ac:
2616           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
2617
2618 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2619
2620         * docs/design/part-element-source.txt:
2621           Mention GstPushSrc
2622
2623 2005-05-12  Wim Taymans  <wim@fluendo.com>
2624
2625         * gst/base/gstbasesink.c: (gst_basesink_init),
2626         (gst_basesink_activate):
2627         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
2628         (gst_basesrc_is_seekable):
2629         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2630         (bin_element_is_sink), (gst_bin_change_state):
2631         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2632         * gst/gstelement.h:
2633         Identify sinks by their flag to avoid overly complicated
2634         checks (fow now).
2635         Do state changes even for elements not reachable from the
2636         sinks.
2637         BaseSink is a sink now :)
2638         Some more debugging info in the basesrc.
2639
2640
2641 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2642
2643         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
2644           Implement _query on a bin, similar to _send_event.
2645
2646 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2647
2648         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
2649           Discont event offset format should be GST_FORMAT_BYTES,
2650           not GST_FORMAT_TIME.
2651
2652 2005-05-12  Wim Taymans  <wim@fluendo.com>
2653
2654         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
2655         Same fix as Ronald's but without the signal. 
2656
2657 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2658
2659         * gst/gstutils.c: (gst_element_query_position):
2660           No, an element is not a pad.
2661
2662 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2663
2664         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
2665         (gst_bin_get_state):
2666           If a child is removed from a bin while we remove the child from
2667           the bin and while we're retrieving its state, signal this to the
2668           get_state function so we abort the wait (instead of waiting for
2669           a timeout) and can immediately re-iterate over all other elements.
2670
2671 2005-05-12  Wim Taymans  <wim@fluendo.com>
2672
2673         * gst/base/Makefile.am:
2674         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
2675         (gst_basesrc_start):
2676         * gst/base/gstbasesrc.h:
2677         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
2678         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
2679         (gst_pushsrc_init), (gst_pushsrc_create):
2680         * gst/base/gstpushsrc.h:
2681         Added is_seekable to BaseSrc
2682         Added simple PushSrc.
2683
2684 2005-05-11  Wim Taymans  <wim@fluendo.com>
2685
2686         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2687         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2688         (gst_element_link_pads), (gst_element_query_position),
2689         (gst_element_query_convert), (intersect_caps_func),
2690         (gst_pad_query_position), (gst_pad_query_convert):
2691         Fix refcounting in utils function.
2692         No point in trying to activate a pad when it's added, it could
2693         be added from the state change function and then we deadlock, the
2694         element has to decide what to do.
2695
2696 2005-05-10  Andy Wingo  <wingo@pobox.com>
2697
2698         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
2699         *all* the arguments.
2700
2701         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
2702         stream lock if it's a FLUSH_DONE; normal flushes don't get the
2703         lock (according to the docs -- if this is wrong change the docs).
2704
2705         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
2706         flush messages in the NULL state.
2707
2708         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
2709         message immediately and return.
2710         (gst_bus_set_flushing): New function. If a bus is flushing, it
2711         flushes out any queued messages and immediately unrefs new
2712         messages. This is so when an element goes to NULL, all of the
2713         unhandled messages coming from it can be freed, and their
2714         references to the element dropped. In other words: message source
2715         ref considered harmful :P
2716
2717         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
2718         we're finished with it.
2719
2720         * gst/gstmessage.c (gst_message_new_state_changed): 
2721
2722 2005-05-10  Wim Taymans  <wim@fluendo.com>
2723
2724         * gst/gstvalue.c: (gst_value_compare_flags),
2725         (gst_value_serialize_flags), (gst_value_deserialize_flags),
2726         (_gst_value_initialize):
2727         Added flags serialize/deserialize/compare code.
2728
2729 2005-05-09  Andy Wingo  <wingo@pobox.com>
2730
2731         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
2732         Intersect the peer's caps with our caps.
2733
2734 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2735
2736         * gst/base/gsttypefindhelper.c: (helper_find_peek):
2737         * gst/elements/gsttypefindelement.c: (find_peek):
2738           Handle negative offsets better. Fixes decodebin.
2739
2740 2005-05-09  Wim Taymans  <wim@fluendo.com>
2741
2742         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
2743         (gst_base_transform_event):
2744         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
2745         Implement accept_caps.
2746         Fix silly lock/unlock mismatch in base class.
2747
2748 2005-05-09  Wim Taymans  <wim@fluendo.com>
2749
2750         * docs/design/draft-push-pull.txt:
2751         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
2752         * gst/elements/gstfilesink.c: (gst_filesink_init),
2753         (gst_filesink_query):
2754         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2755         (gst_type_find_handle_src_query), (find_element_get_length):
2756         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
2757         * gst/gstelement.h:
2758         * gst/gstmessage.c:
2759         * gst/gstmessage.h:
2760         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
2761         (gst_real_pad_get_caps_unlocked),
2762         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
2763         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2764         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
2765         (gst_real_pad_dispose), (gst_real_pad_finalize),
2766         (gst_pad_load_and_link), (gst_pad_save_thyself),
2767         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
2768         (gst_pad_check_pull_range), (gst_pad_pull_range),
2769         (gst_pad_template_get_type), (gst_pad_template_class_init),
2770         (gst_pad_template_init), (gst_pad_template_dispose),
2771         (name_is_valid), (gst_static_pad_template_get),
2772         (gst_pad_template_new), (gst_static_pad_template_get_caps),
2773         (gst_pad_template_get_caps), (gst_pad_set_element_private),
2774         (gst_pad_get_element_private), (gst_pad_start_task),
2775         (gst_pad_pause_task), (gst_pad_stop_task),
2776         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
2777         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
2778         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
2779         (gst_ghost_pad_new):
2780         * gst/gstpad.h:
2781         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
2782         (gst_query_new_position), (gst_query_set_position),
2783         (gst_query_parse_position), (gst_query_new_convert),
2784         (gst_query_set_convert), (gst_query_parse_convert):
2785         * gst/gstquery.h:
2786         * gst/gstqueryutils.c:
2787         * gst/gstqueryutils.h:
2788         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2789         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2790         (gst_queue_handle_src_query):
2791         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2792         (gst_element_query_position), (gst_element_query_convert),
2793         (intersect_caps_func), (gst_pad_query_position),
2794         (gst_pad_query_convert):
2795         * gst/gstutils.h:
2796         * tools/gst-inspect.c: (print_pad_info):
2797         * tools/gst-xmlinspect.c: (print_element_info):
2798         Remove old query functions. Ported old code.
2799         Added position/convert helper functions to gstutils.
2800         Reordered gstpad.c code, grouping relevant things.
2801         Remove gst_message_new(), always need to speficy a specific
2802         message.
2803
2804
2805 2005-05-09  Andy Wingo  <wingo@pobox.com>
2806
2807         * gst/gstiterator.h: Add some includes.
2808
2809         * gst/gstqueryutils.h: Include more headers.
2810
2811         * gst/gstpad.h:
2812         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
2813         some uses of gst_pad_query.
2814
2815         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
2816         NULL out parameters.
2817         (gst_query_new_position): New proc, allocates a new position
2818         query.
2819
2820         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
2821         gstqueryutils.c to the build.
2822
2823         * gst/gststructure.c (gst_structure_set_valist): Implement with
2824         the generic G_VALUE_COLLECT.
2825         
2826 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
2827
2828         * gst/Makefile.am: (gst_headers):
2829         Added gstqueryutils.h to the list of headers to install, that was
2830         a 'nachty' move wingo :)
2831
2832 2005-05-06  Andy Wingo  <wingo@pobox.com>
2833
2834         * gst/gstquery.h
2835         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
2836         GstData, init a memchunk.
2837         (standard_definitions): Add a few query types, deprecate a few.
2838         (gst_query_get_type): New proc.
2839         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
2840         implementation.
2841         (gst_query_new_application, gst_query_get_structure): New public
2842         procs.
2843
2844         * docs/design/draft-query.txt: Removed LINKS from the query types,
2845         because all the rest can be dispatched to other pads -- seemed
2846         ugly to have a query that couldn't be dispatched. internal_links
2847         is fine as a pad method.
2848
2849         * gst/gstpad.h: Add query2 as a pad method, add the new functions
2850         in gstpad.c, but maintain binary compatibility for the moment.
2851         Will fix before 0.9 is out.
2852
2853         * gst/gstqueryutils.c: 
2854         * gst/gstqueryutils.h: New files, implement 3 methods for each
2855         query type: parse_query, parse_response, and set. Probably need an
2856         allocator as well.
2857
2858         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
2859
2860         * gst/elements/gstfilesink.c (gst_filesink_query2):
2861         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
2862         query_types, and formats methods.
2863
2864         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
2865         (gst_pad_set_query2_function): New functions.
2866         (gst_real_pad_init): Set query2_default as the default query2
2867         function. Basically just dispatches to internally linked pads.
2868
2869         Needs review!
2870         
2871         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
2872         without using the atomic operations. Only one thread can possibly
2873         be accessing the data at this point. Changed so as to avoid
2874         gst_atomic operations.
2875
2876 2005-05-06  Wim Taymans  <wim@fluendo.com>
2877
2878         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
2879         Also set caps if we use the fallback buffer alloc.
2880
2881 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
2882
2883         * docs/gst/Makefile.am:
2884         * docs/gst/gstreamer-docs.sgml:
2885         * docs/gst/gstreamer-sections.txt:
2886         * docs/gst/tmpl/gstatomic.sgml:
2887         * docs/gst/tmpl/gstmemchunk.sgml:
2888         * testsuite/elements/struct_i386.h:
2889         * win32/GStreamer.vcproj:
2890         * win32/Makefile:
2891           Purge GstAtomic stuff from docs and win32 makefiles as well
2892
2893 2005-05-06  Wim Taymans  <wim@fluendo.com>
2894
2895         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
2896         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
2897         * gst/gstpad.c: (gst_pad_peer_get_caps):
2898         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2899         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2900         (gst_queue_src_activate), (gst_queue_change_state):
2901         * gst/gstqueue.h:
2902         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2903         (intersect_caps_func):
2904         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
2905         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
2906         Some fixes for the peer_get_caps() change.
2907
2908 2005-05-06  Wim Taymans  <wim@fluendo.com>
2909
2910         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2911         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
2912         (gst_basesink_activate):
2913         Actually do something with error codes returned from the push
2914         functions.
2915
2916 2005-05-06  Wim Taymans  <wim@fluendo.com>
2917
2918         * docs/design/part-element-sink.txt:
2919         * docs/design/part-element-source.txt:
2920         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2921         (gst_basesink_event), (gst_basesink_activate):
2922         * gst/base/gstbasesink.h:
2923         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
2924         (gst_basesrc_activate):
2925         * gst/base/gstbasesrc.h:
2926         * gst/gstelement.c: (gst_element_pads_activate):
2927         Some more documentation.
2928         Fixed scheduling decision in _pads_activate().
2929
2930 2005-05-05  Andy Wingo  <wingo@pobox.com>
2931
2932         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
2933         the test suite.
2934
2935 2005-05-05  Wim Taymans  <wim@fluendo.com>
2936
2937         * gst/base/Makefile.am:
2938         * gst/base/gstbasesink.h:
2939         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2940         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
2941         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
2942         (gst_collectpads_class_init), (gst_collectpads_init),
2943         (gst_collectpads_finalize), (gst_collectpads_new),
2944         (gst_collectpads_set_function), (gst_collectpads_add_pad),
2945         (find_pad), (gst_collectpads_remove_pad),
2946         (gst_collectpads_is_active), (gst_collectpads_collect),
2947         (gst_collectpads_collect_range), (gst_collectpads_start),
2948         (gst_collectpads_stop), (gst_collectpads_peek),
2949         (gst_collectpads_pop), (gst_collectpads_available),
2950         (gst_collectpads_read), (gst_collectpads_flush),
2951         (gst_collectpads_chain):
2952         * gst/base/gstcollectpads.h:
2953         * gst/elements/Makefile.am:
2954         * gst/elements/gstelements.c:
2955         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2956         (gst_fakesink_get_times), (gst_fakesink_event),
2957         (gst_fakesink_preroll), (gst_fakesink_render):
2958         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2959         (gst_filesink_init), (gst_filesink_set_location),
2960         (gst_filesink_open_file), (gst_filesink_close_file),
2961         (gst_filesink_pad_query), (gst_filesink_event),
2962         (gst_filesink_render), (gst_filesink_change_state):
2963         * gst/elements/gstfilesink.h:
2964         Added object to help in making collect pad based elements.
2965         Ported filesink.
2966         Make event function in sink baseclass return gboolean.
2967
2968 2005-05-05  Wim Taymans  <wim@fluendo.com>
2969
2970         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
2971         (gst_bin_get_by_name):
2972         * gst/gstbuffer.h:
2973         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
2974         (gst_clock_finalize):
2975         * gst/gstdata.c: (gst_data_replace):
2976         * gst/gstdata.h:
2977         * gst/gstelement.c: (gst_element_request_pad),
2978         (gst_element_pads_activate):
2979         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2980         (gst_object_unref):
2981         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2982         (gst_pad_set_checkgetrange_function),
2983         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
2984         (gst_pad_check_pull_range), (gst_pad_pull_range),
2985         (gst_static_pad_template_get_caps), (gst_pad_start_task),
2986         (gst_pad_pause_task), (gst_pad_stop_task):
2987         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2988         (gst_element_request_pad), (gst_pad_proxy_getcaps):
2989         Fix name lookup in GstBin.
2990         Added _data_replace() function and _buffer_replace()
2991         Use finalize method to clean up clock.
2992         Fix refcounting on request pads.
2993         Fix pad schedule mode error.
2994         Some more object refcounting debug info,
2995
2996
2997 2005-05-04  Andy Wingo <wingo@pobox.com>
2998
2999         * check/Makefile.am:
3000         * docs/gst/tmpl/gstatomic.sgml:
3001         * docs/gst/tmpl/gstplugin.sgml:
3002         * gst/base/gstbasesink.c: (gst_basesink_activate):
3003         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3004         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3005         (gst_basesrc_query), (gst_basesrc_set_property),
3006         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3007         (gst_basesrc_activate):
3008         * gst/base/gstbasesrc.h:
3009         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3010         (gst_base_transform_src_activate):
3011         * gst/elements/gstelements.c:
3012         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3013         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3014         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3015         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3016         (gst_type_find_element_checkgetrange),
3017         (gst_type_find_element_activate):
3018         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3019         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3020         (gst_caps_load_thyself):
3021         * gst/gstelement.c: (gst_element_pads_activate),
3022         (gst_element_save_thyself), (gst_element_restore_thyself):
3023         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3024         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3025         * gst/gstpad.h:
3026         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3027         (gst_xml_parse_file), (gst_xml_parse_memory),
3028         (gst_xml_get_element), (gst_xml_make_element):
3029         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3030         (_file_index_id_save_xml), (gst_file_index_commit):
3031         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3032         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3033         (load_paths):
3034         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3035         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3036         * tools/gst-complete.c: (main):
3037         * tools/gst-compprep.c: (main):
3038         * tools/gst-inspect.c: (print_element_properties_info):
3039         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3040         * tools/gst-xmlinspect.c: (print_element_properties):
3041         GCC 4 fixen.
3042         
3043 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3044
3045         * gst/gstplugin.c: (gst_plugin_check_module),
3046         (gst_plugin_check_file), (gst_plugin_load_file):
3047             apply patch from #172526 to make register work on MacOSX
3048
3049 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3050
3051         * docs/gst/tmpl/gstconfig.sgml:
3052         * gst/gstconfig.h.in:
3053           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3054         * testsuite/debug/printf_extension.c: (main):
3055           Do not use GST_PTR_FORMAT on pointers to types with
3056           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3057         * testsuite/elements/property.h:
3058           use correct printf format
3059
3060 2005-05-02  Wim Taymans  <wim@fluendo.com>
3061
3062         * docs/design/draft-push-pull.txt:
3063         * docs/design/draft-query.txt:
3064         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3065         (gst_basesrc_start):
3066         Added draft for new query API.
3067         Added draft for better selecting scheduling methods.
3068         Make basesrc ignore length if the subclass does not support
3069         it.
3070
3071 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3072
3073         * gst/Makefile.am:
3074           possible fixes for automake-1.5 - _LIBADD is reserved
3075
3076 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3077
3078         * docs/faq/Makefile.am:
3079         * docs/manual/Makefile.am:
3080         * docs/manuals.mak:
3081         * docs/pwg/Makefile.am:
3082         * gst/Makefile.am:
3083           possible fixes for automake-1.5
3084
3085 2005-04-28  Wim Taymans  <wim@fluendo.com>
3086
3087         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3088         (gst_basesink_pad_getcaps), (gst_basesink_init),
3089         (gst_basesink_do_sync):
3090         * gst/gstclock.c: (gst_clock_entry_new):
3091         * gst/gstevent.c: (gst_event_discont_get_value):
3092         * gst/gstpipeline.c: (pipeline_bus_handler),
3093         (gst_pipeline_change_state):
3094         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3095         Better debugging of clocking info.
3096         Allow NULL values when getting discont values.
3097
3098 2005-04-27  Wim Taymans  <wim@fluendo.com>
3099
3100         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3101         * check/gst/gstpad.c: (gst_pad_suite):
3102         Increase timeout for checks.
3103
3104 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3105
3106         * check/Makefile.am:
3107           fix the broken rule for cleanup.  Apparently this rule is
3108           only needed on FC2, so maybe this warrants further autotool
3109           inspection.
3110
3111 2005-04-26  Wim Taymans  <wim@fluendo.com>
3112
3113         * gst/gsttrashstack.h:
3114         Ooohh. a nasty one! After having a failed pop() from the stack,
3115         it's possible that the stack is empty. In that case, don't
3116         follow the NULL pointer.
3117
3118 2005-04-25  Wim Taymans  <wim@fluendo.com>
3119
3120         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3121         (gst_pad_set_checkgetrange_function),
3122         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3123         (gst_pad_check_pull_range), (gst_pad_pull_range),
3124         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3125         (gst_pad_pause_task), (gst_pad_stop_task):
3126         * gst/gstplugin.c: (gst_plugin_load):
3127         * gst/gstplugin.h:
3128         Remove gst_library_load as it does more harm than good with
3129         the new g_module flags.
3130         Revert bogus caps template check in pad linking, pad caps
3131         are important when linking not the template, which is more
3132         general than the current caps.
3133
3134 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3135
3136         * gst/autoplug/.cvsignore:
3137         * gst/autoplug/Makefile.am:
3138         * gst/autoplug/gstsearchfuncs.c:
3139         * gst/autoplug/gstsearchfuncs.h:
3140         * gst/autoplug/gstspider.c:
3141         * gst/autoplug/gstspider.h:
3142         * gst/autoplug/gstspideridentity.c:
3143         * gst/autoplug/gstspideridentity.h:
3144         * gst/autoplug/spidertest.c:
3145           Die, spider, die.
3146
3147 2005-04-25  Wim Taymans  <wim@fluendo.com>
3148
3149         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3150         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3151         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3152         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3153         * gst/gstpad.h:
3154         Added stubs for unimplemented functions. 
3155
3156 2005-04-24  David Schleef  <ds@schleef.org>
3157
3158         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3159         please fix.
3160
3161 2005-04-24  David Schleef  <ds@schleef.org>
3162
3163         Convert everything from GstAtomicInt to g_atomic_int_*, and
3164         remove gstatomic.
3165         * gst/Makefile.am:
3166         * gst/gstatomic.c:
3167         * gst/gstatomic.h:
3168         * gst/gstatomic_impl.h:
3169         * gst/gstbuffer.c:
3170         * gst/gstcaps.c:
3171         * gst/gstcaps.h:
3172         * gst/gstclock.c:
3173         * gst/gstclock.h:
3174         * gst/gstdata.c:
3175         * gst/gstdata.h:
3176         * gst/gstdata_private.h:
3177         * gst/gstevent.c:
3178         * gst/gstinfo.c:
3179         * gst/gstinfo.h:
3180         * gst/gstmessage.c:
3181         * gst/gstobject.c:
3182         * gst/gstobject.h:
3183         * gst/gststructure.c:
3184         * gst/gststructure.h:
3185         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3186         * gst/gstutils.h:
3187
3188 2005-04-24  David Schleef  <ds@schleef.org>
3189
3190         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3191         make the regressions tests work.  Remove some code that is no
3192         longer true.
3193         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3194         Disable warning for pads without templates.
3195
3196 2005-04-24  David Schleef  <ds@schleef.org>
3197
3198         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3199         functions that handle filtered links.
3200         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3201         removed functions.
3202         * gst/gstutils.c: Fix/remove utility functions that handle
3203         filtered caps.
3204         * gst/gstutils.h:
3205         * gst/gstvalue.c: Add serialization/deserialization of caps
3206         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3207         requires fixing so that the filter caps notation creates
3208         a capsfilter element and sets the filter_caps property.  I
3209         think everyone probably wants to keep the shorthand notation.
3210         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3211         * docs/gst/tmpl/gstpad.sgml:
3212
3213         * gst/elements/gstelements.c: Register capsfilter element.
3214         * gst/Makefile.am: fix spacing
3215         * docs/random/ds/0.9-suggested-changes: random
3216
3217 2005-04-23  David Schleef  <ds@schleef.org>
3218
3219         * gst/elements/Makefile.am:
3220         * gst/elements/gstcapsfilter.c: New element that acts like an
3221         identity, but filters caps.  Will eventually replace filtered
3222         caps in pad linking.
3223         * gst/gstutils.c: (gst_element_create_all_pads): New function
3224         to create all the ALWAYS pads that are registered with an
3225         element class.  This functionality should eventually be
3226         merged in with GstElement initialization.
3227         * gst/gstutils.h:
3228         * testsuite/trigger/README: part of trigger test code that should
3229         have been checked in a long time ago.
3230
3231 2005-04-23  David Schleef  <ds@schleef.org>
3232
3233         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3234         needed with new versions of libtool (nobody will confirm this),
3235         and hard to carry around.
3236         * gst/autoplug/Makefile.am:
3237         * gst/base/Makefile.am:
3238         * gst/elements/Makefile.am:
3239         * gst/indexers/Makefile.am:
3240         * gst/schedulers/Makefile.am:
3241         * libs/gst/bytestream/Makefile.am:
3242         * libs/gst/control/Makefile.am:
3243         * libs/gst/dataprotocol/Makefile.am:
3244         * libs/gst/getbits/Makefile.am:
3245
3246 2005-04-21  Wim Taymans  <wim@fluendo.com>
3247
3248         * docs/design/draft-push-pull.txt:
3249         * docs/design/part-MT-refcounting.txt:
3250         * docs/design/part-TODO.txt:
3251         * docs/design/part-caps.txt:
3252         * docs/design/part-events.txt:
3253         * docs/design/part-gstbus.txt:
3254         * docs/design/part-gstpipeline.txt:
3255         * docs/design/part-messages.txt:
3256         * docs/design/part-push-pull.txt:
3257         * docs/design/part-query.txt:
3258         Some more docs.
3259
3260 2005-04-21  Wim Taymans  <wim@fluendo.com>
3261
3262         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3263         (gst_message_new), (gst_message_new_error),
3264         (gst_message_new_warning), (gst_message_new_tag),
3265         (gst_message_new_state_changed), (gst_message_new_application),
3266         (gst_message_get_structure):
3267         * gst/gstmessage.h:
3268         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3269         (gst_structure_copy_conditional):
3270         Use parent refcount in GstMessage to ensure GstStructure
3271         consistency.
3272         Cleaned up headers a bit.
3273         
3274
3275 2005-04-20  Wim Taymans  <wim@fluendo.com>
3276
3277         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3278         (gst_basesink_pad_getcaps), (gst_basesink_init),
3279         (gst_basesink_chain_unlocked):
3280         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3281         (gst_type_find_helper):
3282         * gst/elements/gsttypefindelement.c:
3283         (gst_type_find_element_have_type), (gst_type_find_element_init),
3284         (stop_typefinding), (gst_type_find_element_handle_event),
3285         (find_suggest), (gst_type_find_element_chain),
3286         (gst_type_find_element_checkgetrange),
3287         (gst_type_find_element_getrange), (do_typefind),
3288         (gst_type_find_element_activate):
3289         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3290         (gst_buffer_default_free), (gst_buffer_default_copy),
3291         (gst_buffer_set_caps):
3292         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3293         (gst_caps_replace):
3294         * gst/gstmessage.c: (gst_message_new),
3295         (gst_message_new_state_changed):
3296         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3297         (gst_pad_set_checkgetrange_function),
3298         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3299         (gst_pad_set_caps), (gst_pad_check_pull_range),
3300         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3301         * gst/gstpad.h:
3302         * gst/gsttypefind.c: (gst_type_find_register):
3303         Make gst_caps_replace() work like other _replace() functions.
3304         Use _caps_replace() where possible.
3305         Make sure _message_new() initialises its field.
3306         Add gst_static_pad_template_get_caps()
3307
3308
3309 2005-04-18  Andy Wingo  <wingo@pobox.com>
3310
3311         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3312         on the peer, not the pad. I think that was a typo. Pass an extra
3313         arg to see if random access is possible. Activate the pads as
3314         PULL_RANGE if possible.
3315
3316         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3317
3318         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3319         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3320         to PROP_....
3321
3322 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3323
3324         * docs/faq/using.xml:
3325           Add note on gstreamer-properties (#154996).
3326
3327 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3328
3329         * docs/random/bbb/optional-properties:
3330           Some analysis on optional properties.
3331
3332 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3333
3334         * docs/gst/tmpl/gstelementfactory.sgml:
3335         * gst/gstelement.h:
3336         * gst/gstelementfactory.c: (gst_element_factory_init),
3337         (gst_element_factory_cleanup), (gst_element_register),
3338         (__gst_element_factory_add_static_pad_template),
3339         (gst_element_factory_get_static_pad_templates),
3340         (gst_element_factory_can_src_caps),
3341         (gst_element_factory_can_sink_caps):
3342         * gst/registries/Makefile.am:
3343         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3344         (gst_xml_registry_class_init), (gst_xml_registry_init),
3345         (gst_xml_registry_new), (gst_xml_registry_set_property),
3346         (gst_xml_registry_get_property), (get_time), (make_dir),
3347         (gst_xml_registry_get_perms_func),
3348         (plugin_times_older_than_recurse), (plugin_times_older_than),
3349         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3350         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3351         (add_to_char_array), (read_string), (read_uint), (read_enum),
3352         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3353         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3354         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3355         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3356         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3357         (gst_xml_registry_rebuild):
3358         * gst/registries/gstlibxmlregistry.h:
3359         * tools/gst-compprep.c: (main):
3360         * tools/gst-inspect.c: (print_pad_templates_info):
3361         * tools/gst-xmlinspect.c: (print_element_info):
3362           Use libxml2 for registry parsing, use staticpadtemplates in
3363           elementfactories. Makes gst_init() +/- 10x faster.
3364
3365 2005-04-12  Wim Taymans  <wim@fluendo.com>
3366
3367         * gst/base/Makefile.am:
3368         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3369         (gst_basesink_pad_getcaps), (gst_basesink_init),
3370         (gst_basesink_event), (gst_basesink_change_state):
3371         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3372         (gst_basesrc_init), (gst_basesrc_query),
3373         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3374         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3375         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3376         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3377         (gst_basesrc_stop), (gst_basesrc_activate),
3378         (gst_basesrc_change_state):
3379         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3380         (helper_find_suggest), (gst_type_find_helper):
3381         * gst/base/gsttypefindhelper.h:
3382         * gst/elements/Makefile.am:
3383         * gst/elements/gstelements.c:
3384         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3385         (gst_fakesink_get_times), (gst_fakesink_event),
3386         (gst_fakesink_preroll), (gst_fakesink_render):
3387         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3388         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3389         (gst_fakesrc_get_property), (gst_fakesrc_create),
3390         (gst_fakesrc_start), (gst_fakesrc_stop):
3391         * gst/elements/gstfakesrc.h:
3392         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3393         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3394         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3395         (gst_filesrc_create_read), (gst_filesrc_create),
3396         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3397         (gst_filesrc_start):
3398         * gst/elements/gsttypefindelement.c:
3399         (gst_type_find_element_have_type), (gst_type_find_element_init),
3400         (start_typefinding), (stop_typefinding), (push_buffer_store),
3401         (gst_type_find_element_handle_event),
3402         (gst_type_find_element_chain),
3403         (gst_type_find_element_checkgetrange),
3404         (gst_type_find_element_getrange), (do_typefind),
3405         (gst_type_find_element_activate),
3406         (gst_type_find_element_change_state):
3407         * gst/elements/gsttypefindelement.h:
3408         * gst/gstpipeline.c: (pipeline_bus_handler):
3409         Added typefind helper.
3410         Small preroll fix in the base sink.
3411         Disable typefind code in basesrc.
3412         Crude port of typefindelement.
3413         Fakesrc cleanups.
3414
3415
3416 2005-04-11  Wim Taymans  <wim@fluendo.com>
3417
3418         * check/gst/gstbus.c: (gstbus_suite):
3419         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3420         * check/gstcheck.h:
3421           Fix up the timeout so that the test does not fail.
3422
3423 2005-04-06  Wim Taymans  <wim@fluendo.com>
3424
3425         * gst/base/README:
3426         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3427         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3428         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3429         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3430         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3431         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3432         (gst_basesrc_stop), (gst_basesrc_activate),
3433         (gst_basesrc_change_state), (basesrc_find_peek),
3434         (basesrc_find_suggest), (gst_basesrc_type_find):
3435         * gst/base/gstbasesrc.h:
3436         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3437         (gst_filesrc_class_init), (gst_filesrc_init),
3438         (gst_filesrc_finalize), (gst_filesrc_set_location),
3439         (gst_filesrc_set_property), (gst_filesrc_get_property),
3440         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3441         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3442         (gst_filesrc_create_read), (gst_filesrc_create),
3443         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3444         * gst/elements/gstfilesrc.h:
3445         * gst/gstelement.c: (gst_element_get_state_func),
3446         (gst_element_lost_state), (gst_element_pads_activate):
3447         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3448         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3449         (gst_pad_pull_range):
3450         * gst/gstpad.h:
3451         More work on the generic source base class, implement seeking,
3452         query.
3453         Make filesrc extend the base source class.
3454         Added gst_pad_set_checkgetrange_function to GstPad.
3455
3456 2005-04-06  Andy Wingo  <wingo@pobox.com>
3457
3458         * pkgconfig/gstreamer-base.pc.in:
3459         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3460
3461         * pkgconfig/Makefile.am:
3462         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3463
3464 2005-04-04  Wim Taymans  <wim@fluendo.com>
3465
3466         * gst/base/Makefile.am:
3467         * gst/base/README:
3468         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3469         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3470         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3471         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
3472         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3473         (gst_basesrc_base_init), (gst_basesrc_class_init),
3474         (gst_basesrc_init), (gst_basesrc_get_formats),
3475         (gst_basesrc_get_query_types), (gst_basesrc_query),
3476         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
3477         (gst_basesrc_set_property), (gst_basesrc_get_property),
3478         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
3479         (gst_basesrc_loop), (gst_basesrc_activate),
3480         (gst_basesrc_change_state):
3481         * gst/base/gstbasesrc.h:
3482         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
3483         (gst_fakesrc_class_init), (gst_fakesrc_init),
3484         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
3485         (gst_fakesrc_get_property), (gst_fakesrc_create):
3486         * gst/elements/gstfakesrc.h:
3487         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
3488         (gst_filesrc_open_file), (gst_filesrc_loop),
3489         (gst_filesrc_activate), (filesrc_find_peek),
3490         (gst_filesrc_type_find):
3491         Made base source class, make fakesrc extend it.
3492         Add comments to basesink class.
3493         Some filesrc cleanup.
3494
3495 2005-03-31  David Schleef  <ds@schleef.org>
3496
3497         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
3498         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
3499         expected to link against libgstreamer.
3500         * gst/base/Makefile.am: link against libgstreamer
3501         * gst/elements/Makefile.am: same
3502
3503 2005-03-31  Andy Wingo  <wingo@pobox.com>
3504
3505         * tests/instantiate/Makefile.am:
3506         * tests/instantiate/caps.c: Add test to test speed of caps copy
3507         and free.
3508
3509         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
3510         GMemChunk to be fair.
3511
3512         * gst/gsttrashstack.h: Remove warning about using the fallback
3513         trash stack implementation, it's still faster than malloc.
3514
3515 2005-03-30  Andy Wingo  <wingo@pobox.com>
3516
3517         * tests/complexity.c: Add a copyright.
3518
3519 2005-03-31  Wim Taymans  <wim@fluendo.com>
3520
3521         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
3522         (gst_base_transform_class_init), (gst_base_transform_init),
3523         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3524         (gst_base_transform_get_property),
3525         (gst_base_transform_sink_activate),
3526         (gst_base_transform_src_activate),
3527         (gst_base_transform_change_state):
3528         * gst/base/gstbasetransform.h:
3529         * gst/elements/gstidentity.c: (gst_identity_class_init),
3530         (gst_identity_event), (gst_identity_check_perfect),
3531         (gst_identity_transform), (gst_identity_start),
3532         (gst_identity_stop):
3533         Added start/stop methods to transform base class so subclasses 
3534         don't need to deal with state changes even.
3535
3536 2005-03-31  Wim Taymans  <wim@fluendo.com>
3537
3538         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
3539         (gst_event_new_discontinuous), (gst_event_discont_get_value):
3540         * gst/gstevent.h:
3541         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3542         (gst_pad_pull_range):
3543         Added rate to the discont event to prepare for variable speed
3544         and reverse playback.
3545
3546 2005-03-29  David Schleef  <ds@schleef.org>
3547
3548         * configure.ac:
3549         * testsuite/trigger/Makefile.am:
3550         * testsuite/trigger/trigger.c: A little example program to show
3551         how trigger-based elements can work.
3552
3553 2005-03-29  Wim Taymans  <wim@fluendo.com>
3554
3555         * gst/base/Makefile.am:
3556         * gst/base/README:
3557         * gst/base/gstbasesink.c: (gst_basesink_get_type),
3558         (gst_basesink_base_init), (gst_basesink_class_init),
3559         (gst_basesink_pad_getcaps), (gst_basesink_init),
3560         (gst_basesink_activate), (gst_basesink_change_state):
3561         * gst/base/gstbasesink.h:
3562         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3563         (gst_base_transform_base_init), (gst_base_transform_finalize),
3564         (gst_base_transform_class_init), (gst_base_transform_init),
3565         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
3566         (gst_base_transform_event), (gst_base_transform_getrange),
3567         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
3568         (gst_base_transform_set_property),
3569         (gst_base_transform_get_property),
3570         (gst_base_transform_sink_activate),
3571         (gst_base_transform_src_activate),
3572         (gst_base_transform_change_state):
3573         * gst/base/gstbasetransform.h:
3574         * gst/elements/gstidentity.c: (gst_identity_finalize),
3575         (gst_identity_class_init), (gst_identity_init),
3576         (gst_identity_event), (gst_identity_check_perfect),
3577         (gst_identity_transform), (gst_identity_set_property),
3578         (gst_identity_get_property), (gst_identity_change_state):
3579         * gst/elements/gstidentity.h:
3580         * gst/gstelement.c: (gst_element_get_state_func),
3581         (gst_element_lost_state), (gst_element_pads_activate):
3582         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3583         (gst_pad_check_pull_range), (gst_pad_pull_range):
3584         * gst/gstpad.h:
3585         Simplify pad activation.
3586         Added function to check if pull_range can be performed.
3587         Error out when pulling inactive or flushing pads.
3588         Removed const from refcounted types as it does not make sense.
3589         Simplify pad templates in basesink
3590         Added base class for simple 1-to-1 transforms.
3591         Make identity subclass the base transform.
3592
3593 2005-03-29  Andy Wingo  <wingo@pobox.com>
3594
3595         * docs/libs/gstreamer-libs-overrides.txt: 
3596         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
3597         really don't understand what's going on, but like whatever. I want
3598         green buildbot!
3599
3600         * docs/gst/Makefile.am:
3601         * docs/libs/Makefile.am: Dist the overrides files.
3602
3603         * check/Makefile.am (clean-local): Remove .libs directories.
3604
3605         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
3606         elements to EXTRA_DIST, so po/ files are happy.
3607
3608         * po/POTFILES.in: Er, remove it here.
3609
3610         * po/POTFILES: Remove gstspider.c.
3611
3612         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
3613
3614         * docs/libs/gstreamer-libs-docs.sgml: 
3615         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
3616         bytestream.
3617
3618         * tests/complexity.c (main): Set the length of the preroll queue
3619         on the sinks to prevent a lockup.
3620
3621         * libs/gst/dataprotocol/Makefile.am: 
3622         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
3623         the same as the one in check/gst-libs/gdp.c.
3624
3625         * po/, docs/gst/: Commit automatic changes to docs and po files.
3626
3627         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
3628         the versioned libgstbase.
3629
3630         * check/Makefile.am: Depend on an unversioned gst-register, seems
3631         to make autoconf happier.
3632
3633         * gst/base/Makefile.am: Make libgstbase a versioned lib.
3634
3635 2005-03-28  Wim Taymans  <wim@fluendo.com>
3636
3637         * configure.ac:
3638         * docs/design/part-gstelement.txt:
3639         * docs/design/part-negotiation.txt:
3640         * docs/design/part-preroll.txt:
3641         * docs/design/part-scheduling.txt:
3642         * docs/design/part-states.txt:
3643         * gst/Makefile.am:
3644         * gst/base/Makefile.am:
3645         * gst/base/README:
3646         * gst/base/gstbasesink.c: (gst_basesink_get_template),
3647         (gst_basesink_base_init), (gst_basesink_class_init),
3648         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3649         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3650         (gst_basesink_set_pad_functions),
3651         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
3652         (gst_basesink_set_property), (gst_basesink_get_property),
3653         (gst_base_sink_get_template), (gst_base_sink_get_caps),
3654         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
3655         (gst_basesink_preroll_queue_push),
3656         (gst_basesink_preroll_queue_empty),
3657         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
3658         (gst_basesink_event), (gst_basesink_get_times),
3659         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
3660         (gst_basesink_chain_unlocked), (gst_basesink_chain),
3661         (gst_basesink_loop), (gst_basesink_activate),
3662         (gst_basesink_change_state):
3663         * gst/base/gstbasesink.h:
3664         * gst/elements/Makefile.am:
3665         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
3666         (gst_fakesink_class_init), (gst_fakesink_init),
3667         (gst_fakesink_set_property), (gst_fakesink_get_property),
3668         (gst_fakesink_get_times), (gst_fakesink_event),
3669         (gst_fakesink_preroll), (gst_fakesink_render),
3670         (gst_fakesink_change_state):
3671         * gst/elements/gstfakesink.h:
3672         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3673         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
3674         * gst/gstelement.c: (gst_element_add_pad),
3675         (gst_element_get_state_func), (gst_element_abort_state),
3676         (gst_element_commit_state), (gst_element_lost_state),
3677         (gst_element_set_state), (gst_element_pads_activate):
3678         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
3679         * gst/gstpipeline.c: (gst_pipeline_send_event),
3680         (gst_pipeline_change_state):
3681         Added state change code.
3682         Added/updated docs.
3683         Added sink base class, make fakesink extend the base class.
3684         Small cleanups in GstPipeline.
3685
3686 2005-03-26  David Schleef  <ds@schleef.org>
3687
3688         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
3689         is broken and should be implemented in a different library.
3690         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
3691         * gst/gst.h: remove gstcpu.h
3692         * gst/gstcpu.c: remove
3693         * gst/gstcpu.h: remove
3694         * gst/Makefile.am.future: Remove this file.  It's ancient.
3695
3696 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3697
3698         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3699         (gst_bin_send_event):
3700           Add default event/set_manager handlers. The set_manager handler
3701           takes care that the manager is distributed over kids that were
3702           already in the bin before the manager was set. The event handler
3703           is a utility virtual function that sends the event over all sinks,
3704           so that gst_element_send_event (bin, event); has the expected
3705           behaviour.
3706         * gst/gstpad.c: (gst_pad_event_default):
3707           Re-install default event handling for discontinuities, so that
3708           seeking works without requiring hacks in applications or extra
3709           code in sinks.
3710         * gst/gstpipeline.c: (gst_pipeline_class_init),
3711         (gst_pipeline_send_event):
3712           Half hack, half utility: set a pipeline to PAUSED for seek events,
3713           since that is the only way we can guarantee a/v sync. Means that
3714           you can do gst_element_seek (pipeline, method, pos); on a pipeline
3715           and it "just works".
3716
3717 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3718
3719         * gst/gstpipeline.c: (gst_pipeline_use_clock):
3720           Lock/unlock mismatch.
3721
3722 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3723
3724         * docs/faq/gst-uninstalled:
3725           add gst-plugins-base
3726         * docs/gst/Makefile.am:
3727           don't error out until docs are fixed
3728         * docs/gst/gstreamer.types:
3729           remove thread
3730
3731 2005-03-22  Wim Taymans  <wim@fluendo.com>
3732
3733         * check/Makefile.am:
3734         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
3735         * gst/gststructure.c: (gst_structure_set_valist),
3736         (gst_structure_copy_conditional):
3737         Activated more tests.
3738         Added message test.
3739         Added G_TYPE_POINTER to GstStructure.
3740         
3741
3742 2005-03-22  Wim Taymans  <wim@fluendo.com>
3743
3744         * docs/design/part-TODO.txt:
3745         * docs/design/part-events.txt:
3746         * docs/design/part-gstbin.txt:
3747         * docs/design/part-gstbus.txt:
3748         * docs/design/part-gstpipeline.txt:
3749         * docs/design/part-messages.txt:
3750         * gst/gstbus.c:
3751         * gst/gstmessage.c:
3752         Docs updates
3753
3754 2005-03-21  Wim Taymans  <wim@fluendo.com>
3755
3756         * gst/gstbus.c: (gst_bus_post):
3757         Fix copy-and-paste error.
3758
3759 2005-03-21  Wim Taymans  <wim@fluendo.com>
3760
3761         * check/Makefile.am:
3762         * gst/Makefile.am:
3763         * gst/elements/Makefile.am:
3764         * gst/elements/gstelements.c:
3765         * gst/elements/gstfakesink.c: (gst_fakesink_init),
3766         (gst_fakesink_event), (gst_fakesink_chain):
3767         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3768         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
3769         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
3770         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
3771         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
3772         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
3773         (gst_fakesrc_loop), (gst_fakesrc_activate),
3774         (gst_fakesrc_change_state):
3775         * gst/elements/gstfakesrc.h:
3776         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
3777         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
3778         (gst_filesrc_open_file), (gst_filesrc_loop),
3779         (gst_filesrc_activate), (gst_filesrc_change_state),
3780         (filesrc_find_peek), (filesrc_find_suggest),
3781         (gst_filesrc_type_find):
3782         * gst/elements/gstidentity.c: (gst_identity_finalize),
3783         (gst_identity_class_init), (gst_identity_init),
3784         (gst_identity_proxy_getcaps), (identity_queue_push),
3785         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
3786         (gst_identity_getrange), (gst_identity_chain),
3787         (gst_identity_sink_loop), (gst_identity_src_loop),
3788         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
3789         (gst_identity_set_property), (gst_identity_get_property),
3790         (gst_identity_change_state):
3791         * gst/elements/gstidentity.h:
3792         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3793         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
3794         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
3795         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
3796         (gst_tee_sink_activate):
3797         * gst/elements/gsttee.h:
3798         * gst/gst.c: (gst_register_core_elements), (init_post):
3799         * gst/gst.h:
3800         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
3801         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
3802         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
3803         (gst_bin_change_state):
3804         * gst/gstbin.h:
3805         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
3806         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
3807         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
3808         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
3809         (gst_bus_set_sync_handler), (gst_bus_create_watch),
3810         (bus_watch_callback), (bus_watch_destroy),
3811         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
3812         (poll_timeout), (gst_bus_poll):
3813         * gst/gstbus.h:
3814         * gst/gstcaps.h:
3815         * gst/gstdata.h:
3816         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
3817         (gst_element_post_message), (gst_element_message_full),
3818         (gst_element_get_state_func), (gst_element_get_state),
3819         (gst_element_abort_state), (gst_element_commit_state),
3820         (gst_element_lost_state), (gst_element_set_state),
3821         (gst_element_pads_activate), (gst_element_change_state),
3822         (gst_element_dispose), (gst_element_set_manager_func),
3823         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
3824         (gst_element_set_manager), (gst_element_get_manager),
3825         (gst_element_set_bus), (gst_element_get_bus),
3826         (gst_element_set_scheduler), (gst_element_get_scheduler):
3827         * gst/gstelement.h:
3828         * gst/gstevent.c: (gst_event_new_segment_seek),
3829         (gst_event_new_flush):
3830         * gst/gstevent.h:
3831         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
3832         (_gst_message_free), (gst_message_get_type), (gst_message_new),
3833         (gst_message_new_eos), (gst_message_new_error),
3834         (gst_message_new_warning), (gst_message_new_tag),
3835         (gst_message_new_state_changed), (gst_message_new_application),
3836         (gst_message_get_structure), (gst_message_parse_tag),
3837         (gst_message_parse_state_changed), (gst_message_parse_error),
3838         (gst_message_parse_warning):
3839         * gst/gstmessage.h:
3840         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
3841         (gst_real_pad_set_property), (gst_pad_set_active),
3842         (gst_pad_is_active), (gst_pad_set_blocked_async),
3843         (gst_pad_set_blocked), (gst_pad_is_blocked),
3844         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
3845         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
3846         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3847         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
3848         (gst_pad_link_filtered), (gst_pad_relink_filtered),
3849         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
3850         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
3851         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
3852         (gst_pad_set_caps), (gst_pad_configure_sink),
3853         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
3854         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
3855         (gst_real_pad_dispose), (gst_real_pad_finalize),
3856         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
3857         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3858         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
3859         * gst/gstpad.h:
3860         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
3861         (pipeline_bus_handler), (gst_pipeline_change_state),
3862         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
3863         * gst/gstpipeline.h:
3864         * gst/gstprobe.h:
3865         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3866         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
3867         (gst_queue_link_src), (gst_queue_bufferalloc),
3868         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3869         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
3870         (gst_queue_loop), (gst_queue_handle_src_event),
3871         (gst_queue_handle_src_query), (gst_queue_src_activate),
3872         (gst_queue_change_state):
3873         * gst/gstqueue.h:
3874         * gst/gstscheduler.c: (gst_scheduler_init),
3875         (gst_scheduler_dispose), (gst_scheduler_create_task),
3876         (gst_scheduler_factory_create):
3877         * gst/gstscheduler.h:
3878         * gst/gststructure.c: (gst_structure_get_type),
3879         (gst_structure_copy_conditional):
3880         * gst/gststructure.h:
3881         * gst/gsttaginterface.h:
3882         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
3883         (gst_task_init), (gst_task_dispose), (gst_task_create),
3884         (gst_task_get_state), (gst_task_start), (gst_task_stop),
3885         (gst_task_pause):
3886         * gst/gsttask.h:
3887         * gst/gstthread.c:
3888         * gst/gstthread.h:
3889         * gst/gsttypes.h:
3890         * gst/schedulers/Makefile.am:
3891         * gst/schedulers/cothreads_compat.h:
3892         * gst/schedulers/entryscheduler.c:
3893         * gst/schedulers/faircothreads.c:
3894         * gst/schedulers/faircothreads.h:
3895         * gst/schedulers/fairscheduler.c:
3896         * gst/schedulers/gstbasicscheduler.c:
3897         * gst/schedulers/gstoptimalscheduler.c:
3898         * gst/schedulers/gthread-cothreads.h:
3899         * gst/schedulers/threadscheduler.c:
3900         (gst_thread_scheduler_task_get_type),
3901         (gst_thread_scheduler_task_class_init),
3902         (gst_thread_scheduler_task_init),
3903         (gst_thread_scheduler_task_start),
3904         (gst_thread_scheduler_task_stop),
3905         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
3906         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
3907         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
3908         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
3909         (plugin_init):
3910         * libs/gst/Makefile.am:
3911         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
3912         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
3913         (gst_file_pad_parent_set):
3914         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3915         (gst_dp_event_from_packet):
3916         * tests/complexity.c: (main):
3917         * tests/mass_elements.c: (main):
3918         * testsuite/states/locked.c: (message_received), (main):
3919         * testsuite/states/parent.c: (main):
3920         * tools/gst-inspect.c: (print_element_flag_info),
3921         (print_implementation_info), (print_pad_info):
3922         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
3923         (main):
3924         * tools/gst-md5sum.c: (event_loop), (main):
3925         * tools/gst-typefind.c: (main):
3926         * tools/gst-xmlinspect.c: (print_element_info):
3927         Next big merge.
3928         Added GstBus for mainloop integration.
3929         Added GstMessage for sending notifications on the bus.
3930         Added GstTask as an abstraction for pipeline entry points.
3931         Removed GstThread.
3932         Removed Schedulers.
3933         Simplified GstQueue for multithreaded core.
3934         Made _link threadsafe, removed old capsnego.
3935         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
3936         Added pad blocking functions.
3937         Reworked scheduling functions in GstPad to prepare for
3938         scheduling updates soon.
3939         Moved events out of data stream.
3940         Simplified GstEvent types.
3941         Added return values to push/pull.
3942         Removed clocking from GstElement.
3943         Added prototypes for state change function for next merge.
3944         Removed iterate from bins and state change management.
3945         Fixed some elements, disabled others for now.
3946         Fixed -inspect and -launch.
3947         Added check for GstBus.
3948
3949 2005-03-10  Wim Taymans  <wim@fluendo.com>
3950
3951         * docs/design/part-MT-refcounting.txt:
3952         * docs/design/part-clocks.txt:
3953         * docs/design/part-gstelement.txt:
3954         * docs/design/part-gstobject.txt:
3955         * docs/design/part-standards.txt:
3956         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3957         (gst_bin_remove_func), (gst_bin_remove):
3958         * gst/gstbin.h:
3959         * gst/gstbuffer.c:
3960         * gst/gstcaps.h:
3961         * testsuite/clock/clock1.c: (main):
3962         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
3963         (main):
3964         * testsuite/dlopen/loadgst.c: (do_test):
3965         * testsuite/refcounting/bin.c: (add_remove_test1),
3966         (add_remove_test2), (main):
3967         * testsuite/refcounting/element.c: (main):
3968         * testsuite/refcounting/element_pad.c: (main):
3969         * testsuite/refcounting/pad.c: (main):
3970         * tools/gst-launch.c: (sigint_handler_sighandler):
3971         * tools/gst-typefind.c: (main):
3972         Doc updates.
3973         Added doc about clock.
3974         removed gst_bin_iterate_recurse_up(), marked methods
3975         for removal.
3976         Fix more testsuites.
3977
3978 2005-03-09  Wim Taymans  <wim@fluendo.com>
3979
3980         * gst/gstpad.c: (gst_pad_get_direction),
3981         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
3982         (gst_pad_collect_valist):
3983         * testsuite/bins/interface.c: (main):
3984         * testsuite/caps/audioscale.c: (test_caps):
3985         * testsuite/caps/caps.c: (test1), (test2), (test3):
3986         * testsuite/caps/deserialize.c: (main):
3987         * testsuite/caps/enumcaps.c: (main):
3988         * testsuite/caps/filtercaps.c: (main):
3989         * testsuite/caps/intersect2.c: (main):
3990         * testsuite/caps/random.c: (main):
3991         * testsuite/caps/renegotiate.c: (my_fixate), (main):
3992         * testsuite/caps/sets.c: (check_caps):
3993         * testsuite/caps/simplify.c: (check_caps), (main):
3994         * testsuite/caps/subtract.c: (check_caps):
3995         Fix _pad_get_direction wrt ghostpads.
3996         Fix caps testsuite.
3997
3998 2005-03-09  Wim Taymans  <wim@fluendo.com>
3999
4000         * check/Makefile.am:
4001         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4002         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4003         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4004         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4005         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4006         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4007         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4008         (bin_element_is_sink), (gst_bin_iterate_sinks),
4009         (gst_bin_iterate_all_by_interface):
4010         * gst/gstbin.h:
4011         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4012         (gst_element_change_state), (gst_element_dispose),
4013         (gst_element_finalize), (gst_element_set_loop_function):
4014         * gst/gstelement.h:
4015         * gst/gstiterator.c: (find_custom_fold_func):
4016         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4017         (gst_pad_collectv), (gst_pad_collect_valist),
4018         (gst_pad_template_new):
4019         * gst/gstpipeline.c: (gst_pipeline_class_init),
4020         (gst_pipeline_dispose), (gst_pipeline_set_property),
4021         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4022         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4023         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4024         * gst/gstutils.h:
4025         * gst/schedulers/entryscheduler.c:
4026         * gst/schedulers/gstbasicscheduler.c:
4027         (gst_basic_scheduler_cothreaded_chain),
4028         (gst_basic_scheduler_chain_add_element):
4029         * testsuite/bins/interface.c: (main):
4030         Added GstBin test.
4031         Added GstSystemClock test.
4032         Implemented clock distribution code in GstBin.
4033         Implemented iterate sinks method for future use.
4034         Rearranged gstelement.h
4035         Fix GstIterator comparison bug.
4036         Moved some code to GstPipeline, mostly clocking related.
4037
4038 2005-03-09  Wim Taymans  <wim@fluendo.com>
4039
4040         * configure.ac:
4041         * gst/gst_private.h:
4042         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4043         (gst_bin_remove_func), (gst_bin_remove),
4044         (gst_bin_get_by_name_recurse_up):
4045         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4046         (gst_clock_id_compare_func), (gst_clock_id_wait),
4047         (gst_clock_id_wait_async), (gst_clock_init),
4048         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4049         * gst/gstelement.h:
4050         * gst/gstinfo.c: (_gst_debug_init):
4051         * gst/gstobject.h:
4052         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4053         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4054         * gst/gstpad.h:
4055         Bump version number, we're now 0.9.0
4056         Add future debugging category.
4057         Fix NULL _unref() in _get_by_name_recurse_up
4058         Rearrange gstpad.h.
4059         Update some docs.
4060
4061 2005-03-08  Wim Taymans  <wim@fluendo.com>
4062
4063         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4064         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4065         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4066         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4067         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4068         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4069         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4070         * gst/elements/gstidentity.c: (gst_identity_class_init):
4071         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4072         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4073         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4074         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4075         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4076         (gst_tee_link):
4077         * gst/gstelement.c: (gst_element_class_init),
4078         (gst_element_base_class_init), (gst_element_init),
4079         (gst_element_get_random_pad), (gst_element_wait_state_change),
4080         (gst_element_change_state), (gst_element_dispose),
4081         (gst_element_finalize), (gst_element_set_loop_function):
4082         * gst/gstelement.h:
4083         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4084         * gst/gstthread.c: (gst_thread_class_init),
4085         (gst_thread_release_children_locks), (gst_thread_change_state):
4086         * gst/schedulers/gstbasicscheduler.c:
4087         (gst_basic_scheduler_loopfunc_wrapper),
4088         (gst_basic_scheduler_chain_wrapper),
4089         (gst_basic_scheduler_src_wrapper),
4090         (gst_basic_scheduler_remove_element):
4091         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4092         Remove threadsafe properties. Fix elements because GObject
4093         complains when installing a property before declaring a
4094         set/get_property handler.
4095         Rearrange gstelement.h file, use STATE macros for state locks.
4096         Free mutexes in the finalize method instead of dispose.
4097
4098 2005-03-08  Wim Taymans  <wim@fluendo.com>
4099
4100         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4101         * gst/gstthread.c: (gst_thread_release_children_locks):
4102         Added parentage check.
4103         Fix build og GstThread again.
4104
4105 2005-03-08  Wim Taymans  <wim@fluendo.com>
4106
4107         * docs/design/part-MT-refcounting.txt:
4108         * docs/design/part-conventions.txt:
4109         * docs/design/part-gstobject.txt:
4110         * docs/design/part-relations.txt:
4111         * docs/design/part-standards.txt:
4112         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4113         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4114         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4115         (gst_bin_iterate_all_by_interface):
4116         * gst/gstbuffer.h:
4117         * gst/gstclock.h:
4118         * gst/gstelement.c: (gst_element_class_init),
4119         (gst_element_change_state), (gst_element_set_loop_function):
4120         * gst/gstelement.h:
4121         * gst/gstiterator.c:
4122         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4123         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4124         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4125         (gst_object_set_parent), (gst_object_unparent),
4126         (gst_object_check_uniqueness):
4127         * gst/gstobject.h:
4128         Docs updates, clean up some headers.
4129
4130 2005-03-07  Wim Taymans  <wim@fluendo.com>
4131
4132         * check/.cvsignore:
4133         * check/Makefile.am:
4134         * check/gst-libs/.cvsignore:
4135         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4136         * check/gst/.cvsignore:
4137         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4138         (START_TEST), (gstbus_suite), (main):
4139         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4140         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4141         (gst_data_suite), (main):
4142         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4143         (add_fold_func), (gstiterator_suite), (main):
4144         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4145         (thread_name_object), (thread_name_object_default),
4146         (gst_object_name_compare), (gst_object_suite), (main):
4147         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4148         (gst_pad_suite), (main):
4149         * check/gstcheck.c: (gst_check_log_message_func),
4150         (gst_check_log_critical_func), (gst_check_init):
4151         * check/gstcheck.h:
4152         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4153         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4154         Added checks.
4155
4156 2005-03-07  Wim Taymans  <wim@fluendo.com>
4157
4158         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4159         (gst_list_iterator_next), (gst_list_iterator_resync),
4160         (gst_list_iterator_free), (gst_iterator_new_list),
4161         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4162         (gst_iterator_free), (gst_iterator_push), (filter_next),
4163         (filter_resync), (filter_uninit), (filter_free),
4164         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4165         (gst_iterator_foreach), (find_custom_fold_func),
4166         (gst_iterator_find_custom):
4167         * gst/gstiterator.h:
4168         Added missing files.
4169
4170 2005-03-07  Wim Taymans  <wim@fluendo.com>
4171
4172         * Makefile.am:
4173         * configure.ac:
4174         * docs/design/part-MT-refcounting.txt:
4175         * docs/design/part-conventions.txt:
4176         * docs/design/part-gstobject.txt:
4177         * docs/design/part-relations.txt:
4178         * examples/mixer/mixer.c: (main):
4179         * examples/thread/thread.c: (eos), (main):
4180         * gst/Makefile.am:
4181         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4182         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4183         (gst_spider_plug_from_srcpad):
4184         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4185         (gst_spider_identity_change_state),
4186         (gst_spider_identity_sink_loop_type_finding):
4187         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4188         * gst/elements/gstidentity.c: (gst_identity_init):
4189         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4190         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4191         * gst/elements/gsttypefindelement.c: (free_entry):
4192         * gst/gst.c:
4193         * gst/gst.h:
4194         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4195         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4196         (gst_bin_set_index), (gst_bin_set_element_sched),
4197         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4198         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4199         (gst_bin_iterate_elements), (iterate_child_recurse),
4200         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4201         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4202         (compare_interface), (gst_bin_get_by_interface),
4203         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4204         * gst/gstbin.h:
4205         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4206         (gst_buffer_default_free), (gst_buffer_default_copy),
4207         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4208         (gst_buffer_create_sub):
4209         * gst/gstbuffer.h:
4210         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4211         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4212         (gst_caps_unref), (gst_static_caps_get),
4213         (gst_caps_remove_and_get_structure), (gst_caps_append),
4214         (gst_caps_append_structure), (gst_caps_remove_structure),
4215         (gst_caps_copy_nth), (gst_caps_set_simple),
4216         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4217         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4218         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4219         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4220         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4221         (gst_caps_structure_figure_out_union),
4222         (gst_caps_switch_structures), (gst_caps_do_simplify),
4223         (gst_caps_replace), (gst_caps_from_string),
4224         (gst_caps_copy_conditional):
4225         * gst/gstcaps.h:
4226         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4227         (_gst_clock_id_free), (gst_clock_id_unref),
4228         (gst_clock_id_compare_func), (gst_clock_id_wait),
4229         (gst_clock_id_wait_async), (gst_clock_class_init),
4230         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4231         (gst_clock_get_time), (gst_clock_set_time_adjust),
4232         (gst_clock_set_property), (gst_clock_get_property):
4233         * gst/gstclock.h:
4234         * gst/gstcompat.h:
4235         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4236         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4237         * gst/gstdata.h:
4238         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4239         (gst_element_requires_clock), (gst_element_provides_clock),
4240         (gst_element_set_clock), (gst_element_clock_wait),
4241         (gst_element_wait), (gst_element_set_time_delay),
4242         (gst_element_is_indexable), (gst_element_add_pad),
4243         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4244         (pad_compare_name), (gst_element_get_static_pad),
4245         (gst_element_request_pad), (gst_element_get_request_pad),
4246         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4247         (gst_element_class_get_pad_template_list),
4248         (gst_element_class_get_pad_template), (gst_element_error_func),
4249         (gst_element_get_random_pad), (gst_element_get_event_masks),
4250         (gst_element_send_event), (gst_element_seek),
4251         (gst_element_get_query_types), (gst_element_query),
4252         (gst_element_get_formats), (gst_element_convert),
4253         (gst_element_is_locked_state), (gst_element_set_locked_state),
4254         (gst_element_sync_state_with_parent), (gst_element_change_state),
4255         (gst_element_finalize), (gst_element_yield),
4256         (gst_element_interrupt), (gst_element_set_scheduler),
4257         (gst_element_get_scheduler), (gst_element_set_loop_function):
4258         * gst/gstelement.h:
4259         * gst/gstevent.h:
4260         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4261         (gst_format_get_by_nick), (gst_format_get_details),
4262         (gst_format_iterate_definitions):
4263         * gst/gstformat.h:
4264         * gst/gstindex.c: (gst_index_gtype_resolver):
4265         * gst/gstinfo.c:
4266         * gst/gstinfo.h:
4267         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4268         (gst_mem_chunk_free):
4269         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4270         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4271         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4272         (gst_object_dispatch_properties_changed),
4273         (gst_object_set_name_default), (gst_object_set_name),
4274         (gst_object_get_name), (gst_object_set_name_prefix),
4275         (gst_object_get_name_prefix), (gst_object_set_parent),
4276         (gst_object_get_parent), (gst_object_unparent),
4277         (gst_object_check_uniqueness), (gst_object_save_thyself),
4278         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4279         (gst_object_set_property), (gst_object_get_property),
4280         (gst_object_get_path_string):
4281         * gst/gstobject.h:
4282         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4283         (gst_real_pad_init), (gst_real_pad_get_property),
4284         (gst_pad_custom_new), (gst_pad_get_direction),
4285         (gst_pad_set_active), (gst_pad_is_active),
4286         (gst_pad_set_event_function), (gst_pad_is_linked),
4287         (gst_pad_link_free), (gst_pad_link_intersect),
4288         (gst_pad_link_fixate), (gst_pad_set_caps),
4289         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4290         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4291         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4292         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4293         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4294         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4295         (gst_pad_realize), (gst_pad_get_allowed_caps),
4296         (gst_real_pad_dispose), (gst_real_pad_finalize),
4297         (gst_pad_collectv), (gst_pad_collect_valist),
4298         (gst_pad_template_dispose), (gst_pad_template_new),
4299         (gst_pad_get_internal_links):
4300         * gst/gstpad.h:
4301         * gst/gstpipeline.c: (gst_pipeline_dispose),
4302         (gst_pipeline_change_state):
4303         * gst/gstpipeline.h:
4304         * gst/gstplugin.c:
4305         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4306         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4307         * gst/gstpluginfeature.h:
4308         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4309         * gst/gstquery.c: (_gst_query_type_initialize),
4310         (gst_query_type_register), (gst_query_type_get_by_nick),
4311         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4312         * gst/gstquery.h:
4313         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4314         * gst/gstscheduler.c: (gst_scheduler_add_element),
4315         (gst_scheduler_factory_create):
4316         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4317         (gst_structure_free), (gst_structure_set_name),
4318         (gst_structure_id_set_value), (gst_structure_set_value),
4319         (gst_structure_set_valist), (gst_structure_remove_field),
4320         (gst_structure_remove_fields),
4321         (gst_structure_remove_fields_valist),
4322         (gst_structure_remove_all_fields), (gst_structure_foreach),
4323         (gst_structure_map_in_place),
4324         (gst_caps_structure_fixate_field_nearest_int),
4325         (gst_caps_structure_fixate_field_nearest_double):
4326         * gst/gststructure.h:
4327         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4328         (gst_system_clock_init), (gst_system_clock_dispose),
4329         (gst_system_clock_async_thread),
4330         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4331         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4332         * gst/gstsystemclock.h:
4333         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4334         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4335         * gst/gsttaginterface.c:
4336         * gst/gstthread.c: (gst_thread_dispose),
4337         (gst_thread_release_children_locks), (gst_thread_change_state),
4338         (gst_thread_main_loop):
4339         * gst/gsttrashstack.h:
4340         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4341         * gst/gsttypes.h:
4342         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4343         (gst_element_request_pad), (gst_element_get_pad_from_template),
4344         (gst_element_request_compatible_pad),
4345         (gst_element_get_compatible_pad_filtered),
4346         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4347         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4348         (gst_element_link_many), (gst_element_link),
4349         (gst_element_link_pads), (gst_element_unlink_pads),
4350         (gst_element_unlink_many), (gst_element_unlink),
4351         (gst_pad_can_link_filtered), (gst_pad_can_link),
4352         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4353         (gst_object_default_error), (gst_bin_add_many),
4354         (gst_bin_remove_many), (gst_element_populate_std_props),
4355         (gst_element_class_install_std_props), (gst_buffer_merge),
4356         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4357         (link_fold_func), (gst_pad_proxy_setcaps):
4358         * gst/gstutils.h:
4359         * gst/gstvalue.c: (gst_value_deserialize_string):
4360         * gst/parse/grammar.y:
4361         * gst/schedulers/gstbasicscheduler.c:
4362         (gst_basic_scheduler_cothreaded_chain),
4363         (gst_basic_scheduler_chain_recursive_add),
4364         (gst_basic_scheduler_pad_link):
4365         * gst/schedulers/gstoptimalscheduler.c:
4366         (get_group_schedule_function),
4367         (gst_opt_scheduler_state_transition),
4368         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4369         * libs/gst/bytestream/bytestream.c:
4370         * libs/gst/dataprotocol/dataprotocol.c:
4371         (gst_dp_header_from_buffer):
4372         * po/nb.po:
4373         * po/ru.po:
4374         * tests/threadstate/threadstate2.c: (eos):
4375         * tools/gst-compprep.c: (main):
4376         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4377         (print_pad_info), (print_children_info):
4378         * tools/gst-launch.c: (idle_func), (main):
4379         * tools/gst-md5sum.c: (idle_func), (main):
4380         * tools/gst-xmlinspect.c: (print_element_info):
4381         First THREADED backport attempt, focusing on adding locks and
4382         making sure the API is threadsafe. Needs more work. More docs
4383         follow this week.
4384
4385 2005-02-24  Andy Wingo  <wingo@pobox.com>
4386
4387         * tests/bench-complexity.scm:
4388         * tests/complexity.gnuplot: New files, good for running complexity
4389         benchmarks.
4390
4391         * tests/Makefile.am:
4392         * tests/complexity.c: New test, sets up N elements, at each level
4393         teeing into M streams per element. Eeeenteresting.
4394
4395         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4396         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4397         running bench-mass_elements.scm.
4398
4399         * tests/bench-mass_elements.scm: New script, runs mass_elements
4400         for various numbers of identities, outputting the results to a
4401         file. Requires guile 1.6. Just for testing.
4402
4403 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4404
4405         * gst/schedulers/fairscheduler.c:
4406           compile with debug disabled
4407
4408 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4409
4410         * configure.ac:
4411           hunting season on 0.9 is now OPEN
4412
4413 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4414
4415         * docs/libs/tmpl/gstcontrol.sgml:
4416         * docs/libs/tmpl/gstdparam.sgml:
4417         * docs/libs/tmpl/gstdplinint.sgml:
4418         * docs/libs/tmpl/gstdpman.sgml:
4419         * docs/libs/tmpl/gstdpsmooth.sgml:
4420         * docs/libs/tmpl/gstunitconvert.sgml:
4421           more docs for the state of dparams
4422
4423 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4424
4425         * gst/gstelementfactory.c: (gst_element_factory_create):
4426         * gst/gstobject.c: (gst_object_init),
4427         (gst_object_set_name_default), (gst_object_set_name):
4428           name objects by default, not in gst_element_factory_create. Allows
4429           using elements created with g_object_new. (fixes #167283)
4430
4431 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4432
4433         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4434           make the time that debugging functions print relative to when
4435           gst_init was called
4436
4437 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4438
4439         * gst/gsttaginterface.c:
4440           Fix inline docs: tag setter vararg functions are NULL-terminated,
4441           GST_TAG_INVALID doesn't exist any more.
4442
4443 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4444
4445         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4446         Allocate the 1 byte more memory that was forgotten!!!!!
4447         fixes memory corruption on 64bit platforms
4448
4449 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4450
4451         * docs/pwg/building-pads.xml:
4452         * docs/pwg/intro-basics.xml:
4453           fixed a few typos, relabeled introductionary list of types
4454         * docs/random/ensonic/dparams.txt:
4455           more notes abut dparam changes
4456         * libs/gst/control/dparam.c: (gst_dparam_attach):
4457         * libs/gst/control/dparammanager.c:
4458         * libs/gst/control/dparammanager.h:
4459           - many comments and notes on dparam implementation
4460           - new dparams are were not initialized to the default value
4461             from param spec
4462
4463 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4464
4465         submitted by: Peter Astakhov
4466
4467         * po/LINGUAS:
4468         * po/ru.po:
4469           adding Russian translation
4470
4471 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4472
4473         * configure.ac:
4474         * docs/gst/Makefile.am:
4475         * docs/libs/Makefile.am:
4476           make sure popt is added to gtk-doc flags.  Fixes #147782.
4477
4478 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4479
4480         * docs/faq/using.xml:
4481           Fix typo in FAQ (artssink => artsdsink)
4482
4483 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4484
4485         * tools/gst-launch.1.in:
4486           Fix typo (#166699).
4487
4488 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
4489
4490         * docs/faq/using.xml:
4491           Add -v argument to fakesrc/fakesink gst-launch line,
4492           so that the promised output will actually show up.
4493
4494 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4495
4496         * gst/gstthread.c: (gst_thread_change_state):
4497           Implement state-change error handling (#166073).
4498
4499 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4500
4501         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4502           Release interrupt after handling (#166250).
4503
4504 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4505
4506         * configure.ac:
4507           back to HEAD
4508
4509 === release 0.8.9 ===
4510
4511 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4512
4513         * NEWS:
4514         * RELEASE:
4515         * configure.ac:
4516           releasing 0.8.9, "Like Eating Glass"
4517
4518 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4519
4520         submitted by: Clytie Siddall
4521
4522         * po/vi.po: Added Vietnamese translation
4523
4524 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4525
4526         patch by: Tim Philipp-Müller
4527
4528         * configure.ac:
4529         * gst/gstpad.c:
4530           unref data when probe function returns FALSE.  Fixes #166362
4531
4532 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4533
4534         * gst/gst.c: (gst_init_get_popt_table):
4535           Fix typo (#166269).
4536
4537 2005-02-04  Andy Wingo  <wingo@pobox.com>
4538
4539         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
4540         the debugging on whether the caps are compatible.
4541
4542 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4543
4544         * docs/manual/basics-elements.xml:
4545           Fix two typos.
4546
4547 2005-02-02  Wim Taymans  <wim@fluendo.com>
4548
4549         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
4550         (schedule_chain), (get_invalid_call), (chain_invalid_call),
4551         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
4552         Remove some FIXMEs after analysing and commenting why they
4553         are not issues.
4554
4555 2005-02-02  Wim Taymans  <wim@fluendo.com>
4556
4557         * gst/schedulers/gstoptimalscheduler.c:
4558         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
4559         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
4560         (get_invalid_call), (chain_invalid_call),
4561         (get_group_schedule_function), (loop_group_schedule_function),
4562         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
4563         (gst_opt_scheduler_state_transition),
4564         (gst_opt_scheduler_add_element),
4565         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
4566         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
4567         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
4568         (gst_opt_scheduler_show):
4569         Added lock to protect scheduler data structures.
4570
4571 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4572
4573         * testsuite/threads/threadi.c: (cb_data):
4574           Fix buglet in test.
4575
4576 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4577
4578         * testsuite/threads/Makefile.am:
4579         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
4580           On Wim's request, split the test in three separately-compiled
4581           tests that each test a very specific bug. Two of them still fail,
4582           will create bugs for those. threadi.c indicates why they fail.
4583
4584 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4585
4586         * gst/schedulers/gstoptimalscheduler.c:
4587         (get_group_schedule_function):
4588           Try to work with the threading mess that queue_link is.
4589
4590 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4591
4592         * gst/gstbin.c: (gst_bin_remove_func):
4593           Explicitely make an element release locks in a group when being
4594           remove from a bin.
4595         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4596           If there's no scheduler, always return immediately (similar to
4597           gst_element_interrupt).
4598
4599 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4600
4601         * gst/gstbin.c: (gst_bin_child_state_change_func):
4602           Remove a piece of code that could never be reached.
4603         * docs/gst/gstreamer-sections.txt:
4604         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
4605         (gst_pad_call_get_function):
4606         * gst/gstpad.h:
4607         * testsuite/pad/Makefile.am:
4608           Fix #150546, enable tests.
4609
4610 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4611
4612         * docs/pwg/advanced-types.xml:
4613           Fix description for buffer-frames=0.
4614         * docs/gst/tmpl/gstbin.sgml:
4615         * gst/gstbin.c: (gst_bin_child_state_change_func),
4616         (gst_bin_change_state), (gst_bin_change_state_norecurse):
4617         * gst/gstbin.h:
4618         * testsuite/threads/Makefile.am:
4619         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
4620         (cb_state), (cb_play), (main):
4621           Fix non-recursive state changes to *really* change the state
4622           of the object, and not just call parent_class->state_change.
4623           Fix a lot of lockups caused by this. Fixes #132775. Add test
4624           for the problem. Also enable test to show #142588 (fixed).
4625         * gst/gstthread.c: (gst_thread_change_state),
4626         (gst_thread_child_state_change):
4627           Don't exit the thread if we go to NULL and are inside thread
4628           context. Instead, return control to the main thread context
4629           and exit from there.
4630         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
4631           Don't unset virtual functions, since those may still be used.
4632           That's not necessarily correct, but suffices for now.
4633         * configure.ac:
4634         * testsuite/Makefile.am:
4635         * testsuite/pad/Makefile.am:
4636         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
4637         (gst_test_sink_base_init), (gst_test_sink_chain),
4638         (gst_test_sink_init), (main):
4639         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
4640         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
4641         (main):
4642         * testsuite/pad/link.c: (gst_test_element_class_init),
4643         (gst_test_element_base_init), (gst_test_src_get),
4644         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
4645         (gst_test_filter_loop), (gst_test_filter_init),
4646         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
4647         (cb_error), (main):
4648           Add tests to show #150546. Pass, but should fail (currently
4649           disabled from the testsuite).
4650         * gst/gstscheduler.c: (gst_scheduler_dispose):
4651           Dereference child schedulers on dispose (#94464).
4652         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4653           Fix typo.
4654         * testsuite/threads/thread.c: (main):
4655           Add more debug.
4656
4657 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4658
4659         * gst/gstpad.c: (gst_pad_push):
4660           Oops, revert previous commit, broke testsuite...
4661
4662 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4663
4664         * gst/gstpad.c: (gst_pad_push):
4665           Add check that the pad on which the push is performed is not a
4666           get-based pad (#150546).
4667
4668 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4669
4670         * gst/elements/gsttypefindelement.c:
4671         (gst_type_find_element_handle_event):
4672           Fix buffer pushing if stream EOSes during typefinding.
4673
4674 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
4675
4676         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4677
4678         * gst/gstvalue.c: (gst_string_wrap):
4679           Allow NULL-strings as argument (#165365).
4680
4681 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
4682
4683         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4684
4685         * gst/schedulers/faircothreads.c:
4686         (gst_fair_scheduler_cothread_queue_show):
4687           Fix build without debug enabled.
4688
4689 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
4690
4691         * docs/gst/gstreamer-sections.txt:
4692         * docs/libs/gstreamer-libs-docs.sgml:
4693         * docs/libs/gstreamer-libs-sections.txt:
4694         * docs/libs/tmpl/gstcontrol.sgml:
4695         * docs/libs/tmpl/gstdparam.sgml:
4696         * docs/libs/tmpl/gstdplinint.sgml:
4697         * docs/libs/tmpl/gstdpman.sgml:
4698         * docs/libs/tmpl/gstdpsmooth.sgml:
4699         * docs/libs/tmpl/gstputbits.sgml:
4700         * docs/libs/tmpl/gstunitconvert.sgml:
4701         * libs/gst/control/dparam.c:
4702         * libs/gst/control/dparam.h:
4703         * libs/gst/control/dparammanager.c:
4704         (gst_dpman_add_required_dparam_callback),
4705         (gst_dpman_add_required_dparam_direct),
4706         (gst_dpman_add_required_dparam_array),
4707         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
4708         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
4709         (gst_dpman_get_manager)
4710           restructured DParam docs
4711
4712 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
4713
4714         * gst-element-check.m4:
4715           Only check for gst-inspect if we haven't already
4716           found it in previous element check runs
4717
4718 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
4719
4720         * docs/gst/Makefile.am:
4721         * docs/libs/Makefile.am:
4722           fixed install rules to treat style.css as optional
4723
4724 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
4725
4726         * docs/gst/Makefile.am:
4727         * docs/libs/Makefile.am:
4728           install style.css along with docs
4729         * docs/gst/tmpl/gstbin.sgml:
4730         * docs/gst/tmpl/gstclock.sgml:
4731         * docs/gst/tmpl/gstdata.sgml:
4732         * docs/gst/tmpl/gstelement.sgml:
4733         * gst/gstbin.h:
4734         * gst/gstelement.c: (gst_element_class_init):
4735         * gst/gstelement.h:
4736           fixing incomplete docs
4737
4738 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4739
4740         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4741           Don't unref seek event twice when fflush() fails
4742           
4743 2005-01-22  David Schleef  <ds@schleef.org>
4744
4745         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
4746
4747 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
4748
4749         * docs/gst/Makefile.am:
4750         * docs/libs/Makefile.am:
4751           added params for deprecation guards
4752         * gst/gst.c:
4753         * gst/gst.h:
4754         * gst/gsterror.c: (_gst_resource_errors_init),
4755         (_gst_stream_errors_init):
4756         * gst/gsterror.h:
4757           documented some more enums
4758
4759 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4760         * gst/autoplug/gstspideridentity.c:
4761         Cosmetic fix - spider_find_peek should be static
4762         * gst/parse/parse.l:
4763         Applying fix for #164261
4764
4765 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
4766
4767         * docs/gst/gstreamer-sections.txt:
4768         * docs/gst/tmpl/gstplugin.sgml:
4769         * docs/libs/gstreamer-libs-sections.txt:
4770         * docs/libs/tmpl/gstcontrol.sgml:
4771         * gst/gstbuffer.h:
4772         * gst/gsttag.h:
4773         * gst/gstvalue.c:
4774           added docs for the TAG defines
4775
4776 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4777
4778         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4779           Only unref entry if there is an entry.
4780
4781 2005-01-17  Wim Taymans  <wim@fluendo.com>
4782
4783         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4784         (remove_from_group), (schedule_group), (normalize_group),
4785         (gst_opt_scheduler_iterate):
4786         Also ref/unref decoupled elements before iterating the
4787         group since they are not added to the list of elements.
4788
4789 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4790
4791         * docs/manual/highlevel-components.xml:
4792           Add subtitle/streamselection as new features to playbin.
4793
4794 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4795
4796         * docs/manual/manual.xml:
4797           Re-enable dataaccess docs (oops).
4798
4799 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4800
4801         * docs/pwg/advanced-types.xml:
4802         * docs/random/mimetypes:
4803           Add documentation on libsndfile types (#163309), by Steve Baker
4804           <steve@stevebaker.org>.
4805         * gst/gstelement.c: (gst_element_release_request_pad):
4806           If an element has no explicit function, just remove the pad.
4807
4808 2005-01-17  Luca Ognibene  <luogni@tin.it>
4809
4810         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4811
4812         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
4813           Fix memleak (#163801).
4814
4815 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4816
4817         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
4818           I think this is actually more correct...
4819
4820 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4821
4822         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4823           Another workaround for memory access while destroyed in callback.
4824           Please, someone with refcount knowledge, have a look at this.
4825
4826 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4827
4828         * docs/faq/faq.xml:
4829         * docs/faq/legal.xml:
4830           move the legal Q&A here
4831
4832 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4833
4834         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
4835         (gst_tee_request_new_pad):
4836           Fix negotiation.
4837
4838 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4839
4840         * docs/random/omega/caps2:
4841         * testsuite/caps/caps_strings:
4842           replace framerate aproximations by their real value
4843           (24000/1001, 30000/1001, 60000/1001)
4844           Partially fixes bug #164049
4845
4846 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4847
4848         * docs/gst/Makefile.am:
4849           don't fail on the stupid GstPoptOption
4850
4851 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4852
4853         * gst/gstpad.h:
4854         * gst/gstprobe.c:
4855           allow probes to work on ghost pads by realizing the pad
4856           probe debugging
4857
4858 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4859
4860         * docs/gst/gstreamer-sections.txt:
4861         * docs/gst/tmpl/gstpad.sgml:
4862         * gst/gstpad.c: (gst_pad_set_active_recursive):
4863         * gst/gstpad.h:
4864           Add gst_pad_set_active_recursive().
4865
4866 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4867
4868         * docs/random/release:
4869           updates
4870         * gst/gst_private.h:
4871         * gst/gstinfo.c:
4872         * gst/gstobject.c:
4873           move deep_notify logging to a new category
4874         * gst/gstprobe.c:
4875         * gst/gstprobe.h:
4876           add stuff so bindings can wrap probes
4877
4878 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4879
4880         * gst/gstplugin.c: (gst_plugin_load):
4881           Fix plugin loading if plugin/lib was already loaded. Fixes
4882           #163383
4883
4884 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
4885
4886         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4887
4888         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
4889           Protect plugin loading by a mutex so it's threadsafe. Fixes
4890           #163234.
4891
4892 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4893
4894         * gst/gstevent.c: (_gst_event_copy):
4895           Reference source object when copying events, since it'll be
4896           dereferenced on event dereferencing as well.
4897
4898 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4899
4900         * docs/gst/gstreamer-sections.txt:
4901         * docs/gst/tmpl/gstevent.sgml:
4902         * gst/gstevent.c: (gst_event_new_filler_stamped),
4903         (gst_event_filler_get_duration):
4904         * gst/gstevent.h:
4905           Add two new functions for filler events (which are used to
4906           synchronize streams if one of them is not having any data
4907           for a while) without interrupting the actual data-stream.
4908           Basically a no-op.
4909         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4910         (gst_queue_link_sink), (gst_queue_link_src),
4911         (gst_queue_change_state):
4912           Allow for renegotiation while filled. Required for stream
4913           switching while playing.
4914
4915 2005-01-08  Benjamin Otte  <otte@gnome.org>
4916
4917         * gst/gstelement.c: (gst_element_link_many):
4918           fix up g_return_if_fail's
4919         * po/LINGUAS:
4920         * po/de.po:
4921           add German translation, that was somehow not included
4922
4923 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4924
4925         * docs/random/mimetypes:
4926           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
4927           do not add them to riff-lib as they are not common
4928
4929 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4930
4931         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4932           Check for existence of probe after performing the probe before
4933           re-accessing it to prevent segfaults caused by removal of the
4934           probe in the callback.
4935
4936 2005-01-05  David Schleef  <ds@schleef.org>
4937
4938         * testsuite/registry/Makefile.am:
4939         * testsuite/registry/gst-print-formats.c:
4940         (print_pad_templates_info), (print_element_list),
4941         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
4942         (g_list_uniqify), (get_pad_templates_info),
4943         (get_element_mime_list), (print_mime_list), (main): A little
4944         program that looks through the registry to find elements of
4945         a given type.  Not particularly interesting as a test, except
4946         that there's no other test covering the same area.
4947
4948 2005-01-05  David Schleef  <ds@schleef.org>
4949
4950         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
4951         (fault_handler_sigaction), (fault_spin),
4952         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
4953         in signal.h-type signal handlers by not calling forbidden functions,
4954         including gst_element_set_state().
4955
4956 2005-01-05  David Schleef  <ds@schleef.org>
4957
4958         * gst/gstvalue.h: Mark _gst_reserved[] as private
4959
4960 2005-01-05  David Schleef  <ds@schleef.org>
4961
4962         * gst/gstvalue.c: Fix doc build problem.
4963
4964 2005-01-05  David Schleef  <ds@schleef.org>
4965
4966         * gst/gstvalue.c: Add some documentation
4967
4968 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
4969
4970         * docs/README:
4971           another shell oneliner for empty return value docs
4972         * gst/gstcaps.c:
4973         * gst/gstvalue.c:
4974         * libs/gst/control/dparam.c:
4975           more doc fixes (parameters and return values)
4976
4977 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
4978
4979         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4980
4981         * gst/gstregistry.h:
4982         * gst/registries/gstxmlregistry.c:
4983           Fix macro's for Mingw (fixes #162276).
4984
4985 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
4986
4987         * docs/README:
4988           quick shell oneliner to find undocumented members
4989         * docs/gst/tmpl/gstplugin.sgml:
4990         * docs/gst/tmpl/gstscheduler.sgml:
4991         * docs/gst/tmpl/gstthread.sgml:
4992           more enumtypes cleanup
4993         * gst/gsterror.h:
4994           activated documentation comments, now someone needs to document
4995           the enums :(
4996
4997 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4998
4999         * docs/manual/manual.xml:
5000           Add dataaccess part (doh!).
5001
5002 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5003
5004         * docs/manual/advanced-autoplugging.xml:
5005           Fix typo (intiate -> initiate).
5006
5007 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5008
5009         * docs/random/bbb/streamselection:
5010           Add some notes on how to handle multi-subtitle/-audio streams.
5011
5012 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5013
5014         * docs/gst/gstreamer-docs.sgml:
5015         * docs/gst/gstreamer-sections.txt:
5016         * docs/gst/tmpl/gstenumtypes.sgml:
5017         * docs/gst/tmpl/gsterror.sgml:
5018         * docs/gst/tmpl/gstevent.sgml:
5019         * docs/gst/tmpl/gstpad.sgml:
5020         * docs/gst/tmpl/gstpadtemplate.sgml:
5021         * docs/gst/tmpl/gstthread.sgml:
5022           removed gstenumtypes section from docs and put all the enums into
5023           their sections
5024
5025 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5026
5027         * gst/gstplugin.c:
5028           document gst_library_load a bit more (riff special case + return
5029           value if already loaded)
5030         * testsuite/bytestream/filepadsink.c:
5031           plugin name is 'gstbytestream', not 'bytestream'
5032
5033 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5034
5035         * docs/random/bbb/subtitles:
5036           Add some first mind rumblings on proper subtitle support.
5037
5038 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5039
5040         * po/ca.po:
5041         * po/sv.po:
5042           updated translations
5043
5044 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5045
5046         * docs/manual/advanced-dataaccess.xml:
5047           Add section on how to use fakesrc/fakesink/identity in your
5048           application, plus section on how to embed plugins. Also mention
5049           probes.
5050         * docs/manual/appendix-checklist.xml:
5051         * docs/manual/appendix-debugging.xml:
5052         * docs/manual/appendix-gnome.xml:
5053         * docs/manual/appendix-integration.xml:
5054           Debug -> checklist, GNOME -> integration, add sections on Linux,
5055           KDE integration and add other things useful for application
5056           development.
5057         * docs/manual/manual.xml:
5058           Remove some fixmes, update some file pointers.
5059         * docs/pwg/appendix-checklist.xml:
5060           Fix typo.
5061         * docs/pwg/building-boiler.xml:
5062           Remove ugly header and add commented fixme.
5063         * docs/pwg/pwg.xml:
5064           Add fixme.
5065         * examples/manual/Makefile.am:
5066           Add example for added docs.
5067
5068 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5069
5070         * configure.ac:
5071           back to HEAD
5072
5073 === release 0.8.8 ===
5074
5075 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5076
5077         * NEWS:
5078         * RELEASE:
5079         * configure.ac:
5080           Releasing 0.8.8, "I'll Take Care Of You"
5081
5082 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5083
5084         * configure.ac:
5085           second prerelease
5086
5087 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5088
5089         patch by: Wim Taymans
5090
5091         * gst/gstbin.c:
5092           Fix for #159852 - make iterate emission threadsafe
5093
5094 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * docs/faq/cvs.xml:
5097           notes about new fdo account request
5098
5099 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5100
5101         * docs/gst/gstreamer-docs.sgml:
5102         * docs/gst/tmpl/gstenumtypes.sgml:
5103         * docs/gst/tmpl/gstplugin.sgml:
5104         * docs/libs/gstreamer-libs-docs.sgml:
5105           Added missing short docs. Added ids for navigation.
5106
5107 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5108
5109         * docs/manual/advanced-autoplugging.xml:
5110         * docs/manual/advanced-schedulers.xml:
5111         * docs/manual/advanced-threads.xml:
5112           Rewrites. Remove cothreads, go a bit into opt specifically,
5113           document threads and their gotchas, and do some technical stuff
5114           on autoplugging plus add some working examples. Fixes #157395.
5115         * examples/manual/Makefile.am:
5116           Add typefind/autoplugger example (one that actually works).
5117           Remove queue example since it's a duplicate of the thread one.
5118
5119 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5120
5121         * gst/gstvalue.c: (gst_value_deserialize_string):
5122           use deprecated g_value_set_string_take_ownership to keep compatible
5123           with glib 2.2
5124
5125 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5126
5127         * gst/gstvalue.c: (gst_value_deserialize_string):
5128           revert last patch, only dom a g_utf8_validate now before accepting
5129           the string - caps parsing strips " from strings so we can't rely on
5130           them
5131         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5132           disable a test that tested the above and comment it
5133
5134 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5135
5136         Patch reviewed by David Schleef  <ds@schleef.org>
5137
5138         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5139         bug #153882)
5140         * win32/gstenumtypes.h: same
5141
5142 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5143
5144         * gst/gstpad.c: (gst_pad_query):
5145           Do query on realized pad, similar to how convert/send_event handle
5146           this. Also makes sense, since this pad belongs to the function to
5147           which this query will be sent. Fixes #158163.
5148
5149 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5150
5151         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5152
5153 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5154
5155         * docs/faq/general.xml: fix pipeline to actually work
5156
5157 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5158
5159         * gst/gstvalue.c: (gst_value_deserialize_string):
5160           check that a simple string that gets deserialized does not contain
5161           invalid characters
5162         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5163           remove a test that tested a wring behaviour
5164
5165 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5166
5167         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5168
5169         * docs/manual/intro-motivation.xml:
5170           Fix typos.
5171
5172 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5173
5174         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5175
5176         * docs/gst/tmpl/gstprobe.sgml:
5177           Fix documentation of probe callback - it is supposed to return
5178           FALSE, not TRUE, to remove data from the stream (#159087).
5179
5180 2004-12-16  Daniel Gazard  <dany42@free.fr>
5181
5182         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5183
5184         * gst/gstelementfactory.c: (gst_element_factory_create):
5185           Fix compile failure if compiling without libxml2 support (#149936).
5186
5187 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5188
5189         * docs/manual/advanced-autoplugging.xml:
5190         * docs/manual/highlevel-components.xml:
5191           Move spider from autoplugging to components. Autoplugging is for
5192           internals, not for solutions. ;-).
5193
5194 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5195
5196         * docs/random/ds/0.9-suggested-changes:
5197           Make note on device/location/uri property names.
5198
5199 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5200
5201         * docs/manual/advanced-autoplugging.xml:
5202         * docs/manual/advanced-clocks.xml:
5203         * docs/manual/advanced-interfaces.xml:
5204         * docs/manual/advanced-metadata.xml:
5205         * docs/manual/advanced-position.xml:
5206         * docs/manual/advanced-schedulers.xml:
5207         * docs/manual/advanced-threads.xml:
5208         * docs/manual/appendix-gnome.xml:
5209         * docs/manual/appendix-programs.xml:
5210         * docs/manual/appendix-quotes.xml:
5211         * docs/manual/autoplugging.xml:
5212         * docs/manual/basics-bins.xml:
5213         * docs/manual/basics-data.xml:
5214         * docs/manual/basics-elements.xml:
5215         * docs/manual/basics-helloworld.xml:
5216         * docs/manual/basics-init.xml:
5217         * docs/manual/basics-pads.xml:
5218         * docs/manual/basics-plugins.xml:
5219         * docs/manual/bins-api.xml:
5220         * docs/manual/bins.xml:
5221         * docs/manual/buffers-api.xml:
5222         * docs/manual/buffers.xml:
5223         * docs/manual/clocks.xml:
5224         * docs/manual/components.xml:
5225         * docs/manual/cothreads.xml:
5226         * docs/manual/debugging.xml:
5227         * docs/manual/dparams-app.xml:
5228         * docs/manual/dynamic.xml:
5229         * docs/manual/elements-api.xml:
5230         * docs/manual/elements.xml:
5231         * docs/manual/factories.xml:
5232         * docs/manual/gnome.xml:
5233         * docs/manual/goals.xml:
5234         * docs/manual/helloworld.xml:
5235         * docs/manual/helloworld2.xml:
5236         * docs/manual/highlevel-components.xml:
5237         * docs/manual/highlevel-xml.xml:
5238         * docs/manual/init-api.xml:
5239         * docs/manual/intro-basics.xml:
5240         * docs/manual/intro-motivation.xml:
5241         * docs/manual/intro-preface.xml:
5242         * docs/manual/intro.xml:
5243         * docs/manual/links-api.xml:
5244         * docs/manual/links.xml:
5245         * docs/manual/manual.xml:
5246         * docs/manual/motivation.xml:
5247         * docs/manual/pads-api.xml:
5248         * docs/manual/pads.xml:
5249         * docs/manual/plugins-api.xml:
5250         * docs/manual/plugins.xml:
5251         * docs/manual/programs.xml:
5252         * docs/manual/queues.xml:
5253         * docs/manual/quotes.xml:
5254         * docs/manual/schedulers.xml:
5255         * docs/manual/states-api.xml:
5256         * docs/manual/states.xml:
5257         * docs/manual/threads.xml:
5258         * docs/manual/typedetection.xml:
5259         * docs/manual/win32.xml:
5260         * docs/manual/xml.xml:
5261           Try 2. This time, include a short preface as a "general
5262           introduction", also add code blocks around all code samples
5263           so they get compiled. We still need a way to tell readers
5264           the filename of the code sample. In some cases, don't show
5265           all code in the documentation, but do include it in the generated
5266           code. This allows for focussing on specific bits in the docs,
5267           while still having a full test application available.
5268         * examples/manual/Makefile.am:
5269           Fix up examples for new ADM. Add several of the new examples that
5270           were either added or were missing from the build system.
5271         * examples/manual/extract.pl:
5272           Allow nameless blocks.
5273
5274 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5275
5276         * docs/manual/elements-api.xml:
5277         * docs/manual/helloworld.xml:
5278         * examples/manual/extract.pl:
5279           fix last example.  Add example of adding code blocks that are not
5280           shown in docbook output.
5281
5282 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5283
5284         * docs/manual/dynamic.xml:
5285         * docs/manual/elements-api.xml:
5286         * docs/manual/gnome.xml:
5287         * docs/manual/helloworld2.xml:
5288         * docs/manual/init-api.xml:
5289         * docs/manual/queues.xml:
5290         * docs/manual/threads.xml:
5291         * docs/manual/xml.xml:
5292         * examples/manual/extract.pl:
5293           Make it possible to extract example code from separate blocks.
5294           Should make Ronald happy.
5295
5296 2004-12-15  Wim Taymans  <wim@fluendo.com>
5297
5298         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5299         (remove_from_group), (group_elements_set_visited),
5300         (normalize_group), (gst_opt_scheduler_iterate):
5301         Fix bug where a flag was not updated on a decoupled entry point 
5302         because we were just checking the group element list and decoupled
5303         elements are not in that list..
5304
5305 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5306
5307         * docs/manual/advanced-autoplugging.xml:
5308         * docs/manual/advanced-clocks.xml:
5309         * docs/manual/advanced-dparams.xml:
5310         * docs/manual/advanced-interfaces.xml:
5311         * docs/manual/advanced-metadata.xml:
5312         * docs/manual/advanced-position.xml:
5313         * docs/manual/advanced-schedulers.xml:
5314         * docs/manual/advanced-threads.xml:
5315         * docs/manual/appendix-debugging.xml:
5316         * docs/manual/appendix-gnome.xml:
5317         * docs/manual/appendix-programs.xml:
5318         * docs/manual/appendix-quotes.xml:
5319         * docs/manual/appendix-win32.xml:
5320         * docs/manual/autoplugging.xml:
5321         * docs/manual/basics-bins.xml:
5322         * docs/manual/basics-data.xml:
5323         * docs/manual/basics-elements.xml:
5324         * docs/manual/basics-helloworld.xml:
5325         * docs/manual/basics-init.xml:
5326         * docs/manual/basics-pads.xml:
5327         * docs/manual/basics-plugins.xml:
5328         * docs/manual/bins-api.xml:
5329         * docs/manual/bins.xml:
5330         * docs/manual/buffers-api.xml:
5331         * docs/manual/buffers.xml:
5332         * docs/manual/clocks.xml:
5333         * docs/manual/components.xml:
5334         * docs/manual/cothreads.xml:
5335         * docs/manual/debugging.xml:
5336         * docs/manual/dparams-app.xml:
5337         * docs/manual/dynamic.xml:
5338         * docs/manual/elements-api.xml:
5339         * docs/manual/elements.xml:
5340         * docs/manual/factories.xml:
5341         * docs/manual/gnome.xml:
5342         * docs/manual/goals.xml:
5343         * docs/manual/helloworld.xml:
5344         * docs/manual/helloworld2.xml:
5345         * docs/manual/highlevel-components.xml:
5346         * docs/manual/highlevel-xml.xml:
5347         * docs/manual/init-api.xml:
5348         * docs/manual/intro-motivation.xml:
5349         * docs/manual/intro-preface.xml:
5350         * docs/manual/intro.xml:
5351         * docs/manual/links-api.xml:
5352         * docs/manual/links.xml:
5353         * docs/manual/manual.xml:
5354         * docs/manual/motivation.xml:
5355         * docs/manual/pads-api.xml:
5356         * docs/manual/pads.xml:
5357         * docs/manual/plugins-api.xml:
5358         * docs/manual/plugins.xml:
5359         * docs/manual/programs.xml:
5360         * docs/manual/queues.xml:
5361         * docs/manual/quotes.xml:
5362         * docs/manual/schedulers.xml:
5363         * docs/manual/states-api.xml:
5364         * docs/manual/states.xml:
5365         * docs/manual/threads.xml:
5366         * docs/manual/typedetection.xml:
5367         * docs/manual/win32.xml:
5368         * docs/manual/xml.xml:
5369           First try at rewriting the ADM. Needs lotsamore work, but some
5370           parts might already be somewhat useful.
5371         * docs/pwg/advanced-interfaces.xml:
5372           Remove properties interface, it never actually existed (except for
5373           on my HD...).
5374
5375 2004-12-13  David Schleef  <ds@schleef.org>
5376
5377         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5378         be NULL (bug #160220).
5379
5380 2004-12-13  David Schleef  <ds@schleef.org>
5381
5382         * configure.ac: remove all mmx stuff, because it's not used.
5383         * docs/random/ds/0.9-suggested-changes: additional notes
5384         * include/Makefile.am: we don't use these anymore
5385         * include/mmx.h: remove
5386         * include/sse.h: remove
5387
5388 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5389
5390         * docs/random/mimetypes:
5391           Add FOURCC code for h264 codec (VSSH)
5392           Add alternate FOURCC codes for h263 related codecs
5393
5394 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5395
5396         * docs/manual/programs.xml:
5397           Added more gst-launch examples.
5398
5399 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5400
5401         * gst/gstqueue.c: (gst_queue_handle_src_query):
5402           Check for availability again.
5403
5404 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5405
5406         * gst/gstcaps.c: (gst_caps_compare_structures):
5407           Simple caps go first. This has the nice side-effect of fixing an
5408           obscure warning.
5409
5410 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5411
5412         * gst/gstversion.h.in:
5413           Protect header.
5414
5415 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5416
5417         * gst/schedulers/gstoptimalscheduler.c:
5418         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5419         (gst_opt_scheduler_get_wrapper):
5420           When we're recursing into a chain run, only run the directly
5421           related group, not all queued ones. This will fix a possible
5422           deadlock in chains with more than two groups.
5423
5424 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5425
5426         * autogen.sh:
5427           remove patch if autopoint fails
5428
5429 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5430
5431         * docs/gst/gstreamer-sections.txt:
5432           Document Thomas' addition, fix build, make Luis the sheriff happy.
5433
5434 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5435
5436         * gst/gstplugin.c:
5437         * gst/gstplugin.h:
5438           add accessor for version field
5439
5440 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5441
5442         submitted by: Luca Ferretti <elle.uca@infinito.it>
5443
5444         * po/LINGUAS:
5445         * po/it.po:
5446           New tranlation added: Italian
5447
5448 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5449
5450         * gst/gstpad.c: (gst_pad_is_negotiated),
5451         (gst_pad_get_negotiated_caps):
5452           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5453           it doesn't actually check the contents), so be sure to hand it
5454           a RealPad else we'll crash.
5455
5456 2004-12-03  Wim Taymans  <wim@fluendo.com>
5457
5458         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5459         (gst_queue_link), (gst_queue_handle_src_query):
5460         Reverted to 1.110 until this makes the testsuite and various
5461         apps work.
5462
5463 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5464
5465         * docs/upload.mak: fix included CVS conflict strings
5466
5467 2004-12-01  William Jon McCann  <mccann@jhu.edu>
5468
5469         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5470
5471         * gst/gstelement.c: (gst_element_error_full):
5472           Use g_error_new_literal because error text may have
5473           percentage signs in it. Fixes #160019.
5474
5475 2004-12-01  Benjamin Otte  <otte@gnome.org>
5476
5477         * gst/elements/gstbufferstore.c:
5478         (gst_buffer_store_add_buffer_func):
5479           don't try to make subbuffers bigger than they can be. (fixes
5480           #159970)
5481
5482 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5483
5484         * docs/gst/gstreamer-sections.txt:
5485         * docs/gst/tmpl/gstvalue.sgml:
5486           Add new function to docs to fix build.
5487
5488 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5489
5490         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
5491         * gst/gstpad.c: (_gst_pad_default_fixate_value),
5492         (_gst_pad_default_fixate_foreach):
5493         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
5494         * gst/gstvalue.h:
5495           Deprecate _type_is_fixed, use _value_is_fixed instead, since
5496           in some cases (arrays), the fixedness depends on the content.
5497         * gst/gstqueue.c: (gst_queue_handle_src_query):
5498           Check for availability before doing something.
5499
5500 2004-11-29  Wim Taymans  <wim@fluendo.com>
5501
5502         * testsuite/threads/Makefile.am:
5503         * testsuite/threads/signals.c: (gst_test_get_type),
5504         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
5505         (gst_test_set_property), (gst_test_get_property),
5506         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
5507         (gst_test_do_prop), (run_thread), (main):
5508         Added a bunch of testcases that show threadsafety bugs in glib.
5509
5510 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
5511
5512         * docs/manual/programs.xml:
5513           Added a first batch of gst-launch examples, as provided by Ronald
5514           and others from the devel-mlist
5515
5516 2004-11-28  Benjamin Otte  <otte@gnome.org>
5517
5518         * gst/gstelement.c: (gst_element_negotiate_pads):
5519           simplify
5520         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
5521         (gst_value_serialize_string), (gst_value_deserialize_string):
5522           add unwrapping of previously wrapped strings. Fix bug in wrapping
5523           while at it.
5524         * testsuite/caps/value_serialize.c: (test1),
5525         (test_string_serialization), (test_string_deserialization), (main):
5526           add tests for string (de)serialization
5527
5528 2004-11-26  Wim Taymans  <wim@fluendo.com>
5529
5530         * testsuite/threads/159566.c: (object_deep_notify), (main):
5531         * testsuite/threads/Makefile.am:
5532         Added testsuite to show bug #159566
5533
5534 2004-11-25  Wim Taymans  <wim@fluendo.com>
5535
5536         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
5537         (gst_thread_child_state_change), (gst_thread_main_loop):
5538         Ref the thread object in the GThread mainloop. Break out of the
5539         thread mainloop if it holds the last ref. This properly exits
5540         the threads when disposing the thread from its own context. It
5541         also avoids possible deadlocks in the dispose function.
5542
5543 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
5544
5545         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
5546         it is necessary to wait.
5547
5548 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5549
5550         * docs/pwg/building-boiler.xml:
5551           Make description somewhat clearer.
5552
5553 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5554
5555         * docs/upload.mak:
5556           Apparently docs changed location on FDO's server.
5557
5558 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5559
5560         * docs/pwg/appendix-checklist.xml:
5561           Add some random notes on things to check when writing an element.
5562           This list can be extended as people see fit.
5563
5564 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
5565
5566         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
5567         (gst_queue_link_src): Allow for renegotiating the caps of the sink
5568         pad. The queue will now wait until it is empty and forward the new
5569         caps to the source.
5570         * gst/gstbin.c (gst_bin_set_element_sched)
5571         (gst_bin_unset_element_sched): Make sure that all elements and
5572         links are registered and unregistered with the scheduler exactly
5573         once. This elaborates on a fix by Benjamin Otte, but
5574         guarantees that decoupled elements are also registered.
5575
5576 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5577
5578         * docs/manual/quotes.xml:
5579           add a quote
5580         * configure.ac:
5581         * gst/gst.c:
5582         * gst/gstinfo.c:
5583           add LIBDIR and move init message higher up so it's at the start
5584
5585 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5586
5587         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
5588         * gstreamer.spec.in: add fair
5589
5590 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5591
5592         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5593         * gst/elements/gstidentity.c: (gst_identity_class_init):
5594           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
5595           <teuf@gnome.org> (#157263).
5596         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
5597         (gst_type_find_handle_src_query):
5598           Subtract size of internally stored data from position queries.
5599
5600 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
5601
5602         * gst/schedulers/fairscheduler.c:
5603         * gst/schedulers/faircothreads.c:
5604         * gst/schedulers/faircothreads.h:
5605         New cothread based scheduler: Fair scheduler.
5606         * gst/schedulers/gthread-cothreads.h: 
5607         Add the standard #if around the whole file.
5608         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
5609         compilation of the functions defined in this file. This is
5610         necessary to be able to use this file as a normal header.
5611         * gst/schedulers/Makefile.am: Add compiling support for fair
5612         scheduler.
5613         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
5614         scheduler cothreads layer from documentation generation.
5615
5616 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5617
5618         * gst/autoplug/gstspideridentity.c:
5619         (gst_spider_identity_sink_loop_type_finding):
5620           Don't crash if that function is not implemented.
5621
5622 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5623
5624         * docs/pwg/advanced-types.xml:
5625           Another typo.
5626
5627 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5628
5629         * docs/pwg/intro-preface.xml:
5630           Hm, ok, so the brackets weren't really useful...
5631         * docs/pwg/other-ntoone.xml:
5632           Fix embarassing typo.
5633
5634 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5635
5636         * docs/pwg/intro-preface.xml:
5637           Rewrite preface.
5638
5639 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5640
5641         * docs/pwg/advanced-scheduling.xml:
5642         * docs/pwg/advanced-tagging.xml:
5643         * docs/pwg/advanced-types.xml:
5644         * docs/pwg/building-boiler.xml:
5645         * docs/pwg/building-chainfn.xml:
5646         * docs/pwg/building-signals.xml:
5647         * docs/pwg/building-state.xml:
5648         * docs/pwg/building-testapp.xml:
5649         * docs/pwg/intro-basics.xml:
5650         * docs/pwg/other-manager.xml:
5651         * docs/pwg/other-source.xml:
5652           Typo fixes.
5653         * docs/pwg/other-manager.xml:
5654           Add some first content. No example code yet.
5655         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5656           Remove double newlines.
5657
5658 2004-11-04  Wim Taymans  <wim@fluendo.com>
5659
5660         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5661         (remove_from_group), (normalize_group), (group_migrate_connected),
5662         (gst_opt_scheduler_iterate):
5663         * testsuite/schedulers/.cvsignore:
5664         * testsuite/schedulers/Makefile.am:
5665         * testsuite/schedulers/queue_link.c: (main):
5666         Added testcase for scheduler segfault.
5667         Fix scheduler segfault when removing a decoupled
5668         entry point as the last element from a group.
5669
5670 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5671
5672         * gst/gstmarshal.list: add missing marshaller, fixes build
5673
5674 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5675
5676         * docs/random/signal: added notes about using BOXED for GstBuffer
5677         signal marshallers, not POINTER
5678
5679 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5680
5681         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5682         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
5683         POINTER=>BOXED changes to marshal GstBuffers
5684
5685 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5686
5687         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
5688         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
5689
5690 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
5691
5692         * docs/gst/gstreamer-sections.txt:
5693         * docs/gst/tmpl/gstcaps.sgml:
5694         * docs/gst/tmpl/gsterror.sgml:
5695         * docs/gst/tmpl/gstinfo.sgml:
5696         * docs/gst/tmpl/gstmacros.sgml:
5697         * docs/gst/tmpl/gstutils.sgml:
5698         * docs/random/ensonic/interfaces.txt:
5699         * gst/gstinfo.h:
5700           added some more docs, removed two obsolete defines
5701
5702 2004-11-02  Kjartan Maraas <as at gnome.org>
5703
5704         reviewed by: Wim Taymans, Ronald Bultje.
5705
5706         * gst/cothreads.c: (cothread_create):
5707         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5708         (gst_bin_child_state_change_func):
5709         * gst/gstbuffer.c: (gst_buffer_span):
5710         * gst/gstelement.c: (gst_element_get_index),
5711         (gst_element_get_event_masks), (gst_element_get_query_types),
5712         (gst_element_get_formats):
5713         * gst/gsterror.c: (_gst_core_errors_init),
5714         (_gst_library_errors_init), (_gst_resource_errors_init),
5715         (_gst_stream_errors_init):
5716         * gst/gstobject.c: (gst_object_default_deep_notify):
5717         * gst/gstpad.c: (gst_pad_get_event_masks),
5718         (gst_pad_get_internal_links_default):
5719         * gst/gstplugin.c: (gst_plugin_register_func),
5720         (gst_plugin_get_module):
5721         * gst/gststructure.c: (gst_structure_get_string),
5722         (gst_structure_get_abbrs), (gst_structure_from_abbr),
5723         (gst_structure_to_abbr):
5724         * gst/gstutils.c: (gst_print_element_args):
5725         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5726         (setup_group_scheduler), (gst_opt_scheduler_iterate):
5727         Aplied part of patch #157127: Cleanup of issues reported by 
5728         sparse.
5729         Also do not try to use cothreads when there is no cothread
5730         context yet.
5731
5732 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
5733
5734         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5735         (gst_opt_scheduler_iterate):
5736         Applied patch #154061. Running a pipeline in which an element 
5737         calls GST_ELEMENT_ERROR in the chain function, the opt 
5738         scheduler doesn't unref the chain so it never gets freed.
5739
5740 2004-11-02  Wim Taymans  <wim@fluendo.com>
5741
5742         * gst/gststructure.c: (gst_structure_get_abbrs),
5743         (gst_structure_from_abbr), (gst_structure_to_abbr):
5744         Remove that ugly if-then thing in the code that converts
5745         between strings and types.
5746
5747 2004-11-02  Wim Taymans  <wim@fluendo.com>
5748
5749         * gst/gstscheduler.c: (gst_scheduler_add_element),
5750         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
5751         Aplied clock distribution patch, this should fix bug
5752         #148787.
5753
5754 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5755
5756         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
5757
5758         * po/LINGUAS:
5759         * po/nb.po:
5760           Added Norwegian Bokmaal translation
5761
5762 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5763
5764         * tools/gst-inspect.c: (print_signal_info):
5765           print signal arguments as pointers if they are
5766
5767 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
5768
5769         * docs/pwg/building-boiler.xml:
5770           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
5771
5772 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5773
5774         * gst/parse/parse.l:
5775         * testsuite/parse/parse1.c: (main):
5776         Since parse can do 'element name=a:b' make 'a:b.' work as
5777         well. 
5778         Added testcase to verify fix.
5779
5780 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5781
5782         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
5783         Use the realpad when printing the direction.
5784         Add extra \n when printing extensions of typefind factories.
5785
5786 2004-10-13  David Schleef  <ds@schleef.org>
5787
5788         * examples/manual/Makefile.am: $< isn't portable in Makefile
5789         rules.
5790
5791 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
5792
5793         * docs/gst/tmpl/gstobject.sgml:
5794         * docs/gst/tmpl/gstplugin.sgml:
5795         * docs/gst/tmpl/gstpluginfeature.sgml:
5796         * docs/gst/tmpl/gstregistry.sgml:
5797         * docs/gst/tmpl/gstversion.sgml:
5798         * gst/gstbin.c:
5799           more api documentation
5800         * gst/gstplugin.c: (gst_plugin_register_func),
5801         (gst_plugin_check_file), (gst_plugin_load_file):
5802           better error signaling and logging
5803
5804 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5805
5806         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
5807           Subtract current queue contents from position queries.
5808
5809 2004-10-11  Johan Dahlin  <johan@gnome.org>
5810
5811         * gst/gsturi.c (gst_uri_get_location): unescape string
5812         (gst_uri_construct): escape string.
5813
5814 2004-10-11  Benjamin Otte  <otte@gnome.org>
5815
5816         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
5817         (gst_pad_try_set_caps_nonfixed):
5818           allow renegotiation of unconnected pads (as inside spider). Simply
5819           return OK if unconnected - mimic try_set_caps there.
5820
5821 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5822
5823         * gst/gstbin.c: (gst_bin_sync_children_state):
5824           Add missing break.
5825
5826 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5827
5828         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
5829         Set element to EOS before sending EOS event
5830
5831 2004-10-08  Wim Taymans  <wim at fluendo dot com>
5832
5833         * gst/elements/gsttypefindelement.c:
5834         (gst_type_find_element_handle_event):
5835         Handle EOS events when doing the transition from
5836         typefind to data passing. This should fix the
5837         infinite loops in short files.
5838
5839 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5840
5841         * gst/gstthread.c: (gst_thread_change_state),
5842         (gst_thread_child_state_change):
5843         Make sure no iteration happens while performing
5844         the state change as it could mess up the internal
5845         consistency of the thread state.
5846
5847 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5848
5849         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
5850         (gst_thread_change_state), (gst_thread_child_state_change):
5851         Do not try to grab the iterate lock in the state change method
5852         when we are in the same thread as the iterate or else we
5853         could deadlock. Some other cleanups.
5854
5855 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5856
5857         * configure.ac:
5858           bump nano to cvs
5859
5860 === release 0.8.7 ===
5861
5862 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5863
5864         * configure.ac:
5865         * NEWS:
5866         * RELEASE:
5867         * configure.ac:
5868           releasing 0.8.7, "A Cruise"
5869
5870 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5871
5872         * docs/random/mimetypes:
5873         Add an entry for Sony ATRAC3 audio format with mime-type
5874         used by rmdemux et riff-read
5875
5876 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5877
5878         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5879         Push the buffer store instead of clearing it in case that
5880         the stream is not seekable.
5881
5882 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5883
5884         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
5885         (gst_thread_main_loop):
5886         Lock the iteration and the state change so that automatic
5887         negotiation and fixation does not happen at the same time
5888         as the in stream negotiation.
5889
5890 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5891
5892         * configure.ac:
5893           bump nano to cvs
5894
5895 === release 0.8.6 ===
5896
5897 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5898
5899         * configure.ac:
5900         * NEWS:
5901         * RELEASE:
5902         * configure.ac:
5903           releasing 0.8.6, "Narc"
5904
5905 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5906
5907         * configure.ac:
5908           prerel bump
5909
5910 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5911
5912         patch by: Steve Lhomme
5913
5914         * gst/elements/gstfakesrc.c:
5915         * gst/elements/gstidentity.c:
5916         * gst/gstthread.c:
5917           Fix for #153881
5918
5919 2004-10-01  Wim Taymans  <wim at fluendo dot com>
5920
5921         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5922         Fix threadsafety of the crc checking function.
5923
5924 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5925
5926         patch by: Ronald Bultje
5927
5928         * gst/elements/gsttypefindelement.c: (stop_typefinding),
5929         (gst_type_find_element_handle_event),
5930         (gst_type_find_element_chain):
5931         * gst/elements/gsttypefindelement.h:
5932          #153657.
5933          Filter out discont event from seekable sources when typefind
5934          asks them to seek.  Fixes typefind with demuxers for
5935          avi, asf and matroska.
5936
5937 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5938
5939         * docs/gst/gstreamer-sections.txt:
5940         * gst/gstcaps.c:
5941         * gst/gstcaps.h:
5942         * gst/gstpad.c:
5943           Revert preferred caps: (#147789)
5944
5945 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
5946
5947         * win32/dirent.c:
5948           fix a memory leak
5949
5950 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5951
5952         * configure.ac:
5953           bump for prerelease
5954
5955 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5956
5957         * docs/Makefile.am:
5958         * docs/manual/elements-api.xml:
5959           restructure so that common stuff is shown first
5960         * docs/manual/init-api.xml:
5961           convert to examples
5962         * docs/manual/manual.xml:
5963         * docs/manuals.mak:
5964         * docs/url.entities:
5965           link to API on the website, possibly override later in build
5966         * examples/manual/.cvsignore:
5967           ignore more
5968         * examples/manual/Makefile.am:
5969           add more examples
5970         * examples/manual/extract.pl:
5971           error out on failure
5972
5973 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5974
5975         * docs/gst/tmpl/gstthread.sgml:
5976         * docs/manual/init-api.xml:
5977         * examples/manual/Makefile.am:
5978           convert two code bits to examples
5979
5980 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5981
5982         * gst/gstelement.c: (gst_element_change_state):
5983           Well, actually, I was about to remove this insane assert when
5984           I noticed Wim already did that. A warning is nice so we can
5985           fix actual ugs (using --g-fatal-warnings and backtraces), so
5986           I added that instead.
5987
5988 2004-09-06  Wim Taymans  <wim@fluendo.com>
5989
5990         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
5991         (gst_element_threadsafe_properties_post_run),
5992         (gst_element_set_state), (gst_element_change_state):
5993         Added extra refcounting around various places. 
5994
5995 2004-09-06  Wim Taymans  <wim@fluendo.com>
5996
5997         * gst/gstpad.c: (gst_pad_link_call_link_functions):
5998         Fix debug info.
5999
6000 2004-09-06  Wim Taymans  <wim@fluendo.com>
6001
6002         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6003         (remove_from_group):
6004         Some more debug info.
6005
6006 2004-09-03  Wim Taymans  <wim@fluendo.com>
6007
6008         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6009         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6010         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6011         (gst_fakesrc_get), (gst_fakesrc_change_state):
6012         * gst/elements/gstfakesrc.h:
6013         * gst/elements/gstidentity.c: (gst_identity_class_init),
6014         (gst_identity_init), (gst_identity_chain),
6015         (gst_identity_set_property), (gst_identity_get_property),
6016         (gst_identity_change_state):
6017         * gst/elements/gstidentity.h:
6018         Added datarate properties to limit the datarate.
6019
6020 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6021
6022         * gst/autoplug/gstspider.c: (plugin_init):
6023           don't set a rank. We don't want to autoplug by inserting spiders.
6024
6025 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6026
6027         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6028         (gst_spider_identity_plug):
6029           add a template for spider's sink
6030         * gst/gst.c: (gst_register_core_elements):
6031           queue's rank should be NULL, we don't want spider to add it.
6032
6033 2004-08-18  David Schleef  <ds@schleef.org>
6034
6035         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6036         * docs/libs/Makefile.am: same
6037         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6038         * docs/random/ds/0.9-planning: random additions
6039         * docs/random/ds/0.9-suggested-changes: same
6040         * gst/gstxml.h: remove vestigal GstXMLNs definition
6041
6042         Preferred caps: (#147789)
6043         * docs/gst/gstreamer-sections.txt: Add symbols
6044         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6045         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6046         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6047         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6048         (gst_caps_get_preferred), (gst_caps_set_preferred),
6049         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6050         (gst_caps_use_preferred): Handle caps preferences
6051         * gst/gstcaps.h: Add caps preferences
6052         * gst/gstpad.c: (gst_pad_link_get_preferred),
6053         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6054         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6055         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6056         negotiation.
6057
6058 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6059
6060         * gst/autoplug/gstspideridentity.c:
6061         (gst_spider_identity_request_new_pad):
6062         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6063         (gst_aggregator_init):
6064         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6065         (gst_fakesink_init):
6066         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6067         (gst_fakesrc_init):
6068         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6069         (gst_fdsink_init):
6070         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6071         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6072         (gst_filesink_init):
6073         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6074         (gst_filesrc_init):
6075         * gst/elements/gstidentity.c: (gst_identity_base_init),
6076         (gst_identity_init):
6077         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6078         (gst_multifilesrc_init):
6079         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6080         (gst_pipefilter_init):
6081         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6082         (gst_statistics_init):
6083         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6084         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6085           s/gst_pad_new/&_from_template/
6086           register pad templates in the base_init function
6087           add static pad template definitions
6088
6089 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6090
6091         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6092         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6093         * testsuite/refcounting/pad.c: (main):
6094         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6095           s/gst_pad_new/&_from_template/
6096           prepare deprecation of gst_pad_new
6097
6098 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6099
6100         patch by: Luca Ognibene <skaboy81@virgilio.it>
6101
6102         * gst/gstcaps.c:
6103         * gst/gstelement.c:
6104         * gst/gstpad.c:
6105         * gst/gstxml.c:
6106           fix memleaks.  Fixes #150001
6107
6108 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6109
6110         * docs/random/ds/0.9-suggested-changes:
6111           add notes - mostly about pad templates
6112
6113 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6114
6115         * win32/GStreamer.vcproj:
6116           temporary locale files are .gmo not .mo
6117
6118 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6119
6120         * configure.ac: bump nano to cvs
6121
6122 === release 0.8.5 ===
6123
6124 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6125
6126         * configure.ac:
6127           releasing 0.8.5, "Stuttgart"
6128         * NEWS:
6129         * RELEASE:
6130         * configure.ac:
6131         * docs/random/release:
6132           updates for release
6133
6134 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6135
6136         patch by: Wim Taymans (wim@fluendo.com)
6137
6138         * gst/gstbuffer.c:
6139         * gst/gstindex.h:
6140         * libs/gst/dataprotocol/dataprotocol.c:
6141           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6142
6143 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6144
6145         * Makefile.am:
6146         * win32/MANIFEST:
6147           add win32 dir to the build.  Fixes #149981.
6148
6149 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6150
6151         * configure.ac:
6152           bump libtool versioning
6153         * gst/gststructure.c:
6154           mark function as static
6155         * po/af.po:
6156         * po/az.po:
6157         * po/ca.po:
6158         * po/cs.po:
6159         * po/en_GB.po:
6160         * po/fr.po:
6161         * po/nl.po:
6162         * po/sq.po:
6163         * po/sr.po:
6164         * po/sv.po:
6165         * po/tr.po:
6166         * po/uk.po:
6167           translations update
6168         * win32/README.txt:
6169           trademark protection
6170
6171 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6172
6173         * configure.ac:
6174           fix GST_ORIGIN
6175           set GST_PACKAGE to source, and distinguish between release and other
6176         * tools/gst-inspect.c:
6177           print out plugin an element factory is part of so we see this info
6178
6179 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6180
6181         * docs/gst/gstreamer-sections.txt:
6182         * docs/gst/tmpl/gstbuffer.sgml:
6183         * docs/gst/tmpl/gstschedulerfactory.sgml:
6184           reorder docs a little, make GstBuffer's more sensible.
6185         * gst/gstbuffer.h:
6186           API: added GST_BUFFER_FLAG_DELTA_UNIT
6187         * gst/gstscheduler.c:
6188           comment API addition
6189
6190 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6191
6192         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6193           work with non-regular files that can be mmapped (like /dev/zero)
6194         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6195           get rid of typefinds that require a seek when we can't seek instead
6196           of trying them over and over again
6197         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6198           return non-zero failure value when the pipeline was interrupted or
6199           an error occurred
6200
6201 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6202
6203         * win32/config.h:
6204         * win32/GStreamer.vcproj:
6205           compile and install the locales
6206
6207 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6208
6209         * gst/gstvalue.c:
6210           fix a possible memory leak under Windows
6211
6212 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6213
6214         * win32/GStreamer.vcproj:
6215           fix a memory leak that occured under Windows
6216         * win32/gstreamer.def:
6217           add gst_scheduler_register
6218
6219 2004-08-11  Benjamin Otte  <otte@gnome.org>
6220
6221         * docs/gst/gstreamer-sections.txt:
6222         * gst/gstscheduler.c: (gst_scheduler_register):
6223         * gst/gstscheduler.h:
6224           API:
6225           add gst_scheduler_register shortcut similar to gst_element_register
6226         * gst/schedulers/entryscheduler.c: (plugin_init):
6227         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6228         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6229           use it
6230
6231 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6232
6233         * gst/gstvalue.h:
6234           fix a memory leak that occured under Windows
6235
6236 2004-08-10  Colin Walters  <walters@redhat.com>
6237
6238         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6239         Don't use O_EXCL to open temporary registry.  It will prevent
6240         registry creation if a temporary one already exists, which
6241         is unnecessary.
6242
6243 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6244
6245         * docs/gst/gstreamer-sections.txt:
6246         * docs/gst/tmpl/gstvalue.sgml:
6247           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6248
6249 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6250
6251         * win32/gstbytestream.vcproj:
6252         * win32/gstelements.vcproj:
6253         * win32/gstgetbits.vcproj:
6254         * win32/gst-inspect.vcproj:
6255         * win32/gst-launch.vcproj:
6256         * win32/gstoptimalscheduler.vcproj:
6257         * win32/GStreamer.vcproj:
6258         * win32/gst-register.vcproj:
6259         * win32/gstspider.vcproj:
6260           update the include and lib dirs to fit standard libraries as
6261           described in the Win32 manual
6262
6263 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6264
6265         * win32/config.h:
6266         * win32/gstversion.h:
6267           enable NLS again, push the version number for the coming 0.8.5 release
6268
6269 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6270
6271         * gst/gstvalue.h:
6272           export gst_type_XXX for windows DLLs
6273
6274 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6275
6276         * docs/faq/gst-uninstalled:
6277           fix PKG_CONFIG_PATH and PYTHONPATH
6278         * gst/schedulers/Makefile.am:
6279           cleanup
6280         * libs/gst/bytestream/bytestream.c:
6281           remove newline
6282         * po/LINGUAS:
6283         * po/sq.po:
6284           adding Albanian translation (Laurent Dhima)
6285         * po/cs.po:
6286           updated
6287
6288 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6289
6290         * po/ca.po:
6291         * po/sv.po:
6292           updated translations
6293
6294 2004-08-04  Benjamin Otte  <otte@gnome.org>
6295
6296         * tests/mass_elements.c: (main):
6297           allow specifying src and sink element explicitly, so I can test
6298           videotestsrc instead of fakesrc
6299
6300 2004-08-04  Benjamin Otte  <otte@gnome.org>
6301
6302         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6303         (gst_structure_id_empty_new), (gst_structure_empty_new),
6304         (gst_structure_copy):
6305           add gst_structure_id_empty_new_with_size to allow preallocating
6306           value array sizes. Use this in gst_structure_copy to get rid of
6307           reallocs.
6308           don't do quark=>string=>quark when copying structures
6309
6310 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6311
6312         * docs/manual/win32.xml:
6313         * win32/README.txt:
6314           update documentation with the clean version of dependencies
6315
6316 2004-08-03  Benjamin Otte  <otte@gnome.org>
6317
6318         * gst/schedulers/entryscheduler.c:
6319         (gst_entry_scheduler_remove_element):
6320           fix for GST_DISABLE_DEBUG
6321         * tools/gst-launch.c: (print_tag):
6322           fixes for G_DISABLE_ASSERT
6323
6324 2004-08-03  Benjamin Otte  <otte@gnome.org>
6325
6326         * gst/gst.c: (gst_register_core_elements):
6327           fix for G_DISABLE_ASSERT
6328         * gst/gstinfo.c: (__gst_in_valgrind):
6329           add for GST_DISABLE_DEBUG
6330
6331 2004-08-03  Benjamin Otte  <otte@gnome.org>
6332
6333         * gst/parse/parse.l:
6334           fix for G_DISABLE_ASSERT
6335
6336 2004-08-03  Wim Taymans  <wim@fluendo.com>
6337
6338         * gst/gstbin.c: (gst_bin_get_type),
6339         (gst_bin_child_state_change_func):
6340         * gst/gstthread.c: (gst_thread_change_state):
6341         Backported some debug logging from a reverted patch
6342         Don't try to destroy the thread twice. Added some more
6343         debugging in GstThread. Unlock and signal even if we
6344         are in the thread context.
6345
6346 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6347
6348         * po/uk.po:
6349           updated translation
6350
6351 2004-07-30  David Schleef  <ds@schleef.org>
6352
6353         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6354
6355 2004-07-29  David Schleef  <ds@schleef.org>
6356
6357         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6358         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6359
6360 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6361
6362         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6363         (gst_bin_add_func), (gst_bin_remove_func),
6364         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6365         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6366         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6367         (gst_bin_sync_children_state):
6368         * gst/gstbin.h:
6369         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6370         (gst_thread_change_state):
6371         * testsuite/states/Makefile.am:
6372           revert state change patches as agreed so we can rework them
6373           gradually
6374
6375 2004-07-29  Benjamin Otte  <otte@gnome.org>
6376
6377         * libs/gst/control/Makefile.am:
6378           link to libgstreamer (fixes Debian bug 262019, see
6379           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6380
6381 2004-07-29  Wim Taymans  <wim@fluendo.com>
6382
6383         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6384         (check_from_fraction_convert), (transform_test), (main):
6385         Make the test less pedantic about float roundoff errors.
6386
6387 2004-07-29  Benjamin Otte  <otte@gnome.org>
6388
6389         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6390         (gst_filesrc_srcpad_event):
6391           make seek events to before start/after end of file not fail, but
6392           seek to start/end instead
6393         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6394           add more output
6395
6396 2004-07-29  Benjamin Otte  <otte@gnome.org>
6397
6398         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6399           check that caps are fixed
6400         * gst/gstpad.c: (gst_pad_template_new):
6401           don't try to simplify caps, costs too much time on gst_init
6402         * gst/gstplugin.c: (gst_plugin_add_feature):
6403           G_ERROR if features are added twice
6404         * gst/gsttypefind.c: (gst_type_find_register):
6405         * gst/gstelementfactory.c: (gst_element_register):
6406           don't add features twice
6407         * docs/random/ds/0.9-suggested-changes:
6408           add note about possible gst_init optimization
6409
6410 2004-07-28  David Schleef  <ds@schleef.org>
6411
6412         * testsuite/elements/Makefile.am:
6413         * testsuite/elements/struct_i386.h:
6414         * testsuite/elements/struct_size.c: (main):  A little test
6415         to keep distcheck from working if someone changes a structure
6416         size accidentally.
6417
6418 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6419
6420         * docs/libs/Makefile.am:
6421         * docs/libs/gstreamer-libs-docs.sgml:
6422         * docs/libs/gstreamer-libs-sections.txt:
6423         * docs/libs/tmpl/gstbytestream.sgml:
6424         * docs/libs/tmpl/gstcontrol.sgml:
6425         * docs/libs/tmpl/gstdataprotocol.sgml:
6426         * docs/libs/tmpl/gstgetbits.sgml:
6427         * libs/gst/bytestream/Makefile.am:
6428         * libs/gst/bytestream/bytestream.c:
6429         * libs/gst/bytestream/bytestream.h:
6430         * libs/gst/control/Makefile.am:
6431         * libs/gst/dataprotocol/Makefile.am:
6432         * libs/gst/getbits/Makefile.am:
6433         * libs/gst/getbits/getbits.h:
6434           various doc and style fixes, adding bytestream to libs docs.
6435
6436 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6437
6438         * docs/gst/gstreamer-docs.sgml:
6439         * docs/libs/Makefile.am:
6440         * docs/libs/gstreamer-libs-docs.sgml:
6441         * docs/libs/gstreamer-libs-sections.txt:
6442         * libs/gst/control/dparam.c:
6443           more doc fixes.  gst-libs docs now build the same way as gst.
6444
6445 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6446
6447         * configure.ac:
6448         * testsuite/Makefile.am:
6449         * testsuite/bins/Makefile.am:
6450         * testsuite/caps/Makefile.am:
6451         * testsuite/cleanup/Makefile.am:
6452         * testsuite/clock/Makefile.am:
6453         * testsuite/debug/Makefile.am:
6454         * testsuite/dlopen/Makefile.am:
6455         * testsuite/dynparams/Makefile.am:
6456         * testsuite/elements/.cvsignore:
6457         * testsuite/elements/Makefile.am:
6458         * testsuite/enumcaps/Makefile.am:
6459         * testsuite/enumcaps/enumcaps.c:
6460         * testsuite/ghostpads/Makefile.am:
6461         * testsuite/indexers/Makefile.am:
6462         * testsuite/negotiation/Makefile.am:
6463         * testsuite/parse/Makefile.am:
6464         * testsuite/plugin/Makefile.am:
6465         * testsuite/refcounting/Makefile.am:
6466         * testsuite/schedulers/.cvsignore:
6467         * testsuite/states/Makefile.am:
6468         * testsuite/tags/Makefile.am:
6469         * testsuite/threads/Makefile.am:
6470           fold enumcaps into caps dir
6471           clean up Makefile.am's for testsuite
6472
6473 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6474
6475         * docs/gst/Makefile.am:
6476         * docs/libs/Makefile.am:
6477           clean up docs build.  Fixes needless rebuilding of template files.
6478
6479 2004-07-28  Wim Taymans  <wim@fluendo.com>
6480
6481         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
6482         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
6483         Make sure that a bin state change tries to keep the children
6484         in sync. 
6485         Added debug logging to the thread.
6486
6487 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6488
6489         * win32/GStreamer.vcproj:
6490         * win32/gstreamer.def:
6491           more exports for the plugins
6492
6493 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6494
6495         * win32/gstgetbits.vcproj:
6496         * win32/gstgetbits.def:
6497         * win32/msvc71.sln:
6498           add support for the getbits plugin
6499
6500 2004-07-27  Wim Taymans  <wim@fluendo.com>
6501
6502         * gst/gstvalue.c: (gst_value_transform_double_fraction),
6503         (gst_value_transform_fraction_double), (_gst_value_initialize):
6504         * testsuite/caps/Makefile.am:
6505         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6506         (check_from_fraction_convert), (transform_test), (main):
6507         Added transform functions between double and fraction.
6508         Added testcase to verify transforms
6509
6510 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6511
6512         * win32/GStreamer.vcproj:
6513           rename GStreamer-0.8.lib to libgstreamer.lib
6514
6515 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6516
6517         * win32/gstelements.vcproj:
6518         * win32/gstoptimalscheduler.vcproj:
6519           fixes for the Release build
6520
6521 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6522
6523         * win32/config.h:
6524           update the version number
6525
6526 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6527
6528         * win32/GStreamer.vcproj:
6529           add gstinterface to the build
6530
6531 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6532
6533         * win32/gstreamer.def:
6534           add many definitions needed by plugins,
6535           GST_CAT_DEFAULT only available in the Debug build ?
6536
6537 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6538
6539         * gst/gstelement.c: (gst_element_set_eos_recursive):
6540           various whitespace fixes.
6541           doc fix, fixes #148497
6542
6543 2004-07-25  Benjamin Otte  <otte@gnome.org>
6544
6545         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
6546           don't delay links on the sink elements, it causes unnegotiated
6547           links.
6548         * gst/elements/gsttypefindelement.c:
6549         (gst_type_find_element_base_init):
6550           add our padtemplates, we indeed do have some.
6551         * gst/elements/gsttypefindelement.c:
6552         (gst_type_find_element_handle_event),
6553         (gst_type_find_element_chain):
6554           don't push data when typefinding failed.
6555         * gst/gstpad.c: (gst_pad_link_fixate):
6556           check that no fixate function returns empty caps.
6557         * gst/gstpad.c: (gst_pad_push):
6558           check that the link is negotiated before data gets pushed.
6559         * tools/gst-register.c: (main):
6560           don't assert (fixes #148283)
6561
6562 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6563
6564         * docs/gst/gstreamer-sections.txt:
6565         * docs/gst/tmpl/gstconfig.sgml:
6566           add GST_PLUGIN_EXPORT definition
6567
6568 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6569
6570         * gst/gstplugin.h:
6571         * gst/gstconfig.h.in:
6572         * win32/gstconfig.h:
6573         * win32/gstelements.def:
6574         * win32/gstelements.vcproj:
6575         * win32/gstoptimalscheduler.def:
6576         * win32/gstoptimalscheduler.vcproj:
6577         * win32/gstspider.def:
6578         * win32/gstspider.vcproj:
6579           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
6580
6581 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6582
6583         * docs/gst/gstreamer-sections.txt:
6584           remove GST_CAT_DEFAULT because the type has changed
6585
6586 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6587
6588         * win32/gstbytestream.vcproj:
6589         * win32/gstelements.vcproj:
6590         * win32/gst-inspect.vcproj:
6591         * win32/gst-launch.vcproj:
6592         * win32/gstoptimalscheduler.vcproj:
6593         * win32/GStreamer.vcproj:
6594         * win32/gst-register.vcproj:
6595         * win32/gstspider.vcproj:
6596         * win32/msvc71.sln:
6597           Copy the files where needed after building, The testsuite will be
6598           built separately
6599
6600 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6601
6602         * win32/config.h:
6603         * win32/README.txt:
6604         * docs/manual/win32.xml:
6605         Fixed the plugin and GStreamer location
6606
6607 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6608
6609         * win32/gstreamer.def:
6610         More exports for the plugins
6611
6612 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6613
6614         * gst/gstinfo.h:
6615         Marc was right, we need to export literally GST_CAT_DEFAULT
6616
6617 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6618
6619         * win32/config.h:
6620         NLS crashes in gettext, disabled until this is solved
6621
6622 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6623
6624         * win32/gst-inspect.vcproj:
6625         * win32/gst-launch.vcproj:
6626         Should use NLS when available
6627
6628 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6629
6630         * gst/registries/gstxmlregistry.c:
6631         removing the file doesn't seem to be a good idea on Linux
6632
6633 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6634
6635         * gst/registries/gstxmlregistry.c:
6636         Remove the registry before renaming the tempfile (needed for Windows)
6637
6638 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6639
6640         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
6641         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
6642         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
6643         * gst/elements/gstmultifilesrc.h:
6644         Added newmedia property so it generates newmedia events between each
6645         file when property is set, as well as fixed eos handling
6646
6647 2004-07-22  David Schleef  <ds@schleef.org>
6648
6649         * gst/gststructure.c: (gst_structure_id_empty_new),
6650         (gst_structure_empty_new):  Set type field correctly.
6651         * gst/gststructure.h: Check type field correctly.
6652         * testsuite/caps/Makefile.am:
6653         * testsuite/caps/structure.c: (test1), (main): Add a very small
6654         test for structures.
6655
6656 2004-07-22  David Schleef  <ds@schleef.org>
6657
6658         * docs/random/ds/0.9-suggested-changes: more comments
6659         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
6660
6661 2004-07-22  Benjamin Otte  <otte@gnome.org>
6662
6663         * gst/gstelementfactory.c: (gst_element_register):
6664           set the factory in the class struct, so gst_element_get_factory
6665           actually works
6666         * gst/parse/grammar.y:
6667           set element to playing when it gets unlocked as we can't rely on the
6668           bin state - all elements in the bin state might still be locked in
6669           NULL)
6670
6671 2004-07-22  Benjamin Otte  <otte@gnome.org>
6672
6673         * gst/gstelement.c: (gst_element_set_state_func):
6674           make this a static function
6675
6676 2004-07-22  Wim Taymans  <wim@fluendo.com>
6677
6678         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6679         (gst_opt_scheduler_pad_link):
6680         fix 147894-2 and the group_link problem.
6681
6682 2004-07-22  Wim Taymans  <wim@fluendo.com>
6683
6684         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6685         (handoff_identity), (main):
6686         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6687         (handoff_identity), (main):
6688         * testsuite/schedulers/Makefile.am:
6689         * testsuite/schedulers/group_link.c: (main):
6690         Show bug in scheduler when linking chain and loop based element 
6691         where the chain based element was not yet in a group.
6692
6693 2004-07-21  Benjamin Otte  <otte@gnome.org>
6694
6695         * gst/.cvsignore:
6696         * gst/autoplug/.cvsignore:
6697         * gst/elements/.cvsignore:
6698         * gst/indexers/.cvsignore:
6699         * libs/gst/bytestream/.cvsignore:
6700         * libs/gst/control/.cvsignore:
6701         * libs/gst/getbits/.cvsignore:
6702         * testsuite/states/.cvsignore:
6703         * testsuite/threads/.cvsignore:
6704           keep this up to date, since I seem to be the only one who cares
6705           about not missing files on commits (editor's note: no you don't,
6706           but feel free to change them at the time you add stuff instead
6707           of later on)
6708
6709 2004-07-21  Benjamin Otte  <otte@gnome.org>
6710
6711         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6712         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
6713         (gst_bin_child_state_change_func), (set_kid_state_func),
6714         (gst_bin_set_state), (gst_bin_change_state_norecurse):
6715           make state changes work correctly and reentrant (so removing
6716           elements from bins during state changes of bins doesn't cause
6717           segfaults or even wrong states)
6718           add debugging category and debugging output to print children states
6719         * gst/gstbin.c: (gst_bin_dispose): 
6720           add some assertion checks
6721         * gst/gstbin.h:
6722         * gst/gstbin.c: (gst_bin_sync_children_state):
6723           deprecate this function - it just does gst_bin_set_state (bin,
6724           GST_STATE (bin)) 
6725         * testsuite/threads/queue.c: (main):
6726           don't use gst_bin_sync_children_state anymore
6727         * testsuite/states/Makefile.am:
6728         * testsuite/states/bin.c:
6729           test that the state changes of bins work as expected
6730         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
6731           some adjustments to change states correctly, too
6732         * gst/gstthread.c: (gst_thread_change_state):
6733           don't enable/disable "threadsafe" properties, they're unused and
6734           cause random segfaults
6735         * testsuite/threads/Makefile.am:
6736           the queue check randomly passes now, ignore it
6737
6738 2004-07-21  Benjamin Otte  <otte@gnome.org>
6739
6740         * gst/gstpad.c:
6741           check if data is NULL before outputting debug info. (fixes #145100)
6742
6743 2004-07-21  Benjamin Otte  <otte@gnome.org>
6744
6745         * gst/schedulers/entryscheduler.c:
6746         (gst_entry_scheduler_loop_wrapper),
6747         (gst_entry_scheduler_chain_wrapper),
6748         (gst_entry_scheduler_get_wrapper):
6749           reset the state when the cothread starts, so we don't get assertion
6750           failures on restarting of cothreads
6751
6752 2004-07-20  Benjamin Otte  <otte@gnome.org>
6753
6754         * gst/gstelement.c: (gst_element_link_pads_filtered):
6755           use correct sinkpad, if only sinkpad is specified, but not srcpad
6756           (fixes #147889)
6757         * gst/gstelement.c: (gst_element_set_state_func),
6758         (gst_element_change_state): ref/unref the element, signal handlers
6759         could get rid of the element otherwise
6760
6761 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6762
6763         * docs/random/ds/0.9-suggested-changes:
6764           Make note about renaming fixed-list to array.
6765         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
6766         (_gst_value_initialize):
6767           Add array intersections.
6768         * testsuite/caps/intersect2.c: (main):
6769           Add test for array intersections.
6770
6771 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6772
6773         * configure.ac: back to cvs
6774
6775 === release 0.8.4 ===
6776
6777 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6778
6779         * configure.ac:
6780           releasing 0.8.4, "Paella"
6781           bump libtool versioning
6782
6783 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6784
6785         * po/LINGUAS:
6786         * po/ca.po:
6787           adding Catalan translation (Jordi Mallach)
6788
6789 2004-07-20  Wim Taymans  <wim@fluendo.com>
6790
6791         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6792         (handoff_identity), (main):
6793         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6794         (handoff_identity), (main):
6795         * testsuite/schedulers/Makefile.am:
6796         Added failing testcase for variant of #147894
6797
6798 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6799
6800         patch by: David Moore
6801
6802         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6803         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
6804         (group_migrate_connected):
6805         * testsuite/schedulers/Makefile.am:
6806           fix for #142813 (Deadlock in optimal scheduler)
6807
6808 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6809
6810         patch by: Wim Taymans
6811
6812         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6813         (gst_opt_scheduler_schedule_run_queue),
6814         (gst_opt_scheduler_get_wrapper), (get_group),
6815         (group_migrate_connected):
6816         * testsuite/schedulers/Makefile.am:
6817           fix for #147819 (Add some checks in the opt scheduler)
6818
6819 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6820
6821         patch by: Benjamin Otte
6822
6823         * gst/gstelementfactory.c: (__gst_element_details_set):
6824           fix for #147929: running gst-register in non-utf8 locale can cause
6825           invalid registry
6826
6827 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6828
6829         patch by: Wim Taymans
6830
6831         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
6832         (group_has_element), (element_get_reachables_func),
6833         (group_migrate_connected):
6834           fix for #147894 (opt scheduler decoupled elements mismanagement)
6835         * testsuite/schedulers/Makefile.am:
6836           testsuite app now passes
6837
6838 2004-07-19  Wim Taymans  <wim@fluendo.com>
6839
6840         * testsuite/schedulers/147819.c: (handoff_identity1),
6841         (handoff_identity2), (main):
6842         * testsuite/schedulers/Makefile.am:
6843         Added testcase for bug 147819
6844
6845 2004-07-19  Wim Taymans  <wim@fluendo.com>
6846
6847         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6848         (handoff_identity), (main):
6849         * testsuite/schedulers/Makefile.am:
6850         Added testcase for bug 147894
6851
6852 2004-07-16  Wim Taymans  <wim@fluendo.com>
6853
6854         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
6855         * testsuite/schedulers/142183.c: (handoff_identity), (main):
6856         * testsuite/schedulers/Makefile.am:
6857         Added testsuite for bug 142183 in its two incarnations. Refcount
6858         is not increased for scheduled elements and threadsafe properties
6859         mutexes are not properly unlocked.
6860
6861 2004-07-16  Wim Taymans  <wim@fluendo.com>
6862
6863         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
6864         (create_chain), (destroy_chain), (create_group), (destroy_group),
6865         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
6866         (group_dec_link), (gst_opt_scheduler_pad_link),
6867         (group_inc_links_for_element), (group_migrate_connected):
6868         Call group_inc_link with the proper src->sink ordering -- 
6869         break this, and we break sort_chain. patch from wingo for bug
6870         147713.
6871         Partially revert patch 1.89. When adding a loop based element to 
6872         the scheduler, the links to other groups are automatically followed
6873         and incremented. This should not happen because the bin will call
6874         pad_link explicitly for those connection, resulting in them counted 
6875         twice. Results in assertion failure on pipeline cleanup.
6876
6877 2004-07-16  Wim Taymans  <wim@fluendo.com>
6878
6879         * testsuite/schedulers/143777-2.c: (main):
6880         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
6881         (main):
6882         * testsuite/schedulers/Makefile.am:
6883         Added cleanup code to testcase 143777-2.
6884         Added testcase to show bug 147713, does not really show the
6885         deadlock as I can't figure out how to trigger it, but it does
6886         demonstrate bad ordering in the scheduler.
6887
6888 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6889
6890         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6891           change strndup to g_strndup.  Fixes #147707
6892
6893 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6894
6895         * po/af.po:
6896         * po/az.po:
6897         * po/cs.po:
6898         * po/en_GB.po:
6899         * po/fr.po:
6900         * po/nl.po:
6901         * po/sr.po:
6902         * po/sv.po:
6903         * po/tr.po:
6904         * po/uk.po:
6905           updated translations
6906
6907 2004-07-16  Benjamin Otte  <otte@gnome.org>
6908
6909         * gst/gstvalue.c: (gst_greatest_common_divisor):
6910           use ints and return ints, fractions only use ints, too, so this
6911           avoids accidently casting multiplications to unsigned
6912         (gst_value_lcopy_fraction): it's ints, not uint32
6913         (gst_value_set_fraction): disallow minint, multiplying and negation
6914           are broken with it
6915         (gst_value_fraction_multiply): fix to make large numbers work and get
6916         rid of the assumption that the multiplication of two ints fits an
6917         int64 - dunno if that's true for all systems
6918         * testsuite/caps/Makefile.am:
6919         * testsuite/caps/fraction-multiply-and-zero.c:
6920         (check_multiplication), (check_equal), (zero_test), (main):
6921           add tests for all the stuff above
6922         * testsuite/caps/value_compare.c: (test1):
6923           fix comment
6924         * tests/.cvsignore:
6925         * testsuite/caps/.cvsignore:
6926         * testsuite/debug/.cvsignore:
6927         * testsuite/dlopen/.cvsignore:
6928         * testsuite/states/.cvsignore:
6929           get up to date
6930
6931 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6932
6933         * docs/manual/bins-api.xml:
6934         * docs/manual/factories.xml:
6935         * docs/manual/helloworld.xml:
6936         * docs/manual/links-api.xml: 
6937           fixes for out of date info, incorrect info and grammar
6938
6939 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6940
6941         * docs/manual/pads.xml:
6942         * docs/manual/pads-api.xml: grammar fix
6943
6944 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6945
6946         * docs/manual/pads-api.xml: typo + grammar fix
6947
6948 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6949
6950         * docs/gst/gstreamer-sections.txt:
6951           add new symbols
6952         * docs/gst/tmpl/gstelement.sgml:
6953         * docs/gst/tmpl/gstpad.sgml:
6954         * docs/gst/tmpl/gsttypes.sgml:
6955         * docs/gst/tmpl/gstvalue.sgml:
6956           update docs
6957         * gst/gststructure.c: (gst_structure_set_valist),
6958         (gst_structure_from_abbr), (gst_structure_to_abbr):
6959         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
6960         (gst_greatest_common_divisor), (gst_value_init_fraction),
6961         (gst_value_copy_fraction), (gst_value_collect_fraction),
6962         (gst_value_lcopy_fraction), (gst_value_set_fraction),
6963         (gst_value_get_fraction_numerator),
6964         (gst_value_get_fraction_denominator),
6965         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
6966         (gst_value_deserialize_fraction),
6967         (gst_value_transform_fraction_string),
6968         (gst_value_transform_string_fraction),
6969         (gst_value_compare_fraction), (_gst_value_initialize):
6970         * gst/gstvalue.h:
6971           adding GstFraction GValue type, get/set, and multiply
6972         * testsuite/caps/Makefile.am:
6973         * testsuite/caps/fraction.c: (test), (main):
6974         * testsuite/caps/string-conversions.c: (main):
6975         * testsuite/caps/value_compare.c: (test1), (main):
6976           add regression tests for GstFraction
6977
6978 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6979         
6980         * docs/manual/init-api.xml: Grammar fix
6981
6982 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6983
6984         * docs/manual/states.xml: Fix inconsistent information
6985
6986 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6987
6988         * gst/gstelement.c: (gst_element_set_state):
6989         * gst/gstpad.c: (gst_pad_try_set_caps):
6990         * gst/gststructure.c:
6991         * gst/gstthread.c: (gst_thread_child_state_change):
6992         * gst/gstvalue.c: (gst_value_compare_double):
6993         * gst/gstvalue.h:
6994         * testsuite/parse/parse1.c: (main):
6995           debugging additions and style cleanups
6996
6997 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6998
6999         * docs/manual/states.xml: Grammar fix
7000
7001 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7002
7003         * docs/manual/pads.xml: Grammar fix
7004
7005 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7006
7007         * docs/manual/elements.xml: Fixed image reference
7008
7009 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7010
7011         * docs/manual/goals.xml: Grammar fix
7012
7013 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7014
7015         * docs/manual/motivation.xml:
7016         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7017
7018 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7019
7020         * docs/manual/motivation.xml: Fix spelling
7021
7022 2004-07-15  Benjamin Otte  <otte@gnome.org>
7023
7024         * gst/gstelement.h: 
7025           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7026           strings.
7027         * gst/gstelement.c (gst_element_class_init):
7028           GError's are boxed, not objects
7029         * gst/gstmarshal.list:
7030           update list for the fixed error signal
7031
7032 2004-07-14  Andy Wingo  <wingo@pobox.com>
7033
7034         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7035         there all along, but the function wasn't. (guile-gstreamer's build
7036         system uses the address of the function -- I wasn't actually
7037         trying to use this.)
7038
7039 2004-07-14  Andy Wingo  <wingo@pobox.com>
7040
7041         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7042         as gst_pad_proxy_pad_link) just link to every other pad when they
7043         are called. In the case where the graph has cycles, this will mean
7044         that a call to try_set_caps will recurse. Allow this recursion
7045         and return OK, while we wait for the first try_set_caps to give a
7046         proper return value.
7047         (gst_pad_link_call_link_functions): Since this function is the
7048         only one to set the NEGOTIATING flag on a pad, if the flag is set
7049         it means that the link functions have indirectly recursed. If this
7050         happens, error out to avoid infinite recursion and an eventual
7051         SEGV.
7052         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7053         (gst_pad_proxy_getcaps): Intersect the result with the template
7054         caps to ensure that the return value is valid.
7055
7056 2004-07-14  Andy Wingo  <wingo@pobox.com>
7057
7058         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7059         one refcount, the calling function is the owner of the buffer.
7060
7061 2004-07-14  Wim Taymans  <wim@fluendo.com>
7062
7063         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7064         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7065         Fix stupid warning when an element is to be migrated but
7066         is already migrated.
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         Make sure that a single non-loop-based element does not 
7073         end up in a group. This fixes the testsuite again.
7074
7075 2004-07-14  Wim Taymans  <wim@fluendo.com>
7076
7077         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7078         (add_to_group), (merge_groups), (schedule_group),
7079         (gst_opt_scheduler_get_wrapper), (group_elements),
7080         (group_dec_link), (gst_opt_scheduler_pad_link),
7081         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7082         (gst_opt_scheduler_iterate):
7083         move isolated groups to a new chain.
7084         Emit a warning instead of segfaulting in some error cases.
7085         Fix a bug where the link count between groups was not calculated 
7086         correctly. Fixes #144510.
7087
7088 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7089         * gst/elements/gstfilesrc.c:
7090           Binary files support under Windows now OK
7091       
7092 2004-07-13  Benjamin Otte  <otte@gnome.org>
7093
7094           compatibility fixes for Solaris 8/gcc 2.95
7095         * configure.ac:
7096           include libintl libs in LDFLAGS
7097         * gstvalue.c (gst_value_deserialize_buffer):
7098           cast isxdigit stuff to int to silence compiler warning
7099
7100 2004-07-12  Benjamin Otte  <otte@gnome.org>
7101
7102         * gst/gsttypes.h:
7103           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7104           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7105           just causes support madness
7106         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7107           make it work without this
7108         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7109         (gst_file_index_commit):
7110           glib IO channels don't want binary mode
7111         * testsuite/bytestream/filepadsink.c: (main):
7112         * testsuite/bytestream/test1.c: (read_param_file):
7113           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7114
7115 2004-07-12  Benjamin Otte  <otte@gnome.org>
7116
7117         * gst/gstelement.c: (gst_element_class_init),
7118         (gst_element_set_state), (gst_element_set_state_func):
7119           virutalize gst_element_set_state, use set_state member in class
7120           struct that was already added in 0.7 for this.
7121         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7122         (gst_bin_change_state):
7123           make gst_bin_foreach works similar to other foreach functions, plug
7124           memleaks in it. Make functions using it work with the new approach.
7125           Document gst_bin_foreach, so it can be exported if we want to
7126         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7127           use virtualized set_state to make set_state on bins set the state of
7128           all its children.
7129
7130 2004-07-12  Benjamin Otte  <otte@gnome.org>
7131
7132         * configure.ac:
7133           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7134           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7135         * gst/gstpad.c: (gst_pad_alloc_buffer):
7136           allow buffer_alloc functions to return NULL and allocate a normal
7137           buffer in that case
7138
7139 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7140         * gst/elements/gstfilesink.c:
7141         * gst/elements/gstfilesrc.c:
7142         * gst/indexers/gstfileindex.c:
7143         * gst/gsttypes.h:
7144         * testsuite/bytestream/filepadsink.c:
7145         * testsuite/bytestream/test1.c:
7146           Handle binary files under Windows
7147
7148 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7149         * docs/manual/win32.xml:
7150         * win32/config.h:
7151         * win32/gst-register.vcproj:
7152         * win32/gstreamer.def:
7153           Update to another gettext public build
7154
7155 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7156         * gst/gstplugin.c:
7157           Fix an impossible C syntax
7158         * win32/config.h:
7159           Disable i18n under Windows for the moment
7160         * win32/gst-register.vcproj:
7161           Use this configuration
7162
7163 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7164         * docs/manual/quotes.xml:
7165           Keep the quotes file alive
7166         * docs/random/ds/0.9-suggested-changes:
7167           Add the suggestion of including a 'rowstride' as part of video
7168           format caps
7169
7170 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7171
7172         * gst/gstelement.c: (gst_element_set_state),
7173         (gst_element_change_state):
7174           d'oh.  Set PENDING state correctly before forcing bin to change.
7175         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7176         (gst_structure_parse_fixed_list):
7177         * gst/schedulers/gstoptimalscheduler.c:
7178         (gst_opt_scheduler_state_transition):
7179         * testsuite/states/parent.c: (main):
7180           remove comment now that it's fixed.
7181
7182 2004-07-11  Benjamin Otte  <otte@gnome.org>
7183
7184         * gst/gstclock.h:
7185           GST_SECOND shouldn't cause a conversion to unsigned.
7186         * testsuite/clock/.cvsignore:
7187         * testsuite/clock/Makefile.am:
7188         * testsuite/clock/signedness.c: (main):
7189           make sure it never will again
7190
7191 2004-07-11  Andy Wingo  <wingo@pobox.com>
7192
7193         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7194         whose state is higher than the bin state, raise the bin state to
7195         ensure that bin state := highest child state.
7196         
7197 2004-07-11  Andy Wingo  <wingo@pobox.com>
7198
7199         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7200         procedure on the children of a bin. Assumes that the procedure can
7201         change the set of children.
7202         (set_kid_state_func): New static function.
7203         (gst_bin_change_state): Use gst_bin_foreach to call
7204         set_kid_state_func. Fixes a bug: if a child had a state-change
7205         handler that removes it from the bin, there would be a segfault.
7206         Hopefully it should also work in the case where the state-change
7207         handler on one child adds or removes other children. In any case,
7208         fixes should go to gst_bin_foreach.
7209
7210 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7211
7212         * gst/gstelement.c: (gst_element_set_state):
7213           compatibility fix for latest plugins release.  Change loop back
7214           to while {}
7215
7216 2004-07-09  Wim Taymans  <wim@fluendo.com>
7217
7218         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7219         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7220         (gst_thread_main_loop):
7221         Since remove is virtual in GstBin we must not assume the 
7222         elements GList to have anothing useful.
7223         Add some more logging to GstThread and be a bit more paranoid
7224         when resetting the scheduler.
7225         Set the state of the bin to NULL before removing the children.
7226
7227 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7228
7229         * testsuite/threads/Makefile.am:
7230         * testsuite/threads/threadg.c:
7231           added test to check if problem when removing all elements from a
7232           GstThread before setting GstThread state to NULL
7233
7234 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7235
7236         * docs/gst/tmpl/gstelement.sgml:
7237         * docs/gst/tmpl/gsttypes.sgml:
7238         * gst/gstbin.c: (gst_bin_change_state):
7239         * gst/gstelement.c: (gst_element_set_state),
7240         (gst_element_change_state):
7241           rework so that for bins we try to set the state on all children
7242           as well even if the bin is in the correct state already.
7243           change while to do so at least one iteration is done.
7244           For regular elements, we fall back to the previous behaviour for
7245           now since we first need a new plugins release.
7246         * testsuite/states/parent.c: (main):
7247           test for this case
7248           Fixes #123774
7249
7250 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7251
7252         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7253         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7254         (gst_queue_release_locks), (gst_queue_change_state),
7255         (gst_queue_set_property):
7256           add proper lock debugging.  Change dispose to finalize, since
7257           we're freeing mutexes and other stuff which should happen only once.
7258
7259 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7260
7261         * docs/gst/tmpl/gstelement.sgml:
7262         * docs/gst/tmpl/gstplugin.sgml:
7263         * docs/gst/tmpl/gsttypes.sgml:
7264         * docs/pwg/building-state.xml:
7265         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7266         * gst/gstelement.c: (gst_element_change_state):
7267         * gst/gstthread.c: (gst_thread_change_state):
7268           catch wrong state changes in element base class.
7269
7270 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7271
7272         * gst/gstinfo.h:
7273           clean up layout a little.
7274
7275 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7276
7277         * configure.ac:
7278         * testsuite/Makefile.am:
7279         * testsuite/states/Makefile.am:
7280         * testsuite/states/parent.c: (main):
7281           re-enable states testsuite dir.  Add test for state changes and
7282           parent behaviour
7283
7284 2004-07-09  Wim Taymans  <wim@fluendo.com>
7285
7286         * gst/schedulers/gstoptimalscheduler.c:
7287         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7288         (element_get_reachables_func), (element_get_reachables),
7289         (debug_element), (rechain_group), (group_migrate_connected),
7290         (gst_opt_scheduler_pad_unlink):
7291         Do not try to migrate decoupled elements to a new group since
7292         they are not added to groups.
7293
7294 2004-07-08  Benjamin Otte  <otte@gnome.org>
7295
7296         * gst/gstelement.c: (gst_element_error_func):
7297           make reentrant (= allow removing elements in error handler)
7298
7299 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7300
7301         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7302         (gst_pad_send_event), (gst_pad_call_chain_function):
7303           events sent to elements below PAUSED cannot be handled, so
7304           don't try to
7305
7306 2004-07-08  Wim Taymans  <wim@fluendo.com>
7307
7308         * gst/schedulers/gstoptimalscheduler.c:
7309         (chain_recursively_migrate_group), (create_group),
7310         (schedule_group), (gst_opt_scheduler_pad_link),
7311         (group_elements_set_visited), (element_get_reachables_func),
7312         (element_get_reachables), (group_can_reach_group), (debug_element),
7313         (rechain_group), (group_migrate_connected),
7314         (gst_opt_scheduler_pad_unlink):
7315         * testsuite/schedulers/Makefile.am:
7316         Implemented group splitting and rechaining.
7317         Fixes 143777 and 143777-2 in the testsuite.
7318
7319 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7320
7321         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7322           extra debugging
7323         * gst/gstevent.h:
7324         * gst/gstinfo.c: (gst_debug_log_default):
7325           print time nicely.  add thread pointer until someone figures out
7326           a completely portable way of getting at thread id's.
7327         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7328         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7329         (gst_pad_call_chain_function):
7330           extra debugging
7331         * gst/schedulers/gstoptimalscheduler.c:
7332         (get_group_schedule_function), (loop_group_schedule_function),
7333         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7334         (pad_clear_queued), (gst_opt_scheduler_iterate):
7335           rename BUFPEN and friends to DATAPEN since that's what they are.
7336
7337 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7338
7339         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7340         * gst/gstbuffer.h:
7341         * gst/gstpad.c:
7342           cleanups and debugging
7343
7344 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7345
7346         * configure.ac:
7347         * gst/gstvalue.c: (gst_value_compare_enum),
7348         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7349         (gst_value_can_compare), (gst_value_compare):
7350         * testsuite/Makefile.am:
7351         * testsuite/enumcaps/Makefile.am:
7352         * testsuite/enumcaps/enumcaps.c:
7353           Fix enum serialization, deserialization, comparison in caps, add
7354           a test to ensure that this continues working in the future.
7355
7356 2004-07-06  David Schleef  <ds@schleef.org>
7357
7358         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7359         Fix memleak.
7360
7361 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7362
7363         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7364         * gst/gstplugin.h:
7365         * gst/registries/gstxmlregistry.c:
7366         (plugin_times_older_than_recurse), (plugin_times_older_than),
7367         (gst_xml_registry_parse_padtemplate):
7368           only rebuild registry when actual plugins have a newer time than
7369           the registry.  Fixes #145520
7370
7371 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7372
7373         * docs/manual/manual.xml:
7374         * docs/manual/win32.xml:
7375           add chapter on win32 building.  fixes #142422
7376
7377 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7378
7379         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7380
7381         * gst/autoplug/gstspider.c: (gst_spider_init),
7382         (gst_spider_dispose):
7383           fix spider memleaks.  fixes #137863
7384
7385 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7386
7387         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7388
7389         * gst/schedulers/gstoptimalscheduler.c:
7390         (gst_opt_scheduler_pad_unlink):
7391           fix SIGBUS error, fixes #145338
7392
7393 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7394
7395         * gst/gstobject.c: (gst_object_replace):
7396         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7397         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7398           clean up clock lifecycle.  Fixes #109831
7399
7400 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7401
7402         * po/LINGUAS:
7403         * po/cs.po:
7404           added Czech translation (Miloslav Trmac)
7405
7406 2004-07-04  David Schleef  <ds@schleef.org>
7407
7408         * tools/Makefile.am:
7409         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7410
7411 2004-07-04  David Schleef  <ds@schleef.org>
7412
7413         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7414
7415 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7416
7417         * gst/gstbin.c: (gst_bin_restore_thyself):
7418           chain to parent restore so the bins get restored correctly
7419           in the editor
7420
7421 2004-07-03  David Schleef  <ds@schleef.org>
7422
7423         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7424         Actually do something in these functions, like before the big
7425         caps change.  (bug #145137)
7426
7427 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7428
7429         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7430         (gst_element_get_compatible_pad_filtered):
7431         * gst/gstthread.c: (gst_thread_main_loop):
7432           more debugging
7433
7434 2004-07-02  David Schleef  <ds@schleef.org>
7435
7436         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7437         * gst/gstobject.h:
7438         * gst/gstparse.h:
7439         * gst/gsttrace.h:
7440         * gst/gstxml.h:
7441
7442 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7443
7444         * gst/gstpad.c: (gst_pad_check_schedulers),
7445         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7446         (gst_pad_link_prepare):
7447           revert until testsuite is fixed
7448
7449 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7450
7451         * testsuite/Makefile.am:
7452         * testsuite/caps/filtercaps.c: (main):
7453         * testsuite/clock/clock1.c: (main):
7454         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7455           fix some more tests
7456
7457 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7458
7459         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7460         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7461         * testsuite/cleanup/cleanup4.c: (main):
7462           fix testsuite
7463
7464 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7465
7466         * libs/gst/control/control.c:
7467         * libs/gst/control/dparam.c:
7468         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
7469         * libs/gst/control/dparammanager.c:
7470         * libs/gst/control/dparammanager.h:
7471         * testsuite/dynparams/Makefile.am:
7472         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
7473         (gst_dptest_change_state), (gst_dptest_chain), (main):
7474           fix testcase for dparams
7475           add debugging category
7476
7477 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7478
7479         * testsuite/Rules:
7480           change path
7481
7482 2004-07-02  Benjamin Otte  <otte@gnome.org>
7483
7484         * tests/.cvsignore:
7485         * tests/Makefile.am:
7486         * tests/mass_elements.c: (gst_get_current_time), (main):
7487           add simple benchmark to test various speeds of fakesrc ! identity !
7488           identity ! ... ! fakesink.
7489           Usage: mass_elements [num_identities] [num_buffers]
7490           If not specified they default to 1000.
7491
7492 2004-07-02  Benjamin Otte  <otte@gnome.org>
7493
7494         * gst/gstpad.c: (gst_pad_check_schedulers),
7495         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7496         (gst_pad_link_prepare):
7497           check that pads that get linked belong to the same manager. The old
7498           code allowed linking elements before putting them into bins, so it
7499           worked to link them and then put them in different threads, which
7500           lead to weird behaviour.
7501           Since this effectively disallows linking elements before putting
7502           them in a bin, some applications might not work after this and error
7503           out. If these applications are too critical, we might need to revert
7504           that patch. Please test this before the next release...
7505
7506 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7507
7508         * gst/gstpad.c: (gst_pad_get_caps):
7509           throw an error if the getcaps function does not return a subset of
7510           the template caps.
7511         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
7512           make disconts without position info an error in debugging
7513         * tests/spidey_bench.c: (handoff), (main):
7514           don't count first try when averaging
7515
7516 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7517
7518         * gst/gstplugin.c: (gst_plugin_load_file):
7519           figure out problem with dynamic test
7520
7521 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7522
7523         * docs/gst/Makefile.am:
7524           fix docs build
7525
7526 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7527
7528         * po/POTFILES.in:
7529         * po/af.po:
7530         * po/az.po:
7531         * po/en_GB.po:
7532         * po/fr.po:
7533         * po/nl.po:
7534         * po/sr.po:
7535         * po/sv.po:
7536         * po/tr.po:
7537         * po/uk.po:
7538         * tools/gst-register.c: (plugin_added_func), (main):
7539           i18n-ize -register, fix plural
7540
7541 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7542
7543         * gst/elements/gstidentity.c: (gst_identity_class_init),
7544         (gst_identity_init), (gst_identity_chain),
7545         (gst_identity_set_property), (gst_identity_get_property):
7546         * gst/elements/gstidentity.h:
7547           check for perfect stream
7548
7549 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7550
7551         * gst/elements/gstidentity.c: (gst_identity_chain):
7552           print offset_end
7553
7554 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7555
7556         * docs/gst/Makefile.am:
7557         * docs/gst/gstreamer-docs.sgml:
7558           doc fixes
7559
7560 2004-06-24  David Schleef  <ds@schleef.org>
7561
7562         * autogen.sh:  Remove call to env, since the buildbot isn't
7563         broken anymore.
7564
7565 2004-06-24  Wim Taymans  <wim@fluendo.com>
7566
7567         * gst/elements/Makefile.am:
7568         * gst/elements/gstelements.c:
7569         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
7570         (gst_multifdsink_class_init), (gst_multifdsink_init),
7571         (gst_multifdsink_add), (gst_multifdsink_remove),
7572         (gst_multifdsink_clear), (gst_multifdsink_chain),
7573         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
7574         * gst/elements/gstmultifdsink.h:
7575         Added an element that writes to multiple filedescriptors at once.
7576
7577 2004-06-24  Benjamin Otte  <otte@gnome.org>
7578
7579         * gst/parse/grammar.y:
7580           don't try to link elements before they have been added to bins
7581
7582 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7583
7584         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
7585         (gst_file_pad_get_length):
7586         * libs/gst/bytestream/filepad.h:
7587           add 2 new functions
7588
7589 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7590
7591         * docs/gst/gstreamer-sections.txt:
7592         remove from docs, the define that Benjamin removed from gstelement.h
7593
7594 2004-06-22  Benjamin Otte  <otte@gnome.org>
7595
7596         * gst/gstelement.h:
7597           remove define that referenced a nonexisting GstElement struct member
7598
7599 2004-06-20  Benjamin Otte  <otte@gnome.org>
7600
7601         * gst/gstdata.c: (gst_data_is_writable):
7602           whoops, return values were wrong, so writable data was marked as
7603           non-writable and vice versa. (fixes #143953, spotted by Francis
7604           Labonte)
7605           Shows how rarely we need to copy data ;)
7606
7607 2004-06-20  Benjamin Otte  <otte@gnome.org>
7608
7609         * testsuite/schedulers/.cvsignore:
7610         * testsuite/schedulers/Makefile.am:
7611         * testsuite/schedulers/143777-2.c: (main):
7612           add test for opt breakage in bug #143777
7613
7614 2004-06-20  Benjamin Otte  <otte@gnome.org>
7615
7616         * gst/gstpad.c: (gst_pad_call_chain_function):
7617           check for if we were unlinked while inside the chainfunction (fixes
7618           entrygthread having issues with #143777)
7619         * testsuite/schedulers/143777.c: (main):
7620         * testsuite/schedulers/Makefile.am:
7621           add a test for that fix
7622
7623 2004-06-20  Benjamin Otte  <otte@gnome.org>
7624
7625         * gst/gstvalue.c: (gst_value_set_int_range):
7626           test that start is smaller then end
7627         * libs/gst/bytestream/Makefile.am:
7628         * libs/gst/bytestream/filepad.c: 
7629         * libs/gst/bytestream/filepad.h:
7630           add GstFilePad - a pad that behaves like a FILE*
7631         * testsuite/bytestream/.cvsignore:
7632         * testsuite/bytestream/Makefile.am:
7633         * testsuite/bytestream/filepadsink.c: 
7634           test for the GstFilePad
7635
7636 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7637
7638         * gst/elements/gstidentity.c: (gst_identity_class_init),
7639         (gst_identity_init), (gst_identity_set_clock),
7640         (gst_identity_chain), (gst_identity_set_property),
7641         (gst_identity_get_property):
7642         * gst/elements/gstidentity.h:
7643         * gst/gstclock.c: (gst_clock_id_wait):
7644           add a "sync" property to sync to the clock
7645
7646 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7647
7648         * gst/gstelementfactory.c: (gst_element_factory_create):
7649           make the freakin "elementfactory bla has no type" message more
7650           useful. So we actually can do something when someone shows up
7651           complaining about it.
7652
7653 2004-06-15  Johan Dahlin  <johan@gnome.org>
7654
7655         * tools/gst-inspect.c (main): Fallback to plugin if no element is
7656         found. This matches the old behavior better. Thanks to Thomas for
7657         pointing out.
7658
7659 2004-06-14  David Schleef  <ds@schleef.org>
7660
7661         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
7662         -fomit-frame-pointer.  Appears to generate correct code in
7663         other cases as well.
7664
7665 2004-06-14  Johan Dahlin  <johan@gnome.org>
7666
7667         * tools/gst-inspect.c (main): Add two new command line options: -a
7668         to print all elements and -n to print the name on each line. Also
7669         fix some error reporting.
7670         (main): Simplify, remove -n and always print names if -a is specified
7671
7672 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
7673
7674         * win32/gstconfig.h:
7675         * win32/GSTreamer.vcproj:
7676         * win32/Makefile:
7677         * gst/gstconfig.h.in:
7678         * gst/gst.h:
7679         * gst/gstbin.h:
7680         * gst/gstelement.h:
7681         * gst/gstevent.h:
7682         * gst/gstobject.h:
7683         * gst/gstpad.h:
7684         * docs/gst/gstreamer-sections.txt:
7685         * docs/gst/tmpl/gstconfig.sgml:
7686           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
7687
7688 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7689         * docs/gst/gstreamer-sections.txt:
7690         * docs/gst/tmpl/gstconfig.sgml:
7691         Add the GSTREAMER_EXPORT macro to the docs
7692
7693 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7694
7695         * tools/gst-compprep.c: (handle_xmlerror), (main):
7696         Add a check for the version that introduced SetStructuredError to fix
7697         the build on FC1
7698
7699 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7700
7701         * win32/msvc71.sln:
7702         * win32/testsuite/:
7703           prepare to compile the testsuite with MSVC
7704
7705 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7706
7707         * docs/manual/win32.xml:
7708           attempt to transform the Win32 README into an XML doc
7709
7710 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7711
7712         * gst/gst.c:
7713         * gst/gstbin.*:
7714         * gst/config.h.in:
7715         * gst/gstelement.*:
7716         * gst/gstevent.h:
7717         * gst/gstobject.*:
7718         * gst/gstpad.h:
7719         * tools/gst-register.c:
7720         * win32/gstreamer.def:
7721           extern symbols are now exported for the Windows DLL
7722
7723 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7724
7725         * gst/gstinfo.h:
7726           fix a problem to enable/disable DEBUG under MSVC
7727
7728 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7729
7730         * win32/:
7731           enable more debug code in DEBUG build
7732
7733 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7734
7735         * win32/config.h:
7736         * gst/gst-i18n-app.h:
7737           enable NLS under Windows
7738
7739 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
7740         * tools/gst-compprep.c: (handle_xmlerror), (main):
7741           Make an error that baffled me a bit clearer
7742
7743 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7744
7745         * gst/gstqueue.c:
7746           don't use g_queue_get_length () because it's 2.4, use ->length
7747
7748 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
7749
7750         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
7751
7752         * tools/gst-inspect.c: (print_signal_info):
7753           don't free random data twice. (fixes #144185)
7754
7755 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7756
7757         * gst/gstqueue.c:
7758         * gst/gstqueue.h:
7759           fix removing from the wrong queue on event timeout
7760           fix disposing of the event queue by casting correctly
7761           add mutexes for handling the event queue
7762           someone was sleeping when fixing queue last time around :)
7763
7764 2004-06-10  Johan Dahlin  <johan@gnome.org>
7765
7766         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
7767         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
7768
7769 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7770
7771         * docs/random/gdp:
7772         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
7773         * libs/gst/dataprotocol/dataprotocol.c:
7774         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7775         (gst_dp_buffer_from_header):
7776         * libs/gst/dataprotocol/dataprotocol.h:
7777         * libs/gst/dataprotocol/dp-private.h:
7778           rev version to 0.1, add buffer flags and copy them
7779
7780 2004-06-09  Johan Dahlin  <johan@gnome.org>
7781
7782         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
7783         the flags from the buffer we're copying.
7784
7785 2004-06-09  Wim Taymans  <wim@fluendo.com>
7786
7787         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
7788         * gst/elements/gstidentity.c: (gst_identity_init),
7789         (gst_identity_chain):
7790         Print more buffer info in fakesink.
7791         Make identity output similar to fakesink.
7792
7793 2004-06-07  Daniel Gazard  <dany42@free.fr>
7794
7795         reviewed by Benjamin Otte  <otte@gnome.org>
7796
7797         * configure.ac:
7798           fix cross compiling not working. (fixes #143741)
7799
7800 2004-06-07  Benjamin Otte  <otte@gnome.org>
7801
7802         * gst/gstelement.c: (gst_element_set_time_delay):
7803           add failure check
7804         * gst/gstinfo.h:
7805           put brackets around macro arguments of GST_TIME_ARGS, add note to
7806           move it to correct header in 0.9
7807
7808 2004-06-07  Benjamin Otte  <otte@gnome.org>
7809
7810         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
7811         (gst_file_index_load), (_file_index_id_save_entries),
7812         (gst_file_index_commit), (gst_file_index_add_association),
7813         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
7814         (gst_file_index_plugin_init):
7815           make debugging use a default category
7816
7817 2004-06-06  David Moore  <dcm@acm.org>
7818
7819         reviewed by Benjamin Otte  <otte@gnome.org>
7820
7821         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7822         (gst_fdsrc_change_state):
7823           reset offset counter when going READY => PAUSED. (fixes #142903)
7824
7825 2004-06-06  ed@catmur.co.uk
7826
7827         reviewed by Benjamin Otte  <otte@gnome.org>
7828
7829         * gst/registries/gstxmlregistry.c:
7830         (gst_xml_registry_rebuild_recurse):
7831           don't rely on g_dir_open to figure out if a file is a directory, use
7832           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
7833           directories. (fixes #142850)
7834
7835 2004-06-06  Benjamin Otte  <otte@gnome.org>
7836
7837         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
7838           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
7839         * libs/gst/bytestream/adapter.c:
7840         * libs/gst/bytestream/adapter.h:
7841           fix copyright in header and typo in debugging category name
7842
7843 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7844
7845         * configure.ac:
7846           bump nano to cvs
7847
7848 === release 0.8.3 ===
7849
7850 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7851
7852         * configure.ac:
7853           update libtool versioning
7854           do a new release
7855         * docs/gst/tmpl/gstelement.sgml:
7856         * docs/gst/tmpl/gsttypes.sgml:
7857         * gst/gstinfo.c: (_gst_debug_init):
7858           put back GST_CAT_DATAFLOW to fix API breakage
7859
7860 2004-06-04  David Schleef  <ds@schleef.org>
7861
7862         * autogen.sh: Add a temporary 'env' to test buildbot problems.
7863
7864 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7865
7866         * configure.ac:
7867           bump nano to cvs
7868
7869 === release 0.8.2 ===
7870
7871 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7872
7873         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
7874           check GST_DEBUG environment variable which is parsed the same way
7875           as --gst-debug=
7876
7877 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7878
7879         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
7880                             gstmd5sink.c gstshaper.c gsttee.c
7881                             gsttypefindelement.c
7882         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
7883
7884           - removing trailing commas at end of enums
7885             it is correct C99 code but C90 compilers would complain
7886             (AIX, Forte, ...)
7887             ('should' fix #143290, at least partially)
7888
7889 2004-05-27  Wim Taymans  <wim@fluendo.com>
7890
7891         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
7892         (chain_group_set_enabled), (create_group), (add_to_group),
7893         (merge_groups), (setup_group_scheduler), (group_elements),
7894         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
7895         Don't try to follow the pad connections with other groups
7896         when a loop based element is added to the scheduler because
7897         the bin will inform the scheduler about the pad links a little
7898         later.
7899
7900 2004-05-27  Wim Taymans  <wim@fluendo.com>
7901
7902         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7903         (remove_from_chain), (chain_group_set_enabled),
7904         (setup_group_scheduler), (group_element_set_enabled),
7905         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
7906         (gst_opt_scheduler_show):
7907         Elements without a group can do a state change as well, just wait
7908         with the setup of the scheduling function when it is added to a
7909         chain.
7910
7911 2004-05-27  Wim Taymans  <wim@fluendo.com>
7912
7913         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7914         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
7915         (merge_groups), (setup_group_scheduler),
7916         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
7917         (gst_opt_scheduler_show):
7918         Fixes to maintain internal consistency of the scheduler data
7919         structures. 
7920          - adding an enabled group to a chain should increment the
7921            number of enabled elements in that chain.
7922          - removing an enabled group from a chain could disable the
7923            chain.
7924          - removing a disabled group from a chain could enable the
7925            chain.
7926          - add g_assert when internal inconsistency is detected.
7927          - adding an element to a group could increase the number of
7928            links this group has with other groups.
7929          - merging two groups also merges the chains.
7930          - also show group links in the _show method.
7931            
7932
7933 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7934
7935         * gst/gstcaps.c: (gst_caps_structure_simplify):
7936           don't print error messages when there is no error
7937         * gst/gstvalue.c: (gst_value_compare_int_range):
7938           compare the second value, too
7939         * testsuite/caps/Makefile.am:
7940         * testsuite/caps/random.c: (assert_on_error), (main):
7941           add tests to make sure the two things above are checked for
7942
7943 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7944
7945         * configure.ac:
7946         * libs/gst/dataprotocol/Makefile.am:
7947         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
7948         * libs/gst/dataprotocol/dataprotocol.h:
7949           wrap header in GST_ENABLE_NEW.  make code use it
7950
7951 2004-05-23  Johan Dahlin  <johan@gnome.org>
7952
7953         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
7954         so verbose and print GstElement signal names all the time.
7955
7956 2004-05-22  David Schleef  <ds@schleef.org>
7957
7958         * gst/registries/gstxmlregistry.c:
7959         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
7960         (bug #142957)
7961
7962 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7963
7964         * configure.ac:
7965           scrub cflags for glib2 so gcc doesn't complain when glib is in
7966           /usr/local
7967
7968 2004-05-21  Johan Dahlin  <johan@gnome.org>
7969
7970         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
7971         __GNUC__, patch from Brian Cameron, fixes bug #142804
7972
7973 2004-05-20  David Schleef  <ds@schleef.org>
7974
7975         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
7976         comparison code.  (bug #142819)
7977
7978 2004-05-20  Wim Taymans  <wim@fluendo.com>
7979
7980         * gst/gstbuffer.c: (gst_buffer_default_copy):
7981         * gst/gstbuffer.h:
7982         Added Comment to a flag.
7983         copy relevant flags in _buffer_copy.
7984
7985 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7986
7987         reviewed by: Wim Taymans <wim at fluendo dot com>
7988
7989         * gst/gstbuffer.h:
7990           add GST_BUFFER_IN_CAPS buffer flag
7991         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7992         (gst_structure_parse_any_list), (gst_structure_parse_list),
7993         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
7994         * gst/gstvalue.c: (gst_value_serialize_any_list),
7995         (gst_value_transform_any_list_string),
7996         (gst_value_list_prepend_value), (gst_value_list_append_value),
7997         (gst_value_list_get_size), (gst_value_list_get_value),
7998         (gst_value_transform_list_string),
7999         (gst_value_transform_fixed_list_string),
8000         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8001         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8002         (_gst_value_initialize):
8003         * gst/gstvalue.h:
8004           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8005           < , > as a format.
8006         * testsuite/caps/string-conversions.c: (main):
8007           add regression tests for < >
8008
8009 2004-05-20  Johan Dahlin  <johan@gnome.org>
8010
8011         * docs/gst/Makefile.am (all-local): Re-add
8012
8013 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8014
8015         * docs/gst/Makefile.am:
8016         * docs/gst/gstreamer-docs.sgml:
8017         * docs/libs/Makefile.am:
8018         * docs/libs/gstreamer-libs-docs.sgml:
8019           fix distcheck issues
8020
8021 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8022
8023         * libs/gst/dataprotocol/Makefile.am:
8024           add to autotest
8025
8026 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8027
8028         * libs/gst/dataprotocol/Makefile.am:
8029         * libs/gst/dataprotocol/dataprotocol.c:
8030         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8031         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8032         * libs/gst/dataprotocol/dp-private.h:
8033           use GST macros to read/write fixed length ints
8034           add some more asserts
8035
8036 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8037
8038         * docs/libs/gstreamer-libs-docs.sgml:
8039         * docs/libs/gstreamer-libs-sections.txt:
8040           remove idct and putbits
8041         * configure.ac:
8042         * docs/libs/tmpl/gstdataprotocol.sgml:
8043         * libs/gst/Makefile.am:
8044         * libs/gst/dataprotocol/Makefile.am:
8045         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8046         (buffer_test), (caps_test), (event_test), (main):
8047         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8048         (gst_dp_dump_byte_array), (gst_dp_init),
8049         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8050         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8051         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8052         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8053         (gst_dp_validate_header), (gst_dp_validate_payload),
8054         (gst_dp_validate_packet), (plugin_init):
8055         * libs/gst/dataprotocol/dataprotocol.h:
8056         * libs/gst/dataprotocol/dp-private.h:
8057           add dataprotocol
8058
8059 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8060
8061         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8062           fix int variable deserialization and add a helper so we can actually
8063           debug this.
8064
8065 2004-05-18  David Schleef  <ds@schleef.org>
8066
8067         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8068           argv[0].  Calling yourself is probably not the best way to
8069           construct a test like this, btw.
8070
8071 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8072
8073         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8074           don't claim to be more intelligent than a scheduler when the
8075           scheduler claims the pipeline is stopped
8076         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8077         (safe_cothread_destroy),
8078         (gst_entry_scheduler_remove_all_cothreads),
8079         (gst_entry_scheduler_reset), (_remove_cothread),
8080         (gst_entry_scheduler_state_transition):
8081           hold off cothread destruction if we're not in main cothread
8082         * configure.ac:
8083         * testsuite/Makefile.am:
8084           add new test dir
8085         * testsuite/schedulers/.cvsignore:
8086         * testsuite/schedulers/Makefile.am:
8087           add tests
8088         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8089           check relinking and adding/removing elements from a running pipeline
8090         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8091           check unlinking in a running pipeline
8092         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8093           check unreffing a running pipeline
8094         * testsuite/schedulers/useless_iteration.c: (main):
8095           check iterating a pipeline that contains running threads works
8096
8097 2004-05-18  David Schleef  <ds@schleef.org>
8098
8099         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8100           is false.
8101
8102 2004-05-18  Wim Taymans  <wim@fluendo.com>
8103
8104         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8105         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8106         Fixed an error introduced with patch for 1.63. When setting
8107         a get based element as the entry point in a group, make sure
8108         to mark the group as GET based.
8109
8110 2004-05-18  Wim Taymans  <wim@fluendo.com>
8111
8112         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8113         (setup_group_scheduler), (loop_group_schedule_function),
8114         (gst_opt_scheduler_pad_link):
8115         Added some more debug info and fixed a bug where the group
8116         type was set to LOOP but it was in fact unknown.
8117
8118 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8119
8120         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8121           make resetting scheduler work twice in a row
8122
8123 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8124
8125         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8126         (CREATE_USERIALIZATION), (_gst_value_initialize),
8127         (gst_value_compare_float), (gst_value_serialize_float),
8128         (gst_value_deserialize_float), (gst_value_compare_enum),
8129         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8130           add serialization and comparison functions for long, int64, enum and
8131           float values
8132         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8133           use best serialization function in type hierarchy instead of only a
8134           matching one. This is required for enums to work.
8135         * gst/parse/grammar.y:
8136           use gst_caps_deserialize
8137         * testsuite/parse/Makefile.am:
8138           parse1 now works
8139         * testsuite/parse/parse1.c: (main):
8140           remove aggregator check, aggregator is broken, this test works now
8141           but fails because of bug #138012
8142         * testsuite/parse/parse2.c: (main):
8143           s/xvideosink/xvimagesink - this test looks a lot like we should
8144           disable it
8145
8146 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8147
8148         * gst/gstelement.c: (gst_element_class_init):
8149           whoops, store the signal id correctly
8150         * gst/schedulers/gstbasicscheduler.c:
8151         (gst_basic_scheduler_chain_wrapper):
8152           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8153           chain function isn't linked
8154
8155 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8156         * configure.ac:
8157         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8158         support until we decide where the flags should be used
8159         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8160         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8161         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8162         Output refused caps in the debug info
8163
8164 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8165
8166         * gst/elements/gstidentity.c: (gst_identity_chain):
8167           add duration debug
8168         * gst/gstinfo.c: (gst_debug_log_default):
8169           add timestamp
8170
8171 2004-05-13  Benjamin Otte  <otte@gnome.org>
8172
8173         * gst/gstpipeline.c: (gst_pipeline_dispose),
8174         (gst_pipeline_change_state):
8175           call gst_scheduler_reset on dispose (fixes #141416)
8176
8177 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8178
8179         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8180           compute mapsize correctly
8181         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8182           use correct datatypes when calling a varargs function
8183         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8184           push a DISCONT event as first thing
8185         * gst/gst_private.h:
8186         * gst/gstinfo.c: (_gst_debug_init):
8187           remove GST_DATAFLOW debugging category
8188         * gst/gstbin.c: (gst_bin_iterate):
8189           use GST_SCHEDULING category
8190         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8191         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8192         (gst_pad_call_get_function):
8193           add GST_DATAFLOW to easily track flow of buffers or events.
8194         * gst/gstqueue.c: (gst_queue_get_type),
8195         (gst_queue_handle_pending_events), (gst_queue_chain),
8196         (gst_queue_get), (gst_queue_handle_src_event):
8197           use own static debugging category GST_DATAFLOW for dataflow,
8198           use DEBUG category for showing which path events go, use LOG
8199           category for buffers.
8200
8201 2004-05-10  David Schleef  <ds@schleef.org>
8202
8203         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8204
8205 2004-05-10  David Schleef  <ds@schleef.org>
8206
8207         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8208         symbols, because otherwise we don't know what they are.  Thanks,
8209         the GStreamer team.
8210         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8211
8212 2004-05-10  David Schleef  <ds@schleef.org>
8213
8214         (from Steve Lhomme)
8215         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8216         are deleted.  Fix.
8217         * win32/Makefile.inspect:
8218         * win32/Makefile.launch:
8219         * win32/Makefile.register:
8220
8221 2004-05-10  David Schleef  <ds@schleef.org>
8222
8223         * gst/gstinfo.h: Add missing inline function.
8224         * gst/gsttrace.c: add include
8225         * gst/parse/grammar.y: remove unused code
8226         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8227         more portable.
8228         * tools/gst-register.c: wrap unistd.h
8229         
8230         More additions/fixes from Steve for the MSVC build.
8231         * win32/GStreamer.vcproj:
8232         * win32/Makefile:
8233         * win32/Makefile.inspect:
8234         * win32/Makefile.launch:
8235         * win32/Makefile.register:
8236         * win32/README.txt:
8237         * win32/gst-inspect.vcproj:
8238         * win32/gst-launch.vcproj:
8239         * win32/gst-register.vcproj:
8240         * win32/gstbytestream.def:
8241         * win32/gstbytestream.vcproj:
8242         * win32/gstconfig.h:
8243         * win32/gstelements.def:
8244         * win32/gstelements.vcproj:
8245         * win32/gstenumtypes.c:
8246         * win32/gstenumtypes.h:
8247         * win32/gstoptimalscheduler.def:
8248         * win32/gstoptimalscheduler.vcproj:
8249         * win32/gstreamer.def:
8250         * win32/gstspider.def:
8251         * win32/gstspider.vcproj:
8252         * win32/gstversion.h:
8253         * win32/msvc71.sln:
8254
8255 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8256
8257         * gst/gstelement.c: (gst_element_class_init),
8258         (gst_element_no_more_pads):
8259         * gst/gstelement.h:
8260           add gst_element_no_more_pads and the "no-more-pads" signal
8261
8262 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8263
8264         * gst/gstregistry.c: (gst_registry_add_plugin):
8265           refuse to add plugins when a plugin with same name is already
8266           registered. Fixes a bunch of "How to remove plugins?" issues.
8267           May lead to other problems though, let's test
8268
8269 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8270
8271         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8272         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8273         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8274
8275 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8276
8277         * tests/Makefile.am: fix am16 issue
8278
8279 2004-05-09  Benjamin Otte  <otte@gnome.org>
8280
8281         * libs/gst/bytestream/Makefile.am:
8282           we should indeed add .c files to makefiles or they won't be built
8283           (d'oh)
8284
8285 2004-05-08  Benjamin Otte  <otte@gnome.org>
8286
8287         * gst/gstpad.c: (gst_pad_proxy_fixate):
8288           really reduce the set of caps
8289
8290 2004-05-08  Benjamin Otte  <otte@gnome.org>
8291
8292         * tests/Makefile.am:
8293         * tests/spidey_bench.c: (handoff), (main):
8294           add benchmark to test how long spider needs to create a pipeline
8295
8296 2004-05-08  Benjamin Otte  <otte@gnome.org>
8297
8298         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8299           mark links as unengaged when unnegotiating instead of deactivating.
8300           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8301
8302 2004-05-08  Benjamin Otte  <otte@gnome.org>
8303
8304         * docs/manual/helloworld.xml:
8305           s/audiosink/osssink (patch by Patrick Guimond)
8306
8307 2004-05-07  David Schleef  <ds@schleef.org>
8308
8309         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8310         since it contains important stuff.
8311
8312 2004-05-07  David Schleef  <ds@schleef.org>
8313
8314         * testsuite/caps/caps.c: (test3), (main): A check for appending
8315         ANY caps.
8316
8317 2004-05-07  David Schleef  <ds@schleef.org>
8318
8319         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8320         which may contain commas.  Fixes detection of -Wa,-mregnames
8321
8322 2004-05-06  David Schleef  <ds@schleef.org>
8323
8324         Changes to handle compilers that don't have variadic macro
8325         support.  In particular, glib headers define some inlines
8326         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8327         builds.
8328         * gst/Makefile.am:
8329         * gst/cothreads.c:
8330         * gst/elements/gstfdsink.c:
8331         * gst/elements/gstfdsrc.c:
8332         * gst/elements/gstfilesink.c:
8333         * gst/elements/gstfilesrc.c:
8334         * gst/gst_private.h:
8335         * gst/gstatomic.c:
8336         * gst/gstcaps.c: (gst_caps_append):
8337         * gst/gstcpu.c: (gst_cpuid_i386):
8338         * gst/gstelement.c:
8339         * gst/gsterror.c:
8340         * gst/gstfilter.c:
8341         * gst/gstinfo.h:
8342         * gst/gstprobe.c:
8343         * gst/gstquery.c:
8344         * gst/gstregistry.c:
8345         * gst/gststructure.c:
8346         * gst/gsttaginterface.c:
8347         * gst/gsttrace.c: (gst_trace_new):
8348         * gst/gsttrashstack.c:
8349         * gst/gsturi.c:
8350         * gst/gstvalue.c:
8351         * gst/parse/grammar.y:
8352         * gst/parse/parse.l:
8353         * tools/gst-inspect.c: (main):
8354         * tools/gst-launch.c: (main):
8355         * tools/gst-xmlinspect.c: (PUT_STRING):
8356
8357 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8358
8359         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8360         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8361         * gst/elements/gstfilesrc.h:
8362           send NEW_MEDIA events correctly
8363         * gst/elements/gsttypefindelement.c: (start_typefinding),
8364         (gst_type_find_element_handle_event):
8365           restart typefinding when we get a NEW_MEDIA event
8366         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8367         (gst_bin_dispose):
8368           don't die when someone removes elements in callbacks
8369         * gst/gstelement.c: (gst_element_change_state):
8370           improve debugging
8371         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8372           we need a NEW_MEDIA event to engage a link
8373         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8374           don't g_print debugging stuff
8375         * testsuite/caps/simplify.c: (check_caps):
8376
8377 2004-05-04  Benjamin Otte  <otte@gnome.org>
8378
8379         * gst/parse/grammar.y:
8380           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8381
8382 2004-05-04  Benjamin Otte  <otte@gnome.org>
8383
8384         * testsuite/caps/renegotiate.c: (main):
8385           improve output in error case
8386
8387 2004-05-04  Benjamin Otte  <otte@gnome.org>
8388
8389         * gst/parse/grammar.y:
8390           fix assert to not trigger when there's no error argument
8391         * gst/parse/parse.l:
8392           fix definition of caps to allow more than two structures
8393         * testsuite/caps/Makefile.am:
8394         * testsuite/caps/renegotiate.c: (main):
8395           it's sinesrc and works in that case
8396
8397 2004-05-04  Wim Taymans  <wim@fluendo.com>
8398
8399         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8400         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8401         when removing an element from a group, we always need to
8402         decrement the link count that this group had with other 
8403         groups through the element.
8404         added an extra assert to catch inconsistencies when decrementing
8405         the link count.
8406
8407 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8408
8409         * configure.ac:
8410         * docs/gst/Makefile.am:
8411         * docs/gst/gstreamer-sections.txt:
8412         * docs/gst/tmpl/gstcompat.sgml:
8413         * examples/appreader/Makefile.am:
8414         * examples/cutter/Makefile.am:
8415         * examples/events/Makefile.am:
8416         * examples/helloworld/Makefile.am:
8417         * examples/helloworld2/Makefile.am:
8418         * examples/launch/Makefile.am:
8419         * examples/manual/Makefile.am:
8420         * examples/mixer/Makefile.am:
8421         * examples/pingpong/Makefile.am:
8422         * examples/plugins/Makefile.am:
8423         * examples/queue/Makefile.am:
8424         * examples/queue2/Makefile.am:
8425         * examples/queue3/Makefile.am:
8426         * examples/queue4/Makefile.am:
8427         * examples/retag/Makefile.am:
8428         * examples/thread/Makefile.am:
8429         * examples/typefind/Makefile.am:
8430         * examples/xml/Makefile.am:
8431         * gst/Makefile.am:
8432         * gst/autoplug/Makefile.am:
8433         * gst/elements/Makefile.am:
8434         * gst/gstcompat.h:
8435         * gst/indexers/Makefile.am:
8436         * gst/parse/Makefile.am:
8437         * gst/registries/Makefile.am:
8438         * gst/schedulers/Makefile.am:
8439         * libs/gst/bytestream/Makefile.am:
8440         * libs/gst/control/Makefile.am:
8441         * libs/gst/getbits/Makefile.am:
8442         * po/af.po:
8443         * po/az.po:
8444         * po/en_GB.po:
8445         * po/fr.po:
8446         * po/nl.po:
8447         * po/sr.po:
8448         * po/sv.po:
8449         * po/tr.po:
8450         * po/uk.po:
8451         * tests/Makefile.am:
8452         * tests/bufspeed/Makefile.am:
8453         * tests/instantiate/Makefile.am:
8454         * tests/memchunk/Makefile.am:
8455         * tests/muxing/Makefile.am:
8456         * tests/negotiation/Makefile.am:
8457         * tests/probes/Makefile.am:
8458         * tests/sched/Makefile.am:
8459         * tests/seeking/Makefile.am:
8460         * tests/threadstate/Makefile.am:
8461         * testsuite/caps/Makefile.am:
8462         * testsuite/cleanup/Makefile.am:
8463         * testsuite/dlopen/Makefile.am:
8464         * testsuite/dynparams/Makefile.am:
8465         * testsuite/plugin/Makefile.am:
8466         * testsuite/states/Makefile.am:
8467         * tools/Makefile.am:
8468           reorganize compile/link flags to be consistent
8469           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
8470
8471 2004-05-04  David Schleef  <ds@schleef.org>
8472
8473         The "once more, with feeling" check-in.
8474         * testsuite/caps/Makefile.am: dist caps_strings
8475         * testsuite/caps/renegotiate.c: (main): This test triggers a
8476           segfault in the core.  Marking as failing.
8477
8478 2004-05-03  David Schleef  <ds@schleef.org>
8479
8480         * testsuite/caps/deserialize.c: (main): Fix problems noticed
8481           by the build bots.
8482         * testsuite/caps/renegotiate.c: (main): Same.
8483
8484 2004-05-03  David Schleef  <ds@schleef.org>
8485
8486         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
8487
8488 2004-05-03  David Schleef  <ds@schleef.org>
8489
8490         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
8491           variable to find our source file.
8492
8493 2004-05-03  David Schleef  <ds@schleef.org>
8494
8495         * configure.ac:  Link plugins with libgstreamer and dependent
8496           libraries
8497         * testsuite/caps/Makefile.am:
8498         * testsuite/caps/caps_strings:
8499         * testsuite/caps/deserialize.c: (main): Add a little test to slog
8500           through a file of caps strings and test each one
8501
8502 2004-05-04  Benjamin Otte  <otte@gnome.org>
8503
8504         * libs/gst/bytestream/Makefile.am:
8505         * libs/gst/bytestream/adapter.c: 
8506         * libs/gst/bytestream/adapter.h:
8507           add GstAdapter, similar to bytestream, but doesn't require ugly event
8508           handling or uglier loopbased elements
8509
8510 2004-05-03  David Schleef  <ds@schleef.org>
8511
8512         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
8513         * testsuite/caps/erathostenes.c:
8514         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
8515
8516 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8517
8518         * docs/pwg/pwg.xml:
8519           remove hardcoded stylesheet path (duh)
8520         * docs/random/release:
8521         * docs/gst/gstreamer-sections.txt:
8522         * gst/Makefile.am:
8523         * gst/gst.h:
8524         * gst/gst_private.h:
8525         * gst/gstcaps.c:
8526         * gst/gstevent.c:
8527         * gst/gstformat.c:
8528         * gst/gstinfo.c:
8529         * gst/gstinfo.h:
8530         * gst/gstinterface.c:
8531         * gst/gstmemchunk.c:
8532         * gst/gstprobe.c:
8533         * gst/gstquery.c:
8534         * gst/gstregistry.c:
8535         * gst/gstregistrypool.c:
8536         * gst/gststructure.c:
8537         * gst/gsttaginterface.c:
8538         * gst/gstthread.c:
8539         * gst/gsttrace.c:
8540         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
8541         * gst/gsturi.c:
8542         * gst/gstvalue.c:
8543           deprecate gst_info; remove gstlog.h
8544    
8545
8546 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8547
8548         * Makefile.am:
8549         * po/en_GB.po:
8550         * po/sv.po:
8551         * po/uk.po:
8552           updated translations
8553
8554 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8555
8556         * gst/gstbin.c: (gst_bin_dispose):
8557           better debugging
8558
8559 2004-05-03  Johan Dahlin  <johan@gnome.org>
8560
8561         * gst/schedulers/gstoptimalscheduler.c
8562         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
8563         really is a GstElement. Avoids critical when running gst-launch -v
8564         and a oggdemux/decoding pipeline.
8565
8566 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8567
8568         * docs/gst/tmpl/gstpipeline.sgml :
8569         * docs/manual/elements-api.xml :
8570                 doc fix by Patrick Guimond (Protector) from devel ML
8571                 reviewed by ronald
8572
8573 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8574
8575         * docs/gst/Makefile.am :
8576         * docs/libs/Makefile.am :
8577                 apply a patch from Arwed v. Merkatz so that gtk-doc
8578                 generated docs install (same for .devhelp file)
8579                 (fixes part 1 of #138836)
8580
8581 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8582
8583         * docs/faq/dependencies.xml: typo
8584         * docs/faq/getting.xml :
8585             - fix download URL for new gstreamer site
8586             - hide sf.net download page as latest version aren't there
8587             - fix apt URLs
8588             - fill "get via CVS" paragraph (link to dev page on the site)
8589         * docs/faq/general.xml:
8590             hide status tables as they no more exists
8591             change case on plugins license file to reflect reality
8592         * docs/faq/troubleshooting.xml:
8593             remove the wiki question/answer as there is no more wiki
8594
8595 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8596
8597         * gst/gsterror.h:
8598           include the headers needed for declarations used in this header
8599
8600 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8601
8602         * docs/random/uraeus/gstreamer_and_midi.txt :
8603           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
8604           (fixes #132288)
8605
8606 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
8607
8608         reviewed by Benjamin Otte  <otte@gnome.org>
8609
8610         * gst/schedulers/gthread-cothreads.h:
8611           free allocated data for main cothread, too when destroying context
8612           (fixes #141417)
8613
8614 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8615
8616         * docs/manual/goals.xml : remove duplicated paragraph at end 
8617         of doc page (fixes #141448)
8618
8619 2004-04-29  David Schleef  <ds@schleef.org>
8620
8621         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
8622         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
8623
8624 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8625
8626         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8627           fix property
8628         * gst/gstcaps.c:
8629           fix doc string
8630         * po/POTFILES.in:
8631           rename typefind source file
8632
8633 2004-04-28  David Schleef  <ds@schleef.org>
8634
8635         Several new files from Steve Lhomme's MSVC patch (bug #141317):
8636         * win32/GStreamer.vcproj:
8637         * win32/Makefile:
8638         * win32/config.h:
8639         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8640         (_trewinddir), (_ttelldir), (_tseekdir):
8641         * win32/dirent.h:
8642         * win32/gst-inspect.vcproj:
8643         * win32/gst-launch.vcproj:
8644         * win32/gst-register.vcproj:
8645         * win32/gstbytestream.vcproj:
8646         * win32/gstelements.vcproj:
8647         * win32/gstoptimalscheduler.vcproj:
8648         * win32/gstspider.vcproj:
8649         * win32/gtchar.h:
8650         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
8651         * win32/mman.h:
8652         * win32/mman.inl:
8653         * win32/msvc71.sln:
8654
8655 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8656
8657         * gst/gst.c: (init_post):
8658         * gst/gstinfo.c:
8659           remove useless _gst_progname stuff
8660         * tools/gst-inspect.c: (print_field), (print_caps):
8661           improve caps output
8662
8663 2004-04-28  David Schleef  <ds@schleef.org>
8664
8665         Disable parsing of a lot of files that aren't part of the
8666         exported API.  Move corresponding template files to old/,
8667         waiting for removal when they don't contain anything
8668         interesting.
8669         * docs/gst/Makefile.am:
8670         * docs/gst/gstreamer-sections.txt:
8671         * docs/gst/tmpl/cothreads.sgml:
8672         * docs/gst/tmpl/cothreads_compat.sgml:
8673         * docs/gst/tmpl/gettext.sgml:
8674         * docs/gst/tmpl/gobject2gtk.sgml:
8675         * docs/gst/tmpl/grammar.tab.sgml:
8676         * docs/gst/tmpl/gst-i18n-app.sgml:
8677         * docs/gst/tmpl/gst-i18n-lib.sgml:
8678         * docs/gst/tmpl/gst_private.sgml:
8679         * docs/gst/tmpl/gstaggregator.sgml:
8680         * docs/gst/tmpl/gstarch.sgml:
8681         * docs/gst/tmpl/gstatomic_impl.sgml:
8682         * docs/gst/tmpl/gstbufferstore.sgml:
8683         * docs/gst/tmpl/gstdata_private.sgml:
8684         * docs/gst/tmpl/gstdisksink.sgml:
8685         * docs/gst/tmpl/gstdisksrc.sgml:
8686         * docs/gst/tmpl/gstelementfactory.sgml:
8687         * docs/gst/tmpl/gstextratypes.sgml:
8688         * docs/gst/tmpl/gstfakesink.sgml:
8689         * docs/gst/tmpl/gstfakesrc.sgml:
8690         * docs/gst/tmpl/gstfdsink.sgml:
8691         * docs/gst/tmpl/gstfdsrc.sgml:
8692         * docs/gst/tmpl/gstfilesink.sgml:
8693         * docs/gst/tmpl/gstfilesrc.sgml:
8694         * docs/gst/tmpl/gsthttpsrc.sgml:
8695         * docs/gst/tmpl/gstidentity.sgml:
8696         * docs/gst/tmpl/gstindexfactory.sgml:
8697         * docs/gst/tmpl/gstmarshal.sgml:
8698         * docs/gst/tmpl/gstmd5sink.sgml:
8699         * docs/gst/tmpl/gstmultidisksrc.sgml:
8700         * docs/gst/tmpl/gstmultifilesrc.sgml:
8701         * docs/gst/tmpl/gstpadtemplate.sgml:
8702         * docs/gst/tmpl/gstpipefilter.sgml:
8703         * docs/gst/tmpl/gstschedulerfactory.sgml:
8704         * docs/gst/tmpl/gstsearchfuncs.sgml:
8705         * docs/gst/tmpl/gstshaper.sgml:
8706         * docs/gst/tmpl/gstspider.sgml:
8707         * docs/gst/tmpl/gstspideridentity.sgml:
8708         * docs/gst/tmpl/gststatistics.sgml:
8709         * docs/gst/tmpl/gsttee.sgml:
8710         * docs/gst/tmpl/gsttimecache.sgml:
8711         * docs/gst/tmpl/gsttypefind.sgml:
8712         * docs/gst/tmpl/gsttypefindfactory.sgml:
8713         * docs/gst/tmpl/gstxmlregistry.sgml:
8714         * docs/gst/tmpl/gthread-cothreads.sgml:
8715         * docs/gst/tmpl/old/cothreads.sgml:
8716         * docs/gst/tmpl/old/cothreads_compat.sgml:
8717         * docs/gst/tmpl/old/gettext.sgml:
8718         * docs/gst/tmpl/old/gobject2gtk.sgml:
8719         * docs/gst/tmpl/old/grammar.tab.sgml:
8720         * docs/gst/tmpl/old/gst-i18n-app.sgml:
8721         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
8722         * docs/gst/tmpl/old/gst_private.sgml:
8723         * docs/gst/tmpl/old/gstaggregator.sgml:
8724         * docs/gst/tmpl/old/gstarch.sgml:
8725         * docs/gst/tmpl/old/gstatomic_impl.sgml:
8726         * docs/gst/tmpl/old/gstbufferstore.sgml:
8727         * docs/gst/tmpl/old/gstdata_private.sgml:
8728         * docs/gst/tmpl/old/gstdisksink.sgml:
8729         * docs/gst/tmpl/old/gstdisksrc.sgml:
8730         * docs/gst/tmpl/old/gstelementfactory.sgml:
8731         * docs/gst/tmpl/old/gstextratypes.sgml:
8732         * docs/gst/tmpl/old/gstfakesink.sgml:
8733         * docs/gst/tmpl/old/gstfakesrc.sgml:
8734         * docs/gst/tmpl/old/gstfdsink.sgml:
8735         * docs/gst/tmpl/old/gstfdsrc.sgml:
8736         * docs/gst/tmpl/old/gstfilesink.sgml:
8737         * docs/gst/tmpl/old/gstfilesrc.sgml:
8738         * docs/gst/tmpl/old/gsthttpsrc.sgml:
8739         * docs/gst/tmpl/old/gstidentity.sgml:
8740         * docs/gst/tmpl/old/gstindexfactory.sgml:
8741         * docs/gst/tmpl/old/gstmarshal.sgml:
8742         * docs/gst/tmpl/old/gstmd5sink.sgml:
8743         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
8744         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
8745         * docs/gst/tmpl/old/gstpadtemplate.sgml:
8746         * docs/gst/tmpl/old/gstpipefilter.sgml:
8747         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
8748         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
8749         * docs/gst/tmpl/old/gstshaper.sgml:
8750         * docs/gst/tmpl/old/gstspider.sgml:
8751         * docs/gst/tmpl/old/gstspideridentity.sgml:
8752         * docs/gst/tmpl/old/gststatistics.sgml:
8753         * docs/gst/tmpl/old/gsttee.sgml:
8754         * docs/gst/tmpl/old/gsttimecache.sgml:
8755         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
8756         * docs/gst/tmpl/old/gstxmlregistry.sgml:
8757         * docs/gst/tmpl/old/gthread-cothreads.sgml:
8758         * docs/gst/tmpl/old/types.sgml:
8759         * docs/gst/tmpl/types.sgml:
8760
8761         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
8762         gtkdoc-scan doesn't like files with the same name in different
8763         directories.
8764         * gst/elements/Makefile.am:
8765         * gst/elements/gstelements.c:
8766         * gst/elements/gsttypefind.c: 
8767         * gst/elements/gsttypefind.h:
8768         * gst/elements/gsttypefindelement.c:
8769         * gst/elements/gsttypefindelement.h:
8770
8771 2004-04-28  David Schleef  <ds@schleef.org>
8772
8773         A bunch of portability fixes, derived from Steve Lhomme's MSVC
8774         patch (bug #141317):
8775         * gst/gst-i18n-lib.h: Allow disabling gettext.
8776         * gst/gstatomic_impl.h: disable warning when it's dumb.
8777         * gst/gstclock.c: fix include
8778         * gst/gstcompat.h: fix variadic macro
8779         * gst/gstinfo.c: fix include
8780         * gst/gstmacros.h: add defines for inlines on MSVC
8781         * gst/gstplugin.c: fix includes
8782         * gst/gstregistry.c: fix includes
8783         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
8784         * gst/gstsystemclock.c: fix include
8785         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
8786         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
8787         * gst/registries/gstxmlregistry.c:
8788         (gst_xml_registry_parse_element_factory): fix use of non-portable
8789         functions
8790         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
8791         * libs/gst/control/dparammanager.h: same
8792
8793 2004-04-28  David Schleef  <ds@schleef.org>
8794
8795         Move a bunch of unused files to old/ with names that are
8796         not case-insensitive-unique.  These files still contain some
8797         useful information that needs to be merged into gstbin.sgml,
8798         etc., so they shouldn't be deleted yet.
8799         * docs/gst/tmpl/GstBin.sgml:
8800         * docs/gst/tmpl/GstBuffer.sgml:
8801         * docs/gst/tmpl/GstCaps.sgml:
8802         * docs/gst/tmpl/GstClock.sgml:
8803         * docs/gst/tmpl/GstCompat.sgml:
8804         * docs/gst/tmpl/GstData.sgml:
8805         * docs/gst/tmpl/GstElement.sgml:
8806         * docs/gst/tmpl/GstEvent.sgml:
8807         * docs/gst/tmpl/GstIndex.sgml:
8808         * docs/gst/tmpl/GstStructure.sgml:
8809         * docs/gst/tmpl/GstTag.sgml:
8810         * docs/gst/tmpl/old/GstBin.sgml:
8811         * docs/gst/tmpl/old/GstBuffer.sgml:
8812         * docs/gst/tmpl/old/GstCaps.sgml:
8813         * docs/gst/tmpl/old/GstClock.sgml:
8814         * docs/gst/tmpl/old/GstCompat.sgml:
8815         * docs/gst/tmpl/old/GstData.sgml:
8816         * docs/gst/tmpl/old/GstElement.sgml:
8817         * docs/gst/tmpl/old/GstEvent.sgml:
8818         * docs/gst/tmpl/old/GstIndex.sgml:
8819         * docs/gst/tmpl/old/GstStructure.sgml:
8820         * docs/gst/tmpl/old/GstTag.sgml:
8821
8822 2004-04-28  David Schleef  <ds@schleef.org>
8823
8824         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
8825         (gst_caps_append), (gst_caps_append_structure),
8826         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
8827         (gst_caps_set_simple), (gst_caps_set_simple_valist),
8828         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
8829         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
8830         (gst_caps_intersect), (gst_caps_normalize),
8831         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
8832         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
8833         * gst/gstcaps.h: use GST_IS_CAPS().
8834
8835 2004-04-26  David Schleef  <ds@schleef.org>
8836
8837         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
8838         assembly.  gcc doesn't handle it correctly. (bug #141083)
8839         * gst/gsttrashstack.h: same
8840
8841 2004-04-25  Benjamin Otte  <otte@gnome.org>
8842
8843         * gst/gstelement.c: (gst_element_change_state):
8844           fix assertion to do an int comparison
8845
8846 2004-04-25  Benjamin Otte  <otte@gnome.org>
8847
8848         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8849           better debugging output on error
8850
8851 2004-04-25  Benjamin Otte  <otte@gnome.org>
8852
8853         * gst/gstcaps.c: (gst_caps_subtract):
8854           fix memleak
8855
8856 2004-04-23  Benjamin Otte  <otte@gnome.org>
8857
8858         * gst/gstvalue.c: (gst_value_compare_buffer),
8859         (_gst_value_initialize):
8860           add comparison function for buffers
8861
8862 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8863
8864         * docs/pwg/pwg.xml:
8865           Just found out that this so-called "ima-wav" format is really
8866           just "dvi adpcm" (according to the MS WAV documentation). So
8867           renaming it. We didn't use it yet anyway.
8868
8869 2004-04-23  Benjamin Otte  <otte@gnome.org>
8870
8871         * gst/gstcaps.c: (gst_caps_is_always_compatible):
8872           call gst_caps_is_subset
8873
8874 2004-04-23  Benjamin Otte  <otte@gnome.org>
8875
8876         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
8877         (gst_caps_is_subset):
8878           add documentation
8879
8880 2004-04-23  Benjamin Otte  <otte@gnome.org>
8881           
8882         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
8883         (gst_caps_structure_subtract), (gst_caps_subtract),
8884         (gst_caps_structure_figure_out_union),
8885         (gst_caps_structure_simplify), (gst_caps_do_simplify):
8886           fix simplifying and subtracting not working correctly with optional
8887           properties
8888           solve assorted problems that make it now simplify ebven more
8889         * docs/gst/tmpl/gstcaps.sgml:
8890         * gst/gstcaps.h:
8891           make gst_caps_do_simplify return a bool to indicate if it simplified
8892         * testsuite/caps/simplify.c: (main):
8893           add more checks. The tests is quite a bit useless right now because
8894           the core is heavily simplifying itself.
8895         * testsuite/caps/caps.h:
8896           fix caps to contain all optional properties
8897
8898 2004-04-22  Benjamin Otte  <otte@gnome.org>
8899
8900         * docs/gst/tmpl/gstcaps.sgml:
8901         * docs/gst/tmpl/gstfilesrc.sgml:
8902         * docs/gst/tmpl/gststructure.sgml:
8903         * docs/gst/tmpl/gstvalue.sgml:
8904           update for recent API changes
8905         * gst/gstcaps.c: (gst_caps_do_simplify):
8906           fix to stop trying with a freed structure
8907         * gst/gstpad.c: (gst_pad_link_fixate):
8908           simplify caps
8909         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
8910           remove C++ comment
8911         * gst/gstpad.h:
8912           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
8913         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8914         (gst_structure_to_string):
8915           keep the correct type when using lists of ranges
8916         * gst/gstvalue.c: (gst_value_list_prepend_value),
8917         (gst_value_list_append_value):
8918           copy the value before adding to the list (d'oh)
8919         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
8920         (gst_value_subtract_int_range_int_range):
8921           handle overflows correctly
8922         * gst/gstvalue.c: (gst_value_subtract_from_list):
8923           fix memleak
8924         * testsuite/caps/caps.h:
8925           add a caps that caused segfaults
8926
8927 2004-04-22  Benjamin Otte  <otte@gnome.org>
8928
8929         * testsuite/refcounting/pad.c: (main):
8930           fix test
8931
8932 2004-04-22  Benjamin Otte  <otte@gnome.org>
8933
8934         * gst/gstcaps.c: (gst_caps_subtract):
8935           allow subtracting ANY and EMPTY from ANY caps
8936
8937 2004-04-22  Benjamin Otte  <otte@gnome.org>
8938
8939         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
8940         (gst_caps_union):
8941           only simplify in functions that create new caps. Simplifying in
8942           gst_caps_append breaks tests.
8943
8944 2004-04-22  Benjamin Otte  <otte@gnome.org>
8945
8946         * gst/gstcaps.c: (gst_caps_structure_simplify):
8947           unset GValue after use
8948         * gst/gstcaps.c: (gst_caps_append), 
8949         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
8950           use gst_caps_simplify (reduces registry size by 30%)
8951         * gst/gstpad.c: (gst_pad_template_new):
8952           don't allow NULL caps
8953
8954 2004-04-22  Benjamin Otte  <otte@gnome.org>
8955
8956         * docs/gst/gstreamer-sections.txt:
8957           add gst_caps_do_simplify
8958         * gst/gstcaps.c:
8959           add documentation for gst_caps_do_simplify
8960         * gst/gstvalue.h:
8961           fix typo in gst_value_register_subtract_func declaration for gst-doc
8962
8963 2004-04-22  Benjamin Otte  <otte@gnome.org>
8964
8965         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8966           fix bug when converting from empty string.
8967         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
8968         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
8969           use gst_caps_new_empty to allocate a new caps. Only that function
8970           allocates memory for caps now.
8971         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
8972         (gst_caps_remove_structure):
8973           add ability to remove one structure (but not to header yet)
8974         * gst/gstcaps.c: (gst_caps_compare_structures),
8975         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
8976         (gst_caps_structure_simplify), (gst_caps_do_simplify),
8977         * gst/gstcaps.h:
8978           add gst_caps_do_simplify that tries to simplify a caps in place.
8979           Deprecate old gst_caps_simplify function.
8980         * testsuite/caps/caps.h:
8981           add caps.h containing a common set of caps to test against.
8982         * testsuite/caps/sets.c: (check_caps), (main):
8983           use it.
8984         * testsuite/caps/.cvsignore:
8985         * testsuite/caps/Makefile.am:
8986         * testsuite/caps/simplify.c: (check_caps), (main):
8987           add test to check correctness and efficency of caps simplification.
8988
8989 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
8990
8991         reviewed by Benjamin Otte  <otte@gnome.org>
8992
8993         * gst/gstparse.c: (_gst_parse_escape):
8994           Free the GString used in _gst_parse_escape()
8995
8996 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8997
8998         * gst/gstpad.c: (gst_pad_link_negotiate):
8999           refuse to link if the link is not possible
9000         * configure.ac:
9001         * testsuite/Makefile.am:
9002         * testsuite/negotiation/.cvsignore:
9003         * testsuite/negotiation/Makefile.am:
9004         * testsuite/negotiation/pad_link.c: (main):
9005           add test that checks the above behaviour
9006
9007 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9008
9009         * docs/gst/gstreamer-sections.txt:
9010           add newly added API
9011
9012 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9013
9014         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9015         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9016         (gst_filesrc_open_file), (gst_filesrc_close_file),
9017         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9018         * gst/elements/gstfilesrc.h:
9019           add support for non-regular files (#140734)
9020
9021 2004-04-21  Benjamin Otte  <otte@gnome.org>
9022
9023         * gst/gstpad.c: (gst_pad_link_fixate):
9024           add sophisticated error checking code to see if fixation functions
9025           did their fixation right
9026
9027 2004-04-21  Benjamin Otte  <otte@gnome.org>
9028
9029         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9030           check for ANY caps before appending/unioning
9031         * gst/gstcaps.c: (gst_caps_is_subset),
9032         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9033         (gst_caps_structure_subtract), (gst_caps_subtract):
9034         * gst/gstcaps.h:
9035           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9036           the API. deprecate gst_caps_is_equal_fixed
9037         * gst/gstpad.c: (gst_pad_try_set_caps):
9038         * gst/gstqueue.c: (gst_queue_link):
9039           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9040         * gst/gststructure.c: (gst_structure_get_name_id):
9041         * gst/gststructure.h:
9042           add function gst_structure_get_name_id
9043         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9044         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9045         (gst_value_subtract_int_range_int_range),
9046         (gst_value_subtract_double_double_range),
9047         (gst_value_subtract_double_range_double),
9048         (gst_value_subtract_double_range_double_range),
9049         (gst_value_subtract_from_list), (gst_value_subtract_list),
9050         (gst_value_can_intersect), (gst_value_subtract),
9051         (gst_value_can_subtract), (gst_value_register_subtract_func),
9052         (_gst_value_initialize):
9053         * gst/gstvalue.h:
9054           add support for subtracting values from each other. Note that
9055           subtracting means subtracting as in set theory. Required for caps
9056           stuff above.
9057         * testsuite/caps/.cvsignore:
9058         * testsuite/caps/Makefile.am:
9059         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9060         * testsuite/caps/sets.c: (check_caps), (main):
9061         * testsuite/caps/subtract.c: (check_caps), (main):
9062           add tests for subtraction and equality code.
9063
9064 2004-04-20  David Schleef  <ds@schleef.org>
9065
9066         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9067         * gst/indexers/Makefile.am:
9068         * gst/schedulers/Makefile.am:
9069         * libs/gst/bytestream/Makefile.am:
9070         * libs/gst/control/Makefile.am:
9071         * libs/gst/getbits/Makefile.am:
9072
9073 2004-04-20  David Schleef  <ds@schleef.org>
9074
9075         * common/as-libtool.mak: Fine-tune DLL building.
9076         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9077         (like gst-plugins)
9078         * examples/plugins/Makefile.am: remove plugindir
9079         * gst/autoplug/Makefile.am: DLL building fixes
9080         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9081         Windows.
9082         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9083         * gst/indexers/Makefile.am: DLL building fixes
9084         * gst/schedulers/Makefile.am: DLL building fixes.
9085         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9086         * libs/gst/control/Makefile.am: same
9087         * libs/gst/getbits/Makefile.am: same
9088         * testsuite/Makefile.am: New dlopen directory
9089         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9090         when dlopened.
9091         * testsuite/dlopen/dlopen_gst.c: (main): same
9092         * testsuite/dlopen/loadgst.c: (do_test): same
9093
9094 2004-04-20  David Schleef  <ds@schleef.org>
9095
9096         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9097         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9098
9099 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9100
9101         * gst/gstelement.c: (gst_element_wait),
9102         (gst_element_set_time_delay), (gst_element_change_state):
9103           Use GST_TIME_*
9104
9105 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9106
9107         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9108         (gst_spider_identity_plug):
9109           improve debugging messages
9110         * gst/gstbin.c: (gst_bin_remove_func):
9111           make sure the state_change function is only called with simple state
9112           transitions
9113
9114 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9115
9116         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9117         (gst_fakesink_set_property), (gst_fakesink_chain):
9118         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9119         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9120         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9121         * gst/elements/gstidentity.c: (gst_identity_chain),
9122         (gst_identity_set_property):
9123         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9124         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9125           add warnings to _set_property for unknown arguments
9126           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9127
9128 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9129
9130         * Makefile.am:
9131         * docs/manuals.mak:
9132           add .po file download snippet
9133           fix a bug in the doc makefile
9134
9135 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9136
9137         * Makefile.am:
9138         * po/LINGUAS:
9139         * po/en_GB.po:
9140           Added en_GB translation (Gareth Owen)
9141
9142 2004-04-20  Johan Dahlin  <johan@gnome.org>
9143
9144         * gst/gstpad.c (_invent_event): Clean up
9145
9146 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9147
9148         * testsuite/caps/filtercaps.c: (main):
9149           fix test to test things correctly (caps are complicated)
9150
9151 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9152
9153         * testsuite/caps/Makefile.am:
9154         * testsuite/caps/filtercaps.c: (main):
9155           add test (that doesn't work right now, but should)
9156
9157 2004-04-19  David Schleef  <ds@schleef.org>
9158
9159         * configure.ac: Add test for allowing unaligned access.  Add define
9160         to put in gstconfig.h.
9161         * docs/gst/gstreamer-sections.txt: New symbols
9162         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9163         * docs/gst/tmpl/gstfilesrc.sgml:
9164         * docs/gst/tmpl/gstparse.sgml:
9165         * docs/gst/tmpl/gsttypes.sgml:
9166         * docs/gst/tmpl/gstutils.sgml:
9167         * docs/gst/tmpl/gstvalue.sgml:
9168         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9169         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9170         on most !i386/!powerpc architectures.  From Daniel Gazard
9171         <daniel.gazard@free.fr>.  (bug #140156)
9172         * po/af.po: Check in changes made by gettext.
9173         * po/az.po:
9174         * po/fr.po:
9175         * po/nl.po:
9176         * po/sr.po:
9177         * po/sv.po:
9178
9179 2004-04-20  Benjamin Otte  <otte@gnome.org>
9180
9181         * gst/schedulers/entryscheduler.c: 
9182         (gst_entry_scheduler_yield):
9183           refuse to yield when decoupled elements insist on doing that.
9184           At least it's better than crashing
9185
9186 2004-04-19  David Schleef  <ds@schleef.org>
9187
9188         * docs/libs/Makefile.am: Change sinclude to include
9189         * docs/gst/Makefile.am: same
9190         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9191
9192 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9193
9194         * po/LINGUAS:
9195         * po/uk.po:
9196           Added Ukrainian translation (Maxim V. Dziumanenko)
9197
9198 2004-04-19  Johan Dahlin  <johan@gnome.org>
9199
9200         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9201         checking here, do it before calling the function.
9202         Clean up, use for loops instead of while loops while iterating
9203         over lists.
9204
9205         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9206         in debug message.
9207         (gst_spider_create_and_plug): Improve debug message.
9208         General: Replace while loops which iterates over GLists with for
9209         loops. Which are much cleaner, improves readability, especially
9210         for gst_spider_identity_plug
9211
9212         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9213         fixes bug 140477
9214
9215 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9216
9217         * po/LINGUAS:
9218         * po/tr.po:
9219           Added Turkish translation (Baris Cicek)
9220
9221 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9222
9223         * docs/faq/troubleshooting.xml:
9224           Mention gst-register in the FAQ (fixes 139045).
9225
9226 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9227
9228         * docs/gst/gstreamer-sections.txt:
9229
9230 2004-04-17  Benjamin Otte  <otte@gnome.org>
9231
9232         * gst/gstelement.c: (gst_element_dispose):
9233           simplify
9234         * gst/gstpad.c: (gst_pad_call_chain_function):
9235           don't create loads of events due to bad macro usage
9236
9237 2004-04-16  David Schleef  <ds@schleef.org>
9238
9239         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9240         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9241         * gst/gstvalue.c: (gst_value_serialize_buffer),
9242         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9243         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9244         to indicate types that are fixed wrt caps or not.  Switching to
9245         this function fixes (bug #140298).
9246         * gst/gstvalue.h:
9247
9248 2004-04-16  David Schleef  <ds@schleef.org>
9249
9250         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9251         for GST_UNALIGNED_ACESS, since we essentially know which archs
9252         are ok.
9253
9254 2004-04-17  Benjamin Otte  <otte@gnome.org>
9255
9256         * docs/gst/Makefile.am:
9257           ignore gst/parse directory when building docs (fixes #140205)
9258
9259 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9260
9261         * testsuite/refcounting/mem.c: (vmsize):
9262           do error checking
9263
9264 2004-04-16  Johan Dahlin  <johan@gnome.org>
9265
9266         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9267         and gst_pad_call_get_function.
9268
9269 2004-04-15  David Schleef  <ds@schleef.org>
9270
9271         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9272         checks if we can access unaligned memory.
9273         * configure.ac: Use it.
9274
9275 2004-04-16  Benjamin Otte  <otte@gnome.org>
9276
9277         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9278         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9279         * gst/elements/gstfilesrc.h:
9280           s/seek_happened/need_discont/ and require discont before sending any
9281           data
9282
9283 2004-04-15  David Schleef  <ds@schleef.org>
9284
9285         * gst/gstvalue.c: (gst_value_serialize_buffer),
9286         (gst_value_deserialize_buffer), (_gst_value_initialize):
9287         Register these types as fundamental types. (bug #140015)
9288
9289 2004-04-16  Benjamin Otte  <otte@gnome.org>
9290
9291         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9292         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9293         (gst_pad_pull):
9294           implement enforcing discont events before buffers are passed. This
9295           allows state changes of only some elements and later correctly going
9296           on where they left off (or in short: you can now set audio sinks to
9297           NULL to release the device when the pipeline is paused)
9298         * gst/gstpad.c: (gst_pad_call_chain_function),
9299         (gst_pad_call_get_function):
9300         * gst/gstpad.h:
9301           add gst_pad_call_chain_function and gst_pad_call_get_function for
9302           scheduler interaction. They are required because of the changes
9303           above.
9304         * gst/schedulers/entryscheduler.c: (get_buffer),
9305         (gst_entry_scheduler_chain_wrapper),
9306         (gst_entry_scheduler_get_wrapper),
9307         (gst_entry_scheduler_state_transition),
9308         (gst_entry_scheduler_pad_link):
9309         * gst/schedulers/gstbasicscheduler.c:
9310         (gst_basic_scheduler_chain_wrapper),
9311         (gst_basic_scheduler_src_wrapper),
9312         (gst_basic_scheduler_chainhandler_proxy),
9313         (gst_basic_scheduler_gethandler_proxy),
9314         (gst_basic_scheduler_cothreaded_chain),
9315         (gst_basic_scheduler_chain_elements):
9316         * gst/schedulers/gstoptimalscheduler.c:
9317         (get_group_schedule_function), (pad_clear_queued),
9318         (gst_opt_scheduler_pad_link):
9319           use the new functions instead of calling get/chain-functions
9320           directly.
9321
9322 2004-04-15  David Schleef  <ds@schleef.org>
9323
9324         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9325         * docs/gst/tmpl/gstinfo.sgml: same
9326         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9327         gtk-doc put here.
9328         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9329         * examples/queue/queue.c: (main):  We iterate pipelines, not
9330         bins.  (bug #139996)
9331
9332 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9333
9334         * docs/pwg/advanced-types.xml:
9335           Add MS RLE support. Also document Qt RLE although I have no sample
9336           files for that yet. And document an extra property for ADPCM.
9337
9338 2004-04-15  David Schleef  <ds@schleef.org>
9339
9340         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9341         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9342         Windows.
9343
9344 2004-04-15  David Schleef  <ds@schleef.org>
9345
9346         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9347         symbol names to not conflict with new gstinfo.h symbols.
9348         * gst/gstinfo.h: Add inline functions for all those crazy
9349         compilers that don't know how to handle variadic macros (MSVC).
9350
9351 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9352
9353         * configure.ac: bump nano to 1
9354
9355 === release 0.8.1 ===
9356
9357 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9358
9359         * NEWS:
9360         * RELEASE:
9361         * configure.ac:
9362           releasing 0.8.1, "Snow Brigade"
9363
9364 2004-04-14  David Schleef  <ds@schleef.org>
9365
9366         * testsuite/Makefile.am: define tests_ignore
9367         * testsuite/Rules: Added new tests_ignore, which get compiled,
9368         but not run (generally because they're inconsistent or have
9369         heisenbugs).  Now we can ensure all the .c files compile in
9370         testsuite/.
9371         * testsuite/bins/Makefile.am: define tests_ignore
9372         * testsuite/bytestream/Makefile.am:
9373         * testsuite/caps/Makefile.am:
9374         * testsuite/clock/Makefile.am:
9375         * testsuite/debug/Makefile.am:
9376         * testsuite/debug/global.c: (gst_debug_log_one),
9377         (gst_debug_log_two): Fix compilation problem.
9378         * testsuite/dynparams/Makefile.am:
9379         * testsuite/elements/Makefile.am:
9380         * testsuite/ghostpads/Makefile.am:
9381         * testsuite/indexers/Makefile.am:
9382         * testsuite/parse/Makefile.am:
9383         * testsuite/plugin/Makefile.am:
9384         * testsuite/refcounting/Makefile.am:
9385         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9386         results, because it's not calculated correctly.
9387         * testsuite/refcounting/pad.c: (main): same
9388         * testsuite/states/Makefile.am:
9389         * testsuite/tags/Makefile.am:
9390         * testsuite/threads/Makefile.am:
9391
9392 2004-04-14  David Schleef  <ds@schleef.org>
9393
9394         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9395         generating bad code around the cpu detection asm code.
9396
9397 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9398
9399         * tools/gst-inspect.c: (print_element_info):
9400           print numeric version of rank as well, since we added some - 1
9401           rank values to elements
9402
9403 2004-04-13  David Schleef  <ds@schleef.org>
9404
9405         * configure.ac:  Disable various code when compiling for MinGW.
9406         * gst/elements/Makefile.am:
9407         * gst/elements/gstelements.c:
9408         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9409         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9410         * gst/registries/gstxmlregistry.c: (make_dir):
9411
9412 2004-04-13  David Schleef  <ds@schleef.org>
9413
9414         * gst/Makefile.am:
9415         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9416         assembly.
9417         * gst/gstcpuid_i386.s: remove
9418
9419 2004-04-13  David Schleef  <ds@schleef.org>
9420
9421         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9422         seems to think it needs to be done.
9423         * docs/gst/tmpl/gstfakesink.sgml:
9424         * docs/gst/tmpl/gstfakesrc.sgml:
9425         * docs/gst/tmpl/gstfdsink.sgml:
9426         * docs/gst/tmpl/gstfdsrc.sgml:
9427         * docs/gst/tmpl/gstfilesink.sgml:
9428         * docs/gst/tmpl/gstfilesrc.sgml:
9429         * docs/gst/tmpl/gstidentity.sgml:
9430         * docs/gst/tmpl/gstmd5sink.sgml:
9431         * docs/gst/tmpl/gstmultifilesrc.sgml:
9432         * docs/gst/tmpl/gstpipefilter.sgml:
9433         * docs/gst/tmpl/gstshaper.sgml:
9434         * docs/gst/tmpl/gstspider.sgml:
9435         * docs/gst/tmpl/gstspideridentity.sgml:
9436         * docs/gst/tmpl/gststatistics.sgml:
9437         * docs/gst/tmpl/gsttee.sgml:
9438         * docs/gst/tmpl/gsttypefind.sgml:
9439         * docs/gst/tmpl/gstutils.sgml:
9440
9441 2004-04-13  David Schleef  <ds@schleef.org>
9442
9443         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9444         and to build DLLs on Windows.
9445         * gst/Makefile.am:
9446         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9447         (gst_filesrc_open_file):
9448         * gst/schedulers/Makefile.am:
9449
9450 2004-04-13  David Schleef  <ds@schleef.org>
9451
9452         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9453         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9454         fixating lists.
9455
9456 2004-04-12  David Schleef  <ds@schleef.org>
9457
9458         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9459         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9460         to using it.
9461         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9462         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9463         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9464         * gst/gststructure.c: (gst_structure_set_valist),
9465         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9466         support for buffers.
9467         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
9468         intended to be const.
9469         * gst/gsttag.h: same
9470         * gst/gstvalue.c: (gst_value_serialize_buffer),
9471         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
9472         to (de)serialize buffers.
9473         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
9474         * testsuite/caps/string-conversions.c: (main):
9475         * testsuite/caps/value_serialize.c: add new test
9476
9477 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9478
9479         * docs/pwg/advanced-types.xml:
9480           Document MS video 1 (video/x-msvideocodec) mimetype/format.
9481
9482 2004-04-11  Benjamin Otte  <otte@gnome.org>
9483
9484         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
9485           rename categories to basic_*
9486         * gst/schedulers/gstbasicscheduler.c: 
9487         (gst_basic_scheduler_chain_wrapper),
9488         (gst_basic_scheduler_chainhandler_proxy),
9489         (gst_basic_scheduler_gethandler_proxy),
9490         (gst_basic_scheduler_eventhandler_proxy):
9491           debugging category fixes - put common stuff in log category
9492         * gst/schedulers/gstbasicscheduler.c: 
9493         (gst_basic_scheduler_chain_elements):
9494           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
9495           active and linking two active chains
9496
9497 2004-04-10  Benjamin Otte  <otte@gnome.org>
9498
9499         * docs/pwg/intro-preface.xml:
9500           fix dead links and remove reference to Wiki
9501
9502 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9503
9504         * gst/schedulers/gstbasicscheduler.c:
9505           make sure we can switch back to the main function if we're still in
9506           the main function (supposed to fix #139617)
9507         * gst/schedulers/gthread-cothreads.h:
9508           don't throw an error when switching to the same cothread
9509
9510 2004-04-09  Benjamin Otte  <otte@gnome.org>
9511
9512         * gst/gstbin.c: (gst_bin_get_type):
9513         * gst/gstclock.c: (gst_clock_get_type):
9514         * gst/gstindex.c: (gst_index_get_type):
9515         * gst/gstobject.c: (gst_object_get_type),
9516         (gst_signal_object_get_type):
9517         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
9518         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
9519         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
9520         * gst/gstqueue.c: (gst_queue_get_type):
9521         * gst/gstregistry.c: (gst_registry_get_type):
9522         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9523         * gst/gstthread.c: (gst_thread_get_type):
9524           don't use memchunks for these objects, use malloc instead
9525
9526 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9527
9528         * docs/gst/.cvsignore:
9529         * docs/gst/Makefile.am:
9530         * docs/gst/gstreamer-sections.txt:
9531         * docs/gst/tmpl/gstaggregator.sgml:
9532         * docs/gst/tmpl/gstbuffer.sgml:
9533         * docs/gst/tmpl/gstclock.sgml:
9534         * docs/gst/tmpl/gstelement.sgml:
9535         * docs/gst/tmpl/gstfakesink.sgml:
9536         * docs/gst/tmpl/gstfakesrc.sgml:
9537         * docs/gst/tmpl/gstfdsink.sgml:
9538         * docs/gst/tmpl/gstfdsrc.sgml:
9539         * docs/gst/tmpl/gstfilesink.sgml:
9540         * docs/gst/tmpl/gstfilesrc.sgml:
9541         * docs/gst/tmpl/gstidentity.sgml:
9542         * docs/gst/tmpl/gstindex.sgml:
9543         * docs/gst/tmpl/gstinfo.sgml:
9544         * docs/gst/tmpl/gstmd5sink.sgml:
9545         * docs/gst/tmpl/gstmultifilesrc.sgml:
9546         * docs/gst/tmpl/gstpad.sgml:
9547         * docs/gst/tmpl/gstpipefilter.sgml:
9548         * docs/gst/tmpl/gstpipeline.sgml:
9549         * docs/gst/tmpl/gstpluginfeature.sgml:
9550         * docs/gst/tmpl/gstqueue.sgml:
9551         * docs/gst/tmpl/gstregistry.sgml:
9552         * docs/gst/tmpl/gstscheduler.sgml:
9553         * docs/gst/tmpl/gstshaper.sgml:
9554         * docs/gst/tmpl/gstspider.sgml:
9555         * docs/gst/tmpl/gstspideridentity.sgml:
9556         * docs/gst/tmpl/gststatistics.sgml:
9557         * docs/gst/tmpl/gstsystemclock.sgml:
9558         * docs/gst/tmpl/gsttee.sgml:
9559         * docs/gst/tmpl/gstthread.sgml:
9560         * docs/gst/tmpl/gsttypefind.sgml:
9561         * docs/gst/tmpl/gstutils.sgml:
9562           further doc build fixes
9563
9564 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9565
9566         * docs/gst/Makefile.am:
9567           make docs exit on scanning problems
9568           fix nonsrcdir build issues
9569         * docs/gst/gstreamer-sections.txt:
9570           adding stuff from -unused
9571         * gst/gstqueue.h:
9572           create GstQueueSize
9573         * gst/schedulers/cothreads_compat.h:
9574           fix cothread warnings
9575
9576 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9577
9578         * docs/gst/gstreamer-sections.txt:
9579           remove defines deprecated by Benjamin
9580
9581 2004-04-07  Benjamin Otte  <otte@gnome.org>
9582
9583         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9584           when the buffer is complete, don't check if other buffers are needed
9585         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
9586           check that the offset is >0 so we don't try to read before the
9587           beginning of the file
9588         * gst/gstpad.c: (gst_pad_set_pad_template):
9589           sink the template, so we don't end up with 130k pad templates
9590
9591 2004-04-06  Benjamin Otte  <otte@gnome.org>
9592
9593         * gst/autoplug/gstspider.c: (gst_spider_link_add):
9594           don't ref the element, adding already reffed it. And we didn't unref
9595           it later anyway... (huge memleak when you used many spider elements)
9596         * gst/gstelement.c: (gst_element_base_class_finalize):
9597         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
9598         (gst_element_register):
9599         * gst/gsturi.c: (gst_element_make_from_uri):
9600           use gst_object_(un)ref instead of g_object(un)ref
9601
9602 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9603
9604         * gst/gstbuffer.h:
9605           remove macro that wouldn't work anymore because struct member has
9606           been removed.
9607         * gst/schedulers/entryscheduler.c: (schedule_forward):
9608           fix segfault for unconnected pads
9609         
9610 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9611
9612         reviewed by David Schleef <ds@schleef.org>
9613
9614         * gst/gstinfo.h:
9615           *_FORMAT modifiers should require putting a % in front of them for
9616           consistency reasons.
9617
9618 2004-04-05  Colin Walters  <walters@redhat.com>
9619
9620         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
9621         space.
9622
9623 2004-04-05  Benjamin Otte  <otte@gnome.org>
9624
9625         * configure.ac:
9626         * gst/Makefile.am:
9627         * gst/gst_private.h:
9628         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
9629           add support for detecting if GStreamer runs inside valgrind.
9630           requires valgrind (d'oh) and --enable-debug for correct cdetection.
9631           print a big message in valgrind that GStreamer has detected it's
9632           running inside and might now use different code.
9633         * gst/gstmemchunk.c: (populate), (free_area),
9634         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
9635         (gst_mem_chunk_free):
9636           flag memchunks for valgrind, so it can detect leaking of chunks.
9637           This allows detecting leaks of GstBuffer and GstEvent correctly
9638           inside valgrind.
9639
9640 2004-04-05  David Schleef  <ds@schleef.org>
9641
9642         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
9643           jensgr@gmx.net (Jens Granseuer)
9644
9645 2004-04-05  David Schleef  <ds@schleef.org>
9646
9647         * gst/gstbuffer.c: (_gst_buffer_sub_free),
9648         (gst_buffer_default_free), (gst_buffer_default_copy),
9649         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
9650         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
9651         structures in one place.
9652
9653 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9654
9655         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
9656           (GST_TIME_FORMAT, GST_TIME_ARGS)
9657
9658 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9659
9660         * testsuite/elements/Makefile.am:
9661           disable test until it stops breaking make distcheck
9662
9663 2004-04-05  Johan Dahlin  <johan@gnome.org>
9664
9665         * po/sv.po: Updated translation
9666
9667 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9668
9669         * gst/gstplugin.c: (gst_plugin_load_file):
9670           fix segfault for when original plugin was loaded statically
9671
9672 2004-04-05  Benjamin Otte  <otte@gnome.org>
9673
9674         * testsuite/debug/category.c: (main):
9675         * testsuite/debug/commandline.c: (main):
9676         * testsuite/debug/output.c: (main):
9677           fix tests to work again with debugging enabled
9678
9679 2004-04-05  Benjamin Otte  <otte@gnome.org>
9680
9681         * gst/schedulers/gstbasicscheduler.c:
9682         (gst_basic_scheduler_pad_link):
9683           fix to work with recent scheduling changes
9684
9685 2004-04-05  Benjamin Otte  <otte@gnome.org>
9686
9687         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
9688         prepareChangeLog doesn't work when cvs indents):
9689           don't throw an error when no element can be scheduled, there's too
9690           many weird reasons why it doesn't work. Return STOPPED instead.
9691           decoupled elemts' schedulability doesn't depend on bufpens.
9692
9693 2004-04-04  Benjamin Otte  <otte@gnome.org>
9694
9695         * gst/schedulers/gstbasicscheduler.c:
9696         (gst_basic_scheduler_pad_select):
9697           fix uninitialized variable warnings
9698
9699 2004-04-04  Benjamin Otte  <otte@gnome.org>
9700
9701         * gst/gstpad.c: (gst_pad_collect_valist):
9702           fix uninitialized variable warning
9703         * gst/schedulers/entryscheduler.c: (schedule_forward):
9704           fix shadowed variable
9705
9706 2004-04-04  Benjamin Otte  <otte@gnome.org>
9707
9708         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
9709         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
9710         (gst_pad_select):
9711         * gst/gstpad.h:
9712         * gst/gstscheduler.c: (gst_scheduler_pad_select),
9713         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
9714         * gst/gstscheduler.h:
9715           implement gst_pad_collect as replacement for gst_pad_select.
9716           deprecate gst_pad_select and gst_scheduler_(un)lock_element
9717           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
9718           new pad_select, lock and unlock calls.
9719         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
9720         * gst/cothreads.h:
9721         * gst/schedulers/cothreads_compat.h:
9722         * gst/schedulers/gthread-cothreads.h:
9723           remove unused cothread_lock and cothread_unlock calls
9724         * gst/schedulers/entryscheduler.c:
9725         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
9726         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
9727         (gst_entry_scheduler_pad_select):
9728           update to new API
9729         * gst/schedulers/gstbasicscheduler.c:
9730         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
9731         (gst_basic_scheduler_pad_select):
9732           remove useless lock and unlock calls, update pad_select to new API
9733           (untested)
9734         * gst/schedulers/gstoptimalscheduler.c:
9735         (gst_opt_scheduler_class_init):
9736           remove useless select, lock and unlock function calls
9737         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
9738           use gst_pad_collect instead of gst_pad_select
9739
9740 2004-04-04  Benjamin Otte  <otte@gnome.org>
9741
9742         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
9743         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
9744         (schedule_next_element), (print_entry):
9745           add can_schedule_pad to handle element states.
9746           add schedule_forward to select the correct entry to schedule next
9747
9748 2004-04-03  Benjamin Otte  <otte@gnome.org>
9749
9750         * gst/schedulers/entryscheduler.c: 
9751           remove unused variable, fix error inside Rb, fix compile warning in
9752           unreachable code
9753
9754 2004-04-03  Benjamin Otte  <otte@gnome.org>
9755
9756         * gst/schedulers/entryscheduler.c:
9757           completely revamp the inner workings, so it's a lot easier to
9758           understand and extend
9759
9760 2004-04-03  Andy Wingo  <wingo@pobox.com>
9761
9762         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
9763         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
9764         This allows better introspection of pipeline topology.
9765         (add_to_chain): Don't do trickery to put loop elements first;
9766         rather, queue a chain sort by marking the chain as dirty.
9767         (remove_from_chain): Mark the chain dirty.
9768         (sort_chain): New function. Sorts the group list so that terminal
9769         sinks are first. This means elements on the sink side will be
9770         preferentially sscheduled before elements on the src side of the
9771         pipeline.
9772         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
9773         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
9774         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
9775         (group_inc_link): Change argument and variable names to match the
9776         new link structure member names (src and sink).
9777         (group_dec_link): Add some description
9778
9779 2004-04-03  Benjamin Otte  <otte@gnome.org>
9780
9781         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9782         * gst/gstinfo.h:
9783         * testsuite/debug/category.c: (main):
9784         * testsuite/debug/commandline.c: (main):
9785         * testsuite/debug/output.c: (main):
9786         * testsuite/debug/printf_extension.c: (main):
9787           fix to successfully build and test with --disable-gst-debug
9788           configure switch (fixes #138705)
9789
9790 2004-04-03  Benjamin Otte  <otte@gnome.org>
9791
9792         * docs/pwg/building-boiler.xml:
9793           add cvs login line and s/anonymous/anoncvs/
9794
9795 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
9796
9797         reviewed by Benjamin Otte  <otte@gnome.org>
9798
9799         * gst/gststructure.c: (gst_structure_free):
9800           memleak fix: free fields array (partial fix for #134839)
9801
9802 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9803
9804         * docs/random/ds/0.9-suggested-changes:
9805           Add a note to change handoff use in fakesrc to be usable in
9806           a more generic way (fakesrc should be renamed to appsrc or so).
9807         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9808           Change signal type to scope, so we can fill the buffer in the
9809           handoff handler (that's the whole use of this signal...).
9810
9811 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9812
9813         * docs/pwg/other-ntoone.xml:
9814           Document muxers and n-to-1 elements.
9815
9816 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
9817
9818         * gst/registries/gstxmlregistry.c
9819         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
9820         determine if a file is a G_MODULE. The old one discards paths
9821         containing "so" somewhere in the middle. My home directory is
9822         called "soto". Go figure...
9823
9824 2004-03-31  David Schleef  <ds@schleef.org>
9825
9826         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
9827         to eventually deprecate gst_buffer_merge().  (bug: #136408)
9828         * gst/gstbuffer.h:
9829
9830 2004-03-31  David Schleef  <ds@schleef.org>
9831
9832         * gst/gstvalue.c: (gst_value_union_int_int_range),
9833         (gst_value_union_int_range_int_range), (gst_value_can_union),
9834         (gst_value_union), (_gst_value_initialize):  Add some union
9835         implementations.  We didn't have any previously.
9836         * testsuite/caps/Makefile.am:
9837         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
9838         (gst_audioscale_getcaps), (test_caps), (main): A little test
9839         that is the same as the caps manipulation in audioscale.
9840
9841 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9842
9843         * docs/faq/general.xml:
9844           add entry about "does gst support format X?"
9845
9846 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9847
9848         * gst/gstthread.c:
9849           fix docs
9850         * gst/gstutils.h:
9851           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
9852
9853 2004-03-30  Benjamin Otte  <otte@gnome.org>
9854
9855         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9856           set the offset of the buffer to the requested offset
9857         * gst/elements/gsttypefind.c: (stop_typefinding):
9858           revert patch 1.18 (which I unfortunately don't know the reason for).
9859           This is needed to allow downstream elements to seek. Otherwise
9860           typefind might overwrite a previous seek by downstream elements.
9861           This lead to errors with id3tag and typefind on some mp3s.
9862         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9863         (gst_entry_scheduler_iterate):
9864           be more verbose when debugging
9865
9866 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9867
9868         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9869           make sure we don't get NULL strings
9870
9871 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9872
9873         * gst/gstcaps.c:
9874         * gst/gstelement.c:
9875         * gst/gstelementfactory.c: (gst_element_factory_get_type):
9876         * gst/gstindex.c: (gst_index_resolver_get_type),
9877         (gst_index_get_type), (gst_index_factory_get_type):
9878         * gst/gstinfo.c:
9879         * gst/gstpad.c:
9880         * gst/gstplugin.c:
9881         * gst/gsturi.c: (gst_uri_handler_get_type):
9882         * gst/gstvalue.c:
9883           first batch of documentation fixes
9884
9885 2004-03-29  David Schleef  <ds@schleef.org>
9886
9887         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
9888         * docs/gst/gstreamer-docs.sgml:  More hacking
9889         * docs/gst/gstreamer-sections.txt:
9890         * docs/gst/tmpl/cothreads_compat.sgml:
9891         * docs/gst/tmpl/gstcaps.sgml:
9892         * docs/gst/tmpl/gstclock.sgml:
9893         * docs/gst/tmpl/gstelement.sgml:
9894         * docs/gst/tmpl/gstevent.sgml:
9895         * docs/gst/tmpl/gstpad.sgml:
9896         * docs/gst/tmpl/gstutils.sgml:
9897         * docs/gst/tmpl/gstxml.sgml:
9898         * docs/gst/tmpl/gthread-cothreads.sgml:
9899         * docs/random/ds/0.9-suggested-changes:
9900         * gst/elements/gstfakesink.h: doc fixes
9901         * gst/elements/gstfakesrc.h: doc fixes
9902         * gst/gstcaps.c: doc fixes
9903         * gst/gstcaps.h: doc fixes
9904         * gst/gstelement.c: doc fixes
9905         * gst/gstelement.h: doc fixes
9906         * gst/gstindex.c: doc fixes
9907         * gst/gstinfo.c: doc fixes
9908         * gst/gstpad.c: doc fixes
9909         * gst/gstpad.h: doc fixes
9910         * gst/gstplugin.c: doc fixes
9911         * gst/gsttypefind.h: doc fixes
9912         * gst/gsturi.c: doc fixes
9913         * gst/gstvalue.c: doc fixes
9914
9915 2004-03-29  Colin Walters  <walters@redhat.com>
9916
9917         * gst/registries/gstxmlregistry.c (get_time)
9918         (plugin_times_older_than_recurse):
9919         Use the result of stat to determine whether a path is a file,
9920         so we don't attempt to opendir() files.
9921
9922 2004-03-29  Benjamin Otte  <otte@gnome.org>
9923
9924         * gst/gstpad.c: (gst_pad_set_explicit_caps):
9925           print caps in debugging output when setting caps failed
9926         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9927         (schedule_next_element), (get_buffer), (run_chainhandler),
9928         (element_may_start), (gst_entry_scheduler_chain_handler),
9929         (gst_entry_scheduler_get_handler),
9930         (gst_entry_scheduler_state_transition),
9931         (gst_entry_scheduler_pad_link):
9932           make this scheduler a testcase for mandatory
9933           discont-before-first-buffer which is needed if we want to allow apps
9934           to release the sound device.
9935           add SCHED_ASSERT macro to print scheduler state before an assertion
9936           triggers.
9937
9938 2004-03-29  Benjamin Otte  <otte@gnome.org>
9939
9940         * COPYING:
9941           replace by LGPL (former COPYING.LIB). The core is completely
9942           licensed LGPL.
9943         * COPYING.LIB:
9944           remove
9945
9946 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9947
9948         * po/af.po:
9949         * po/sv.po:
9950           updated Afrikaans and Swedish
9951
9952 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9953
9954         * po/LINGUAS:
9955         * po/az.po:
9956           adding Azerbaijani (Mətin Əmirov)
9957
9958 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
9959
9960         * gst/gstelement.h: 
9961         * gst/gstelement.c (gst_element_set_time_delay): New function for
9962         setting element time taking into account a hardware buffering
9963         delay.
9964         (gst_element_set_time): Now just an invocation of
9965         gst_element_set_time_delay.
9966         * gst/gstclock.h: 
9967         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
9968         allowing to set event times in the future.
9969         (gst_clock_get_event_time): Now just an invocation of
9970         gst_clock_get_event_time_delay.
9971
9972 2004-03-28  Benjamin Otte  <otte@gnome.org>
9973
9974         * gst/gstbin.c: (gst_bin_set_element_sched),
9975         (gst_bin_unset_element_sched):
9976           don't add decoupled elements to schedulers - otherwise it's
9977           impossible to control if a link to a decoupled element was already
9978           removed from a scheduler or not.
9979         * gst/schedulers/cothreads_compat.h:
9980         * gst/schedulers/gthread-cothreads.h:
9981           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
9982           is no "unused" warning.
9983         * gst/schedulers/Makefile.am:
9984         * gst/schedulers/entryscheduler.c:
9985           add new scheduler, based on ideas from talking to David and Martin.
9986           It's supposed to be small and correct. Currently it's also slow (but
9987           it's not noticable)
9988         * examples/retag/retag.c: (main):
9989         * testsuite/bytestream/test1.c: (main):
9990           fix missing NULLs at end of variadic functions
9991         * testsuite/elements/.cvsignore:
9992           update
9993
9994 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
9995
9996         * gst/gstevent.h:
9997         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
9998
9999 2004-03-25  David Schleef  <ds@schleef.org>
10000
10001         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10002         * docs/gst/tmpl/gstaggregator.sgml:
10003         * docs/gst/tmpl/gstautoplugfactory.sgml:
10004         * docs/gst/tmpl/gstbin.sgml:
10005         * docs/gst/tmpl/gstbuffer.sgml:
10006         * docs/gst/tmpl/gstbufferstore.sgml:
10007         * docs/gst/tmpl/gstfakesink.sgml:
10008         * docs/gst/tmpl/gstfakesrc.sgml:
10009         * docs/gst/tmpl/gstmd5sink.sgml:
10010         * docs/gst/tmpl/gstreamer-unused.sgml:
10011         * docs/gst/tmpl/gstsearchfuncs.sgml:
10012         * docs/gst/tmpl/gstshaper.sgml:
10013         * docs/gst/tmpl/gstspider.sgml:
10014         * docs/gst/tmpl/gsttee.sgml:
10015         * docs/gst/tmpl/gstutils.sgml:
10016         * docs/gst/tmpl/gstvalue.sgml:
10017         * docs/gst/tmpl/gstxml.sgml:
10018         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10019         and we don't support it.
10020         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10021         (gst_use_threads), (gst_has_threads): same
10022         * gst/gstthreaddummy.c: same
10023         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10024         * gst/autoplug/gstspider.h: same
10025         * gst/elements/gstaggregator.h: Remove bogus function from header
10026         * gst/elements/gstfakesink.h: same
10027         * gst/elements/gstfakesrc.h: same
10028         * gst/elements/gstmd5sink.h: same
10029         * gst/elements/gstshaper.h: same
10030         * gst/elements/gsttee.h: same
10031         * gst/gstbin.c: doc fixes
10032         * gst/gstbin.h: Remove unused definition.
10033         * gst/gstbuffer.c: doc fixes
10034         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10035         * gst/gstfilter.c: doc fixes
10036         * gst/gsttag.c: doc fixes
10037         * gst/gstvalue.c: doc fixes
10038
10039 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10040
10041         * docs/pwg/advanced-types.xml:
10042           Document typefinding.
10043         * docs/pwg/other-oneton.xml:
10044           Document one-to-n elements, demuxers and parsers.
10045
10046 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10047
10048         reviewed by: David Schleef  <ds@schleef.org>
10049
10050         * configure.ac: Check bison version (bug #127838)
10051
10052 2004-03-25  David Schleef  <ds@schleef.org>
10053
10054         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10055         * docs/gst/gstreamer-sections.txt:
10056         * docs/gst/tmpl/gstautoplug.sgml:
10057         * docs/gst/tmpl/gststaticautoplug.sgml:
10058         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10059         * docs/gst/tmpl/gstutils.sgml:
10060         * docs/gst/tmpl/gstxml.sgml:
10061
10062 2004-03-24  David Schleef  <ds@schleef.org>
10063
10064         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10065         manual being such complete crap, that I decided to do major
10066         hacking of it.  This checkin replaces any fine tuning that
10067         may have been done previously, with the benefit of actually
10068         being complete for much of the API that was changed since
10069         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10070         * docs/gst/gstreamer-sections.txt:
10071         * docs/gst/tmpl/GstBin.sgml:
10072         * docs/gst/tmpl/GstBuffer.sgml:
10073         * docs/gst/tmpl/GstCaps.sgml:
10074         * docs/gst/tmpl/GstClock.sgml:
10075         * docs/gst/tmpl/GstCompat.sgml:
10076         * docs/gst/tmpl/GstData.sgml:
10077         * docs/gst/tmpl/GstElement.sgml:
10078         * docs/gst/tmpl/GstEvent.sgml:
10079         * docs/gst/tmpl/GstIndex.sgml:
10080         * docs/gst/tmpl/GstStructure.sgml:
10081         * docs/gst/tmpl/GstTag.sgml:
10082         * docs/gst/tmpl/cothreads.sgml:
10083         * docs/gst/tmpl/cothreads_compat.sgml:
10084         * docs/gst/tmpl/gettext.sgml:
10085         * docs/gst/tmpl/grammar.tab.sgml:
10086         * docs/gst/tmpl/gst-i18n-app.sgml:
10087         * docs/gst/tmpl/gst-i18n-lib.sgml:
10088         * docs/gst/tmpl/gst.sgml:
10089         * docs/gst/tmpl/gst_private.sgml:
10090         * docs/gst/tmpl/gstaggregator.sgml:
10091         * docs/gst/tmpl/gstarch.sgml:
10092         * docs/gst/tmpl/gstatomic.sgml:
10093         * docs/gst/tmpl/gstatomic_impl.sgml:
10094         * docs/gst/tmpl/gstbin.sgml:
10095         * docs/gst/tmpl/gstbuffer.sgml:
10096         * docs/gst/tmpl/gstbufferstore.sgml:
10097         * docs/gst/tmpl/gstcaps.sgml:
10098         * docs/gst/tmpl/gstclock.sgml:
10099         * docs/gst/tmpl/gstcompat.sgml:
10100         * docs/gst/tmpl/gstconfig.sgml:
10101         * docs/gst/tmpl/gstcpu.sgml:
10102         * docs/gst/tmpl/gstdata.sgml:
10103         * docs/gst/tmpl/gstdata_private.sgml:
10104         * docs/gst/tmpl/gstelement.sgml:
10105         * docs/gst/tmpl/gstenumtypes.sgml:
10106         * docs/gst/tmpl/gsterror.sgml:
10107         * docs/gst/tmpl/gstevent.sgml:
10108         * docs/gst/tmpl/gstfakesink.sgml:
10109         * docs/gst/tmpl/gstfakesrc.sgml:
10110         * docs/gst/tmpl/gstfilesink.sgml:
10111         * docs/gst/tmpl/gstfilter.sgml:
10112         * docs/gst/tmpl/gstindex.sgml:
10113         * docs/gst/tmpl/gstinfo.sgml:
10114         * docs/gst/tmpl/gstinterface.sgml:
10115         * docs/gst/tmpl/gstlog.sgml:
10116         * docs/gst/tmpl/gstmacros.sgml:
10117         * docs/gst/tmpl/gstmarshal.sgml:
10118         * docs/gst/tmpl/gstmd5sink.sgml:
10119         * docs/gst/tmpl/gstmultifilesrc.sgml:
10120         * docs/gst/tmpl/gstobject.sgml:
10121         * docs/gst/tmpl/gstpad.sgml:
10122         * docs/gst/tmpl/gstparse.sgml:
10123         * docs/gst/tmpl/gstpipeline.sgml:
10124         * docs/gst/tmpl/gstplugin.sgml:
10125         * docs/gst/tmpl/gstpluginfeature.sgml:
10126         * docs/gst/tmpl/gstqueue.sgml:
10127         * docs/gst/tmpl/gstreamer-unused.sgml:
10128         * docs/gst/tmpl/gstregistry.sgml:
10129         * docs/gst/tmpl/gstregistrypool.sgml:
10130         * docs/gst/tmpl/gstscheduler.sgml:
10131         * docs/gst/tmpl/gstsearchfuncs.sgml:
10132         * docs/gst/tmpl/gstshaper.sgml:
10133         * docs/gst/tmpl/gstspider.sgml:
10134         * docs/gst/tmpl/gstspideridentity.sgml:
10135         * docs/gst/tmpl/gststructure.sgml:
10136         * docs/gst/tmpl/gstsystemclock.sgml:
10137         * docs/gst/tmpl/gsttag.sgml:
10138         * docs/gst/tmpl/gsttaginterface.sgml:
10139         * docs/gst/tmpl/gsttee.sgml:
10140         * docs/gst/tmpl/gstthread.sgml:
10141         * docs/gst/tmpl/gsttrace.sgml:
10142         * docs/gst/tmpl/gsttrashstack.sgml:
10143         * docs/gst/tmpl/gsttypefind.sgml:
10144         * docs/gst/tmpl/gsttypes.sgml:
10145         * docs/gst/tmpl/gsturi.sgml:
10146         * docs/gst/tmpl/gsturitype.sgml:
10147         * docs/gst/tmpl/gstutils.sgml:
10148         * docs/gst/tmpl/gstvalue.sgml:
10149         * docs/gst/tmpl/gstversion.sgml:
10150         * docs/gst/tmpl/gstxml.sgml:
10151         * docs/gst/tmpl/gstxmlregistry.sgml:
10152         * docs/gst/tmpl/gthread-cothreads.sgml:
10153         * docs/gst/tmpl/types.sgml:
10154
10155 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10156
10157         * docs/pwg/other-sink.xml:
10158         * docs/pwg/other-source.xml:
10159           Documentation on how to write source and sink elements. Other
10160           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10161           manager, autoplugger) are all still pending.
10162
10163 2004-03-25  Benjamin Otte  <otte@gnome.org>
10164
10165         * testsuite/elements/Makefile.am:
10166         * testsuite/elements/gst-compprep-check:
10167           add check to make sure gst-compprep works
10168         * testsuite/elements/gst-inspect-check.in:
10169           improve initialization output
10170         * testsuite/Makefile.am:
10171         * testsuite/gst-inspect-check:
10172           remove old file
10173
10174 2004-03-24  David Schleef  <ds@schleef.org>
10175
10176         * testsuite/elements/Makefile.am:
10177         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10178         to the testsuite.
10179
10180 2004-03-24  Benjamin Otte  <otte@gnome.org>
10181
10182         * libs/gst/control/dparam.c: (gst_dparam_attach),
10183         (gst_dparam_detach):
10184         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10185           fix lvalue casts for real
10186
10187 2004-03-24  Benjamin Otte  <otte@gnome.org>
10188
10189         * gst/schedulers/gstbasicscheduler.c:
10190         (gst_basic_scheduler_src_wrapper):
10191         * gst/schedulers/gstoptimalscheduler.c:
10192         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10193         (pad_clear_queued), (gst_opt_scheduler_add_element),
10194         (gst_opt_scheduler_remove_element):
10195           fix GStreamer to not have issues with lvalue casts anymore (fixes
10196           #136841)
10197
10198 2004-03-24  Benjamin Otte  <otte@gnome.org>
10199
10200         * gst/gstelement.c:
10201           add documentation about a gobject quirk where the object hasn't the
10202           correct class pointer set on initialization
10203         * gst/schedulers/gstbasicscheduler.c:
10204         (gst_basic_scheduler_src_wrapper):
10205           make sure to not run into an infinite loop
10206
10207 2004-03-22  Benjamin Otte  <otte@gnome.org>
10208
10209         * gst/gstutils.c: (gst_util_dump_mem):
10210         * gst/gstutils.h:
10211           first argument of gst_util_dump_mem should be const
10212
10213 2004-03-22  Johan Dahlin  <johan@gnome.org>
10214
10215         * gst/gstvalue.h: Clean up a little bit.
10216
10217 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10218
10219         reviewed by Benjamin Otte  <otte@gnome.org>
10220
10221         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10222         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10223         (gst_aggregator_class_init), (gst_aggregator_init):
10224         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10225         (gst_filesrc_dispose), (gst_filesrc_set_location):
10226         * gst/elements/gstidentity.c: (gst_identity_finalize),
10227         (gst_identity_class_init), (gst_identity_chain):
10228         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10229         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10230         (gst_statistics_class_init):
10231         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10232         (gst_tee_get_property):
10233           clean up used memory in this elements correctly on teardown (closes
10234           #137279)
10235
10236 2004-03-20  Colin Walters  <walters@redhat.com>
10237
10238         * gst/registries/gstxmlregistry.c:
10239         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10240         registry saving atomic.
10241
10242 2004-03-20  Colin Walters  <walters@redhat.com>
10243
10244         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10245         Just use
10246         access() instead of actually creating and deleting files.
10247
10248 2004-03-18  David Schleef  <ds@schleef.org>
10249
10250         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10251         (bug #137625)
10252
10253 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10254
10255         * po/sv.po: updated translation (Christian Rose)
10256
10257 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10258
10259         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10260         (gst_filesink_get_query_types), (_do_init),
10261         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10262           return FALSE silently
10263         * po/af.po: updated translation (Petri Jooste)
10264
10265 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10266
10267         * Makefile.am:
10268         * configure.ac:
10269           dist common properly
10270         * po/af.po:
10271         * po/fr.po:
10272         * po/nl.po:
10273         * po/sr.po:
10274         * po/sv.po:
10275           refreshing translations
10276
10277 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10278
10279         * po/LINGUAS:
10280         * po/sv.po:
10281         * po/af.po:
10282           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10283
10284 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10285
10286         * Makefile.am: use common/release.mak
10287
10288 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10289
10290         * docs/faq/gst-uninstalled:
10291           adding gst-monkeysaudio to the list of possible plugin dirs
10292
10293 2004-03-16  David Schleef  <ds@schleef.org>
10294
10295         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10296         (gst_init_check_with_popt_table):  Fix some gettext strings to
10297         make them easier to translate.  Required making the strings
10298         non-const.
10299
10300 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10301
10302         * configure.ac: bump nano to 1
10303
10304 === release 0.8.0 ===
10305
10306 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10307
10308         * configure.ac: release 0.8.0, "Executive Slacks"
10309
10310 2004-03-16  Johan Dahlin  <johan@gnome.org>
10311
10312         * gst/schedulers/gstoptimalscheduler.c
10313         (gst_opt_scheduler_pad_unlink): Remove double ;,
10314         spotted by Scott Wheeler
10315
10316 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10317
10318         * configure.ac: bump libtool version
10319
10320 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10321
10322         * gst/gstcaps.h:
10323         * gst/gststructure.h:
10324           add reserved padding
10325
10326 2004-03-15  Benjamin Otte  <otte@gnome.org>
10327
10328         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10329           set the first parameter for select call correctly.
10330           (fixes #137230)
10331
10332 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10333
10334         * *.c,*.h: don't mix tabs and spaces
10335
10336 2004-03-15  Johan Dahlin  <johan@gnome.org>
10337
10338         * gst/schedulers/gstoptimalscheduler.c
10339         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10340         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10341
10342         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10343         
10344 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10345
10346         * testsuite/Rules:
10347           fix gst-register rules
10348
10349 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10350
10351         * testsuite/Rules:
10352           use versioned gst-register
10353
10354 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10355
10356         * docs/libs/gstreamer-libs-sections.txt:
10357           remove </SUBSECTION>
10358         * gst/gstplugin.c:
10359         * gst/gstregistry.c: (gst_registry_add_plugin):
10360         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10361         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10362           add debugging and fix some comment blocks
10363
10364 2004-03-15  Johan Dahlin  <johan@gnome.org>
10365
10366         * *.h: Revert indent changes.
10367         
10368 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10369
10370         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10371           g_error_free the g_error
10372         * tools/gst-feedback-m.m:
10373           check for other versions of gstreamer
10374         * tools/gst-indent:
10375           use sh, not bash
10376
10377 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10378
10379         * tools/gst-register.c: do not spill paths when registries are not
10380           writable, until we fix the "user running gst-register" case.
10381
10382 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10383
10384         * *.c, *.h: commit of gst-indent run on core
10385
10386 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10387
10388         * tools/gst-indent:
10389         * tools/Makefile.am:
10390           add our indentation style as a script
10391
10392 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10393
10394         * po/sr.po:
10395         * po/LINGUAS:
10396           added Serbian translation
10397
10398 2004-03-13  Benjamin Otte  <otte@gnome.org>
10399
10400         * gst/gstelement.c:
10401           add documentation note about gst_element_found_tags_for_pad not
10402           being usable in getfunctions. (see #137042)
10403
10404 2004-03-12  David Schleef  <ds@schleef.org>
10405
10406         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10407         change API right now!  Readd gst_caps_is_simple() macro.
10408         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10409         uninitialized variable.  I'd bet this caused crashes.
10410         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10411
10412 2004-03-12  Johan Dahlin  <johan@gnome.org>
10413
10414         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10415         * gst/gstcaps.h: Clean up
10416
10417         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10418         _gst_caps_initalize()
10419
10420         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10421         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10422
10423         * gst/gststructure.c (gst_structure_get_type): Ditto
10424
10425         * gst/gststructure.h: Ditto
10426         
10427 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10428
10429         * gst/gstqueue.c: (gst_queue_init):
10430           Reset default max. values in queues. Reason is simply to avoid
10431           braindead use. If you want wider values, use the properties. The
10432           default is supposed to always work. Wider values would make this
10433           beast a memory hog by default (250 full-PAL RGB32 video frames?
10434           That's 440 MB! No thank you).
10435
10436 2004-03-10  David Schleef  <ds@schleef.org>
10437
10438         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10439         were found.  (bug #136793)
10440
10441 2004-03-10  Johan Dahlin  <johan@gnome.org>
10442
10443         * gst/schedulers/gstoptimalscheduler.c
10444         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10445         links to elements within the same group, so we can finally remove
10446         that annoying warning. Refactor the code a little bit
10447         (group_dec_links_for_element): Split out
10448
10449 2004-03-09  David Schleef  <ds@schleef.org>
10450
10451         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10452         (bug #134863)
10453
10454 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10455
10456         * configure.ac: first bug fix due to major/minor bump
10457
10458 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10459
10460         * configure.ac: bump nano to 1
10461
10462 === release 0.7.6 ===
10463
10464 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10465
10466         * NEWS:
10467         * RELEASE:
10468         * configure.ac:
10469           releasing 0.7.6, "Almost"
10470         * po/fr.po:
10471         * po/nl.po:
10472         * tools/Makefile.am:
10473         * tools/gst-feedback-m.m:
10474           unversioned source
10475
10476 2004-03-09  Johan Dahlin  <johan@gnome.org>
10477
10478         Reviewed by: Thomas Vander Stichele
10479
10480         * gst/gstelement.c (gst_element_class_init): register second
10481         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
10482         language bindings can (de)marshall correctly.
10483
10484         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
10485
10486         * gst/gsterror.c (gst_g_error_get_type): New function
10487
10488         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
10489         with VOID:OBJECT,OBJECT,STRING 
10490
10491 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
10492
10493         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
10494         Free a leaked g_timer on early returns.
10495
10496 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10497
10498         * docs/pwg/advanced-types.xml:
10499           Add cinepak description.
10500
10501 2004-03-07  David Schleef  <ds@schleef.org>
10502
10503         * docs/random/mimetypes:  Added cinepak description
10504
10505 2004-03-07  Andy Wingo  <wingo@pobox.com>
10506
10507         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
10508
10509         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
10510         there are no links to other groups when a group is destroyed.
10511         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
10512         removed from a group, make sure the link count to elements linked
10513         to other pads is appropriately decremented. This really fixes
10514         #135672.
10515
10516         The 1.60->1.61 patch has been reapplied in light of this fix.
10517
10518         * gst/gstelement.c (gst_element_dispose): Really protect against
10519         multiple invocations this time.
10520
10521 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10522
10523         * docs/gst/gstreamer-sections.txt:
10524         * docs/gst/tmpl/gsttag.sgml:
10525           remove some deprecated functions, document some existing ones
10526         * gst/gsttag.c: (gst_tag_get_flag):
10527         * gst/gsttag.h:
10528           add accessor function
10529
10530 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10531
10532         * docs/gst/gstreamer-sections.txt:
10533         * docs/gst/tmpl/gsttag.sgml:
10534         * docs/gst/tmpl/gstxml.sgml:
10535         * gst/gsttag.c: (gst_tag_get_flag):
10536         * gst/gsttag.h:
10537
10538 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
10539
10540         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
10541         leak
10542
10543 2004-03-05  David Schleef  <ds@schleef.org>
10544
10545         * REQUIREMENTS: Add bison and flex.
10546         * configure.ac: Fix comment about bison.
10547         * docs/random/ds/0.9-suggested-changes: yer ma
10548         * tools/gst-inspect.c: (print_element_info):  Fix warning.
10549
10550 2004-03-05  Benjamin Otte  <otte@gnome.org>
10551
10552         * gst/gstelement.c: (gst_element_error_full):
10553           revert recent recursive state changing commit - messing with other
10554           elements' states is evil and should be done by apps only.
10555
10556 2004-03-05  Benjamin Otte  <otte@gnome.org>
10557
10558         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
10559           check for empty intersection instead of NULL caps
10560         (gst_element_get_compatible_pad_filtered):
10561           remove old workaround that is only a bug nowadays
10562
10563 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10564
10565         * gst/gstelement.c: (gst_element_error_full):
10566           make elements try to recursively change state to PAUSED on all
10567           parents after an error to suppress ensuing warnings
10568         * gst/parse/grammar.y:
10569           make it check if it was able to sync the state, and throw an error
10570           if not, so stuff like
10571           oggdemux ! vorbisdec ! osssink gets caught
10572
10573 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10574
10575         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
10576           it contains lib64; use AS_AC_EXPAND to handle it properly
10577
10578 2004-03-05  David Schleef  <ds@schleef.org>
10579
10580         * gst/gstcpuid_i386.s:  Remove unused code
10581         * libs/gst/getbits/getbits.c: (gst_getbits_init),
10582         (gst_getbits_newbuf): Remove MMX code
10583         * libs/gst/getbits/getbits.h: Remove MMX code
10584
10585 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
10586
10587         * debian/.cvsignore:
10588         * debian/README.Debian:
10589         * debian/changelog:
10590         * debian/control:
10591         * debian/control.in:
10592         * debian/copyright:
10593         * debian/gstreamer-core-libs-dev.files:
10594         * debian/gstreamer-core-libs.files:
10595         * debian/gstreamer-core.files:
10596         * debian/gstreamer-core.postinst:
10597         * debian/gstreamer-core.postrm:
10598         * debian/gstreamer-doc.files:
10599         * debian/gstreamer-doc.links:
10600         * debian/gstreamer-doc.lintian:
10601         * debian/gstreamer-runtime.files:
10602         * debian/gstreamer-runtime.manpages:
10603         * debian/gstreamer-runtime.postinst:
10604         * debian/gstreamer-runtime.postrm:
10605         * debian/gstreamer-tools.files:
10606         * debian/gstreamer-tools.manpages:
10607         * debian/libgstreamer-dev.files:
10608         * debian/libgstreamer0.4.1.files:
10609         * debian/libgstreamerVERSION.files:
10610         * debian/rules:
10611         Debian package info not maintained here.
10612
10613 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10614
10615         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10616         * gst/gstbin.c: (gst_bin_class_init):
10617         * gst/gstelement.c: (gst_element_class_init):
10618         * gst/gstindex.c: (gst_index_class_init):
10619         * gst/gstobject.c: (gst_object_class_init),
10620         (gst_signal_object_class_init):
10621         * gst/gstpad.c: (gst_pad_template_class_init):
10622         * gst/gstregistry.c: (gst_registry_class_init):
10623         * gst/gsturi.c: (gst_uri_handler_base_init):
10624         * gst/gstxml.c: (gst_xml_class_init):
10625         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10626         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
10627           make all signal names use dashes instead of underscore
10628
10629 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10630
10631         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
10632
10633 2004-03-03  Benjamin Otte  <otte@gnome.org>
10634
10635         * gst/schedulers/gstoptimalscheduler.c:
10636           revert last commit by Andy Wingo. It causes segfaults on unreffing
10637           in Rhythmbox. (see bug #135672)
10638
10639 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10640
10641         * po/fr.po: fix typo
10642
10643 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10644
10645         * tools/gst-inspect.c: (main): 
10646         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
10647
10648 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10649
10650         * configure.ac:
10651           get GLIB_ONLY and POPT flags for the nonversioned binaries
10652         * tools/Makefile.am:
10653           use them
10654
10655 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10656
10657         * gst/gst.c: (init_post):
10658           change so that GST_REGISTRY now is where the global registry gets
10659           saved, since that is where plugins now get attached to first, and
10660           spilled over to the user registry.  Note that in the case of using
10661           GST_REGISTRY env var, we don't want to affect any real registries
10662           beyond the one given by this var, and thus we don't set a user
10663           registry to spill to.  So make sure GST_REGISTRY is writable.
10664
10665 2004-03-01  David Schleef  <ds@schleef.org>
10666
10667         * AUTHORS:  Added some names.  Add yourself if you're missing.
10668
10669 2004-03-01  David Schleef  <ds@schleef.org>
10670
10671         * MAINTAINERS: Add
10672
10673 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10674
10675         * configure.ac:
10676           remove whitespace
10677         * docs/gst/tmpl/gstbuffer.sgml:
10678         * docs/gst/tmpl/gstdata.sgml:
10679         * docs/gst/tmpl/gstreamer-unused.sgml:
10680         * docs/gst/tmpl/gstxml.sgml:
10681           doc update
10682         * docs/manuals.mak:
10683           add a FIXME
10684         * docs/pwg/intro-preface.xml:
10685         * docs/pwg/pwg.xml:
10686           remove GNOME
10687         * gst/gst.c: (init_post):
10688           try GST_PLUGIN_PATH paths for the _global_registry first
10689         * gst/gstelement.h:
10690           add the error message as well, otherwise (null) debug info doesn't
10691           make much sense
10692         * tools/gst-register.c: (main):
10693           spill paths to next registry if this registry is not writable
10694         * po/fr.po:
10695         * po/nl.po:
10696           translation updates
10697
10698 2004-03-01  Johan Dahlin  <johan@gnome.org>
10699
10700         * gst/gstbuffer.c (_gst_buffer_initialize): 
10701         * gst/gstdata.c (gst_data_get_type): 
10702         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
10703         instead of ref, since some applications that uses GBoxed
10704         routines depends on a function that actually returns a copy.
10705
10706 2004-02-27  Benjamin Otte  <otte@gnome.org>
10707
10708         * gst/gstbuffer.h:
10709           remove gst_buffer_free, use gst_data_unref
10710         * gst/gstdata.c: (gst_data_get_type):
10711           use refcounting in GstData GBoxed registration
10712         * gst/gstdata.h:
10713           remove gst_data_free, use gst_data_unref
10714
10715 2004-02-27  Johan Dahlin  <johan@gnome.org>
10716
10717         * gst/gstdata.c (gst_data_get_type): New function, register
10718         GstData as a GBoxed type.
10719
10720         * gst/gstdata.h (GST_TYPE_DATA): New macro
10721
10722 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10723
10724         * Makefile.am:
10725         * gstreamer.spec.in:
10726           put back RELEASE
10727         * gst/Makefile.am:
10728           clean up non-disting of built files
10729         * testsuite/debug/commandline.c:
10730           test fix for option rename
10731
10732 2004-02-26  David Schleef  <ds@schleef.org>
10733
10734         * configure.ac:  We don't really need glib-2.3.  Also remove
10735         some unneeded checks for library functions.
10736         * gst/Makefile.am:  Instead, we need to not dist files created
10737         by glib-genmarshal.
10738
10739 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10740
10741         * configure.ac:
10742           bump glib required version to 2.3.0 for g_value_takes_boxed
10743
10744  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
10745
10746         * common/m4/gst-docs.m4
10747         change flavour text from enable to disable as enable is our default
10748         closes bug Bug 135304
10749
10750 === release 0.7.5 ===
10751  
10752  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10753  
10754         * NEWS:
10755           instate NEWS file
10756         * Makefile.am:
10757         * gstreamer.spec.in:
10758         * RELEASE:
10759           put back release
10760         * configure.ac:
10761         * docs/random/release:
10762           more updates
10763
10764 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10765
10766         * gst/gsttag.c: (_gst_tag_initialize):
10767         * po/fr.po:
10768         * po/nl.po:
10769           remove hyphen from codec tags
10770
10771 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10772
10773         * gst/parse/Makefile.am:
10774           fix dependency so that a make from a clean build works the first
10775           time
10776
10777 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10778
10779         * docs/random/release:
10780           update release strategy
10781         * po/fr.po:
10782           auto-update po file
10783         * po/nl.po:
10784           update dutch translation
10785
10786 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10787
10788         * docs/manual/debugging.xml:
10789         fix manual for new debugging system
10790
10791 2004-02-25  Andy Wingo  <wingo@pobox.com>
10792
10793         * gst/gstpad.c (gst_pad_link_prepare): Re-add
10794         gst_pad_link_prepare. Please email the list with specific reasons
10795         for reverting.
10796
10797 2004-02-24  Andy Wingo  <wingo@pobox.com>
10798
10799         * gst/gstelement.c (gst_element_dispose): Protect against multiple
10800         invocations.
10801
10802         * gst/schedulers/gstoptimalscheduler.c:
10803         I added a mess of prototypes at the top of the file by way of
10804         documentation. Some of the operations on chains and groups were
10805         re-organized.
10806
10807         (create_group): Added a type argument so if the group is enabled,
10808         the setup_group_scheduler knows what to do.
10809         (group_elements): Added a type argument here, too, to be passed on
10810         to create_group.
10811         (group_element_set_enabled): If an unlinked PLAYING element is
10812         added to a bin, we have to create a new group to hold the element,
10813         and this function will be called before the group is added to the
10814         chain. Thus we have a valid case for group->chain==NULL. Instead
10815         of calling chain_group_set_enabled, just set the flag on the group
10816         (the chain's status will be set when the group is added to it).
10817         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
10818         Setup the group scheduler when the group is enabled, not
10819         specifically when an element goes PAUSED->PLAYING. This means
10820         PLAYING elements can be added, linked, and scheduled into a
10821         PLAYING pipeline, as was intended.
10822         (add_to_group): Don't ref the group twice. I don't know when this
10823         double-ref got in here. Removing it has the potential to cause
10824         segfaults if other parts of the scheduler are buggy. If you find
10825         that the scheduler is segfaulting for you, put in an extra ref
10826         here and see if that hacks over the underlying issue. Of course,
10827         then find out what code is unreffing a group it doesn't own...
10828         (create_group): Make the extra refcount floating, and remove it
10829         after adding the element. This means that...
10830         (unref_group): Destroy when the refcount reaches 0, not 1, like
10831         every other refcounted object in the known universe.
10832         (remove_from_group): When a group becomes empty, set it to be not
10833         active, and remove it from its chain. Don't unref it again,
10834         there's no floating reference any more.
10835         (destroy_group): We have to remove the group from the chain in
10836         remove_from_group (rather than here) to break refcounting cycles
10837         (the chain always has a ref on the group). So assert that
10838         group->chain==NULL.
10839         (ref_group_by_count): Removed, it was commented out anyway.
10840         (merge_chains): Use the remove_from_chain and add_to_chain
10841         primitives to do the reparenting, instead of rolling our own
10842         implementation.
10843         (add_to_chain): The first non-disabled group in the chain's group
10844         list will be the entry point for the chain. Because buffers can
10845         accumulate in loop elements' peer bufpens, we preferentially
10846         schedule loop groups before get groups to avoid unnecessary
10847         execution of get-based groups when the bufpens are already full.
10848         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
10849         (get_group_schedule_function): Ditto.
10850         (loop_group_schedule_function): Ditto.
10851         (gst_opt_scheduler_loop_wrapper): Ditto.
10852         (gst_opt_scheduler_iterate): Ditto.
10853
10854         I understand the opt scheduler now, yippee!
10855
10856         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
10857         (gst_pad_get_name, gst_pad_set_chain_function) 
10858         (gst_pad_set_get_function, gst_pad_set_event_function) 
10859         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
10860         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
10861         (gst_pad_set_query_function, gst_pad_get_query_types) 
10862         (gst_pad_get_query_types_default) 
10863         (gst_pad_set_internal_link_function) 
10864         (gst_pad_set_formats_function, gst_pad_set_link_function) 
10865         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
10866         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
10867         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
10868         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
10869         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
10870         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
10871         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
10872         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
10873         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
10874         (gst_pad_event_default_dispatch, gst_pad_event_default) 
10875         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
10876         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
10877         (gst_pad_get_formats_default, gst_pad_get_formats): Better
10878         argument checks, and some doc fixes.
10879
10880         (gst_pad_custom_new_from_template): Um, does anyone
10881         use these functions? Actually make a custom pad instead of a
10882         normal one.
10883         (gst_pad_try_set_caps): Transpose some checks.
10884         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
10885         the pad is in negotiation.
10886         (gst_pad_try_relink_filtered): Use pad_link_prepare.
10887         
10888         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
10889
10890         * gst/gstelement.h: 
10891         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
10892         on the list.
10893
10894 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10895
10896         * gst/gstbin.c: (gst_bin_add):
10897           add error for not being able to add elements
10898
10899 2004-02-22  Julien MOUTTE <julien@moutte.net>
10900
10901         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
10902         audio-codec and video-codec.
10903
10904 2004-02-22  Benjamin Otte  <otte@gnome.org>
10905
10906         reported by: Padraig O'Briain <padraig.obriain@sun.com>
10907
10908         * autogen.sh:
10909           replace test -e with test -x for mkinstalldirs to be more portable.
10910           (fixes #134816)
10911
10912 2004-02-22  Benjamin Otte  <otte@gnome.org>
10913
10914         * gst/gstpad.c:
10915           revert last patch from Andy, it makes gst_pad_can_link_filtered much
10916           too noisy
10917         * gst/gsttag.c: (_gst_tag_initialize):
10918         * gst/gsttag.h:
10919           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
10920         * libs/gst/control/dparam.c: (gst_dparam_attach):
10921         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
10922           check that types for attached dparams match
10923
10924 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10925
10926         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10927         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10928         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10929           fix errors
10930
10931 2004-02-20  Andy Wingo  <wingo@pobox.com>
10932
10933         * gst/gstbin.c:
10934         * gst/gstbuffer.c:
10935         * gst/gstplugin.c:
10936         * gst/registries/gstxmlregistry.c: 
10937         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
10938
10939         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
10940         (gst_element_add_pad): DEBUG->INFO, some fixes.
10941         (gst_element_get_compatible_pad_template): Just see if the
10942         templates' caps intersect, not if one is a strict subset of the
10943         other. This conforms more to what gst_pad_link_intersect() does.
10944         (gst_element_class_add_pad_template): Don't memcpy the pad
10945         template, just ref it.
10946         (gst_element_get_compatible_pad_filtered): Clean up debug messages
10947
10948         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
10949         (gst_pad_link_filtered): Debug changes.
10950         (gst_pad_link_prepare): New function, consolidated from
10951         can_link_filtered and link_filtered.
10952
10953         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
10954         look more like that of the functions in gstelement.c
10955
10956         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
10957         object, and return the empty string if object is NULL.
10958
10959         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
10960         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
10961         LOG, not DEBUG. We still get flex info on debug.
10962
10963         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
10964         debug string more verbose.
10965         (plugin_times_older_than): DEBUG->LOG.
10966
10967 2004-02-20  Julien MOUTTE <julien@moutte.net>
10968
10969         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
10970         will emit found_tag for each stream they demux with the codec.
10971
10972 2004-02-20  Benjamin Otte  <otte@gnome.org>
10973
10974         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
10975           copy navigation event correctly. Check freeing tag lists. 
10976         * gst/gstthread.c: (gst_thread_change_state):
10977           don't abort() on state changing mess - it might happen because of
10978           bugs.
10979         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
10980           use boxed functions
10981         * gst/gstvalue.h:
10982           fix GST_VALUE_HOLDS_CAPS
10983
10984 2004-02-19  David Schleef  <ds@schleef.org>
10985
10986         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
10987         and use it for GST_FUNCTION.  (bug #134750)
10988
10989 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10990
10991         * po/fr.po:
10992         * po/nl.po:
10993           updating translations
10994
10995 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10996
10997         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
10998
10999 2004-02-18  kost@imn.htwk-leipzig.de
11000
11001         reviewed by: David Schleef  <ds@schleef.org>
11002
11003         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11004         for libgstcontrol.
11005
11006 2004-02-18  David Schleef  <ds@schleef.org>
11007
11008         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11009         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11010         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11011         * tools/gst-inspect.c: (print_element_info): Support dumping of
11012         double dparam information.
11013
11014 2004-02-17  David Schleef  <ds@schleef.org>
11015
11016         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11017         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11018         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11019         Use GST_TYPE_CAPS in signal prototype.
11020         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11021         Convert GST_TYPE_CAPS to boxed.
11022         * gst/gstelement.c: (gst_element_class_init):
11023         Use GST_TYPE_TAG_LIST in signal prototype.
11024         * gst/gstindex.c: (gst_index_class_init):
11025         * gst/gstindex.h:
11026         Add GST_TYPE_INDEX_ENTRY type.
11027         * gst/gstmarshal.list:
11028         Add necessary marshal types.
11029         * gst/gstpad.c: (gst_real_pad_class_init),
11030         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11031         (gst_pad_recover_caps_error):
11032         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11033         * gst/gststructure.c: (_gst_structure_initialize),
11034         (gst_structure_copy), (_gst_structure_copy_conditional):
11035         * gst/gststructure.h:
11036         Convert GST_TYPE_STRUCTURE to boxed.
11037         * gst/gsttag.c: (gst_tag_list_get_type):
11038         * gst/gsttag.h:
11039         Add GST_TYPE_TAG_LIST type.
11040
11041 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11042
11043         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11044         to what we agreed with david.
11045         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11046
11047 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11048
11049         * po/nl.po: update translation
11050
11051 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11052
11053         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11054           throw an error if spider is trying to play a mime type there is
11055           no decoder for
11056         * po/POTFILES.in:
11057           add gst/autoplug/gstspider.c for translation
11058
11059 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11060
11061         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11062         silently when the pad is negotiating.
11063
11064 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11065
11066         * docs/faq/Makefile.am:
11067           add script to run gstreamer uninstalled 
11068         * docs/faq/faq.xml:
11069         * docs/faq/developing.xml:
11070         * docs/faq/gst-uninstalled:
11071           extract script to run gstreamer uninstalled
11072         * docs/manuals.mak:
11073           add EXTRA_SOURCES variable for Makefile.am's to set to
11074           use additional SOURCE files for the doc build
11075
11076 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11077
11078         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11079
11080 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11081
11082         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11083         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11084         an error was thrown by osssink. Basically a state change failure for
11085         an element in a different scheduling group was considered as
11086         successful, which means that caps nego was going on and weird stuff
11087         happened. Like I wrote in the comment there, if someone wants to
11088         revert that please drop me a mail explaining why because I really see
11089         no point in keeping that broken behaviour there.
11090         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11091         be empty, we then return NULL which will trigger a nice error when 
11092         pulling from the pad.
11093
11094 2004-02-13  David Schleef  <ds@schleef.org>
11095
11096         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11097         (gst_dparam_get_property), (gst_dparam_set_property),
11098         (gst_dparam_do_update_default):
11099         * libs/gst/control/dparam.h:
11100         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11101         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11102         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11103         (gst_dpsmooth_do_update_double):
11104         * libs/gst/control/dparam_smooth.h:
11105         * libs/gst/control/dparammanager.c:
11106         (gst_dpman_inline_direct_update):
11107         Add support for double dparams.
11108
11109 2004-02-13  David Schleef  <ds@schleef.org>
11110
11111         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11112         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11113
11114 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11115
11116         reviewed by: David Schleef  <ds@schleef.org>
11117
11118         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11119         (gst_fdsrc_init), (gst_fdsrc_set_property),
11120         (gst_fdsrc_get_property), (gst_fdsrc_get):
11121         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11122         and sends an EOS event if file descriptor reading times out.
11123
11124 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11125
11126         * configure.ac:
11127           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11128
11129 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11130
11131         * configure.ac: pass required libxml version as argument
11132         (bug reported by Christophe Fergeau)
11133
11134 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11135   
11136         * docs/gst/gstreamer-docs.sgml:
11137         * docs/gst/tmpl/gstxml.sgml:
11138         * docs/libs/gstreamer-libs-docs.sgml:
11139           version API docs
11140
11141 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11142
11143         * gst/gstinfo.c:
11144         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11145         (gst_registry_pool_feature_filter):
11146         * gst/gstthread.c: (gst_thread_class_init):
11147         * gst/gstvalue.c:
11148           add includes exposed by building without libxml
11149         * gst/indexers/Makefile.am:
11150           do not build fileindex when LOADSAVE disabled; we should have
11151           a better libxml check later since fileindex depends on xml, not
11152           LOADSAVE or REGISTRY
11153         * libs/gst/control/Makefile.am:
11154           link with m
11155         * tools/Makefile.am:
11156           fix wrong source code for gst-xmlinspect
11157
11158 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11159
11160         * configure.ac:
11161           fix gcov help output
11162           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11163         * docs/random/release:
11164           some updated releasing notes
11165         * gstreamer.spec.in:
11166           more updates
11167
11168 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11169
11170         * docs/faq/faq.xml:
11171         * docs/manual/manual.xml:
11172         * docs/pwg/pwg.xml:
11173         * docs/pwg/titlepage.xml:
11174           put version in documentation
11175
11176 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11177
11178         * tools/Makefile.am: fix man page installation
11179
11180 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11181
11182         * configure.ac:
11183           don't check for libxml when load/save and registry disabled (#105844)
11184         * gstreamer.spec.in:
11185           sync with fedora candidate spec
11186
11187 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11188
11189         * po/fr.po:
11190         * po/nl.po:
11191           replace multidisksrc with multifilesrc
11192
11193 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11194
11195         * po/POTFILES.in:
11196           update to multidisksrc => multifilesrc file renaming (#134145)
11197
11198 2004-02-11  David Schleef  <ds@schleef.org>
11199
11200         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11201         * docs/gst/tmpl/gstpadtemplate.sgml: same
11202         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11203         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11204         fixing dance.
11205         * gst/gstutils.c: Remove disabled code that uses GstProps.
11206         * gst/registries/gstxmlregistry.h: same
11207         * docs/random/ds/0.9-suggested-changes: random notes
11208
11209 2004-02-11  kost@imn.htwk-leipzig.de
11210
11211         reviewed by: David Schleef  <ds@schleef.org>
11212
11213         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11214         initialisation of clock (bug #134128)
11215
11216 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11217
11218         * configure.ac:
11219         * gst/elements/Makefile.am:
11220         * gst/elements/gstelements.c:
11221         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11222         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11223         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11224         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11225         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11226         * gst/elements/gstmultifilesrc.h:
11227           rename multidisksrc to multifilesrc (part of #122200)
11228
11229 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11230
11231         * docs/manuals.mak:
11232           fix automake complaints
11233         * gst-element-check.m4:
11234           fix unquotedness
11235
11236 2004-02-11  David Schleef  <ds@schleef.org>
11237
11238         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11239         * gst/gstatomic_impl.h: Disable sparc implementation.
11240
11241 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11242
11243         * gst-element-check.m4:
11244           fix underquoted macros as reported by automake 1.8.x (#133800)
11245         * configure.ac:
11246           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11247           by autopoint (fixes #132996)
11248
11249 2004-02-10  Andy Wingo  <wingo@pobox.com>
11250
11251         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11252         way to do inheritance.
11253         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11254         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11255         Routine docs.
11256         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11257         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11258         doc.
11259         (gst_pad_unlink, gst_pad_is_linked): Docs.
11260         (gst_pad_renegotiate): A brief description of capsnego.
11261         (gst_pad_try_set_caps): Document.
11262         (gst_pad_try_set_caps_nonfixed): Document.
11263         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11264         (gst_pad_set_parent): Deprecated (although not out of the API).
11265         (gst_pad_get_parent): Deprecated, although many plugins use this.
11266         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11267         are private and will go away in 0.9.
11268         (gst_pad_perform_negotiate): Doc.
11269         (gst_pad_link_unnegotiate): I think this is meant to be static.
11270         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11271         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11272         (gst_pad_get_peer): Doc updates.
11273         (gst_pad_caps_change_notify): Doc.
11274         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11275         (gst_ghost_pad_new): Doc fixes.
11276
11277         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11278         (gst_object_check_uniqueness): 
11279
11280         * gst/gstelement.c (gst_element_add_pad) 
11281         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11282         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11283         (gst_element_get_static_pad, gst_element_get_pad_list) 
11284         (gst_element_class_get_pad_template_list) 
11285         (gst_element_class_get_pad_template): Work on the docs.
11286         (gst_element_get_pad_template_list): Uses the class method.
11287         (gst_element_get_compatible_pad_template): Docs, and consolidate
11288         some test conditions. 
11289         (gst_element_get_pad_from_template): New static function.
11290         (gst_element_request_compatible_pad): Docs, and work with
11291         non-request compatible templates. 
11292         (gst_element_get_compatible_pad_filtered): Docs and remove
11293         redundant checks.
11294         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11295         (gst_element_link_filtered, gst_element_link_many) 
11296         (gst_element_link, gst_element_link_pads) 
11297         (gst_element_unlink_many): Docs.
11298
11299 2004-02-05  Andy Wingo  <wingo@pobox.com>
11300
11301         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11302         s/pointer/boxed/.
11303
11304         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11305
11306         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11307         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11308         with the type=GST_TYPE_CAPS. This allows language bindings to know
11309         what kind of data they're dealing with.
11310
11311         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11312         to NULL when g_value_init is called. GstCaps, which rolls its own
11313         type implementation, now does the same instead of allocating empty
11314         caps.
11315         (_gst_caps_initialize, _gst_caps_collect_value,
11316         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11317         table methods. This allows G_VALUE_COLLECT to work.
11318
11319 2004-02-05  Andy Wingo  <wingo@pobox.com>
11320
11321         * configure.ac:
11322         * testsuite/Makefile.am (SUBDIRS): 
11323         * testsuite/ghostpads/Makefile.am: 
11324         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11325
11326         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11327         These two routines are the only ones that set
11328         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11329         pad template. They should be made static, depending on ABI needs.
11330         (gst_real_pad_dispose): Handle the case of ghost pads without a
11331         parent. Assert after dealing with ghost pads that the ghost pad
11332         list is empty.
11333         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11334         set after creation.
11335         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11336         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11337         functions. set_property will call add_ghost_pad/remove_ghost_pad
11338         as appropriate.
11339         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11340
11341         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11342         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11343         (gst_element_remove_pad): Handle ghost pads as well.
11344         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11345         depending on API-stability needs).
11346
11347 2004-02-05  Andy Wingo  <wingo@pobox.com>
11348
11349         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11350         of course they're const
11351
11352 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11353
11354         * tools/Makefile.am:
11355         * tools/gst-feedback:
11356         * tools/gst-feedback-0.7:
11357           make gst-feedback versioned too for consistency
11358
11359 2004-02-11  David Schleef  <ds@schleef.org>
11360
11361         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11362         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11363
11364 2004-02-10  Julien MOUTTE <julien@moutte.net>
11365
11366         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11367         the structure does not contain a valid tag list. Adding a safety check
11368         to remove a noisy warning in that case.
11369
11370 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11371
11372         * gst/gst.c: fix name to be in line with others
11373
11374 2004-02-09  Julien MOUTTE <julien@moutte.net>
11375
11376         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11377         not shout that loud when len is 0. Just return 0 silently.
11378
11379 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11380
11381         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11382         because data_unref has one and I prefer the debug to be symetric.
11383         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11384         were refed when added to the queue and unrefed only once when the queue
11385         was flushed. Now the flush handler unref the buffers two times : first
11386         unref for the ref added when pushing in the queue's tail and second
11387         unref to destroy the flushed buffer.
11388
11389 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11390
11391         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11392
11393 2004-02-06  David Schleef  <ds@schleef.org>
11394
11395         * docs/random/ds/0.9-suggested-changes: Random ramblings
11396         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11397         to int before printing.
11398         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11399         * gst/parse/parse.l: same.  See bug #129600
11400
11401 2004-02-06  David Schleef  <ds@schleef.org>
11402
11403         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11404         (gst_index_add_entry), (gst_index_add_associationv),
11405         (gst_index_add_association): Add gst_index_add_associationv()
11406         and clean up gst_index_add_association(). #127133
11407
11408 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11409
11410         * autogen.sh: check out common with right tag if CVS/Tag exists
11411
11412 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11413
11414         * testsuite/ghostpads/ghostpads.c: (main):
11415           fix testsuite from segfaulting
11416
11417 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11418
11419         * Makefile.am: add release target
11420         * configure.ac: bump nano to 1
11421         * docs/random/release:
11422
11423 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11424
11425         * gst/gstcaps.h:
11426         * gst/gstelement.c: (gst_element_base_class_init),
11427         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11428         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11429         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11430         (gst_real_pad_dispose):
11431         * gst/gststructure.c: (gst_structure_free),
11432         (gst_structure_from_string):
11433           put reverted patch back in
11434         * gst/gstelement.c: (gst_element_remove_pad):
11435           free explicit caps if they're set
11436         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11437           copy the structure when fixating
11438
11439 2004-02-05  David Schleef  <ds@schleef.org>
11440
11441         * gst/gstmarshal.list:
11442         * gst/gstpad.c: (gst_real_pad_class_init),
11443         (_gst_real_pad_fixate_accumulator):
11444         Revert POINTER->BOXED change in signal marshaller.
11445
11446 === release 0.7.4 ===
11447                                                                                 
11448 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11449                                                                                 
11450         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11451         * configure.ac: changed for release
11452
11453 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11454
11455         * gstreamer.spec.in:
11456           bump required version of gtk-doc
11457
11458 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11459
11460         * gst/gstcaps.h:
11461         * gst/gstelement.c: (gst_element_base_class_init),
11462         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11463         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11464         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11465         (gst_real_pad_dispose):
11466         * gst/gststructure.c: (gst_structure_free),
11467         (gst_structure_from_string):
11468           revert patch that breaks applications, reapply after release
11469           to get this fixed properly
11470
11471 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11472
11473         * gst/gsttag.c: (_gst_tag_initialize):
11474         * gst/gsttag.h:
11475           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
11476
11477 2004-02-04  David Schleef  <ds@schleef.org>
11478
11479         Fix some memleaks:
11480         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
11481         (gst_spider_plug_from_srcpad):
11482         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
11483
11484 2004-02-04  David Schleef  <ds@schleef.org>
11485
11486         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
11487         a GstRealPad before accessing its structure members.
11488
11489 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11490
11491         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
11492         (gst_clock_get_speed):
11493         * gst/gstclock.h:
11494           reset padding, remove unused fields
11495
11496 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11497
11498         * gst/autoplug/gstspideridentity.c:
11499         (gst_spider_identity_sink_loop_type_finding):
11500           use get_allowed_caps, not get_caps (fixes #132519)
11501         * gst/elements/gsttypefind.c: (stop_typefinding):
11502           use correct order when sending buffers and seeking
11503
11504 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11505
11506         * configure.ac:
11507         * gst/gstelement.h:
11508         * gst/gstpad.h:
11509         * gst/gstqueue.h:
11510           upgrade libtool CURRENT, reset padding
11511
11512 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11513
11514         * configure.ac:
11515           bump to prerelease
11516           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
11517
11518 2004-02-04  David Schleef  <ds@schleef.org>
11519
11520         * docs/random/ds/0.9-suggested-changes: random notes
11521         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
11522         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
11523         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
11524         expansion.
11525         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11526         (gst_filesink_get_query_types): same
11527         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
11528         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
11529         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
11530         to use new GST_PTR_FORMAT.
11531         * gst/gstelement.h: deprecate function factory macros
11532         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
11533         These are our last variadic macros that can't be replaced with
11534         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
11535         attempting to deprecate gst_element_clock_wait().
11536         * gst/gstevent.h: same
11537         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11538         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
11539         * gst/gstpad.h: deprecate function factory macros similar to above.
11540
11541 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11542
11543         * configure.ac:
11544         * tools/Makefile.am:
11545         * tools/gst-run.c: (popt_callback), (hash_print_key),
11546         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
11547         (get_candidates), (main):
11548           add new source file to generate non-versioned wrapper binaries
11549           for our tools.
11550
11551 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11552
11553         * gst/gstevent.c: (_gst_event_free):
11554           actually break; inside the switch statement
11555         * gst/parse/grammar.y:
11556           fix memleak where GValues weren't unset
11557
11558 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11559
11560         * gst/gststructure.c: (gst_structure_from_string):
11561           fix huge memleak
11562         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11563         (new_entry), (gst_type_find_element_chain):
11564         * gst/gstelement.c: (gst_element_base_class_init),
11565         (gst_element_class_set_details):
11566         * gst/gstpad.c: (gst_pad_can_link_filtered):
11567           fix smaller memleaks
11568         * gst/gstpad.c: (gst_real_pad_dispose):
11569           check that explicit caps are gone
11570         * gst/gststructure.c: (gst_structure_free):
11571           actually free the structure
11572         * gst/gstelement.c: (gst_element_clear_pad_caps):
11573           unset explicit caps
11574
11575 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11576
11577         * tools/Makefile.am:
11578           use AM_CFLAGS since all the CFLAGS are the same
11579           use AM_LDFAGS
11580
11581 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11582
11583         * docs/manual/gnome.xml:
11584           expand example a little
11585         * gst/gst.c: (gst_init_with_popt_table),
11586         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
11587           make sure popt option displays are done with right textdomain
11588           use GstPoptOption type
11589         * gst/gst.h:
11590           create GstPoptOption type
11591
11592 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11593
11594         * gst/gsterror.c: (_gst_stream_errors_init):
11595         * gst/gsterror.h:
11596           adding error type for no codec
11597         * po/POTFILES.in:
11598           add gst-inspect
11599         * po/nl.po:
11600           update dutch translation
11601         * tools/gst-inspect.c: (print_element_list), (main):
11602           do proper internationalization
11603         * tools/gst-launch.c: (idle_func):
11604           remove commented out function call
11605
11606 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11607
11608         * docs/README:
11609           add some error fixing notes
11610         * docs/gst/gstreamer-sections.txt:
11611           remove double entries
11612         * docs/gst/tmpl/gstbin.sgml:
11613         * docs/gst/tmpl/gstclock.sgml:
11614           remove override
11615         * docs/gst/tmpl/gstelement.sgml:
11616         * docs/gst/tmpl/gstindex.sgml:
11617         * docs/gst/tmpl/gstobject.sgml:
11618         * docs/gst/tmpl/gstpadtemplate.sgml:
11619         * docs/gst/tmpl/gstreamer-unused.sgml:
11620         * docs/gst/tmpl/gsttag.sgml:
11621         * docs/gst/tmpl/gstthread.sgml:
11622         * docs/gst/tmpl/gstxml.sgml:
11623         * gst/gsttag.h:
11624           sync header prototypes with c decls
11625         * gst/gsttaginterface.c:
11626           fix doc headers
11627
11628 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11629
11630         * gst/parse/Makefile.am:
11631         * gst/gstobject.h:
11632           get rid of gstmarshal.h dependency. It's not needed.
11633         * gst/gst.h:
11634         * gst/elements/gstfakesink.c:
11635         * gst/elements/gstfakesrc.c:
11636         * gst/elements/gstidentity.c:
11637         * gst/gstbin.c:
11638         * gst/gstelement.c:
11639         * gst/gstindex.c:
11640         * gst/gstobject.c:
11641         * gst/gstpad.c:
11642         * gst/gstthread.c:
11643         * gst/gstxml.c:
11644         * libs/gst/control/dparam.c:
11645         * libs/gst/control/dparammanager.c:
11646           include gstmarshal.h.
11647         Fixes #132045
11648
11649 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11650
11651         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11652         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
11653         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
11654         * gst/elements/gstfilesrc.h:
11655           don't ref the filesrc when creating mmaped buffers. Don't keep a
11656           list of not-yet-destroyed buffers.
11657         * gst/gstbuffer.h:
11658           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
11659
11660 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11661
11662         * gst/gst.c: (init_pre):
11663           remove textdomain
11664
11665 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11666
11667         * docs/pwg/advanced-events.xml:
11668         * docs/pwg/advanced-scheduling.xml:
11669         * docs/pwg/intro-basics.xml:
11670         * docs/pwg/other-manager.xml:
11671         * docs/pwg/other-nton.xml:
11672         * docs/pwg/other-ntoone.xml:
11673         * docs/pwg/other-oneton.xml:
11674         * docs/pwg/pwg.xml:
11675           All sort of documentation... Forgot what. Point is that I want this
11676           in before I leave. The 'other-*' will be the last section and will
11677           explain issues specific to these type of elements.
11678
11679 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11680
11681         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11682         (gst_filesrc_get_read):
11683           set all the values on buffers that we can
11684
11685 2004-02-02  David Schleef  <ds@schleef.org>
11686
11687         Change usage of isblah() to g_ascii_isblah() to be more locale
11688         independent.  (#133076)
11689         * gst/gsturi.c: (gst_uri_protocol_check_internal):
11690         * gst/gstutils.c:
11691         * gst/parse/parse.l:
11692
11693 2004-02-02  Jon Trowbridge  <trow@gnu.org>
11694
11695         reviewed by: David Schleef  <ds@schleef.org>
11696
11697         Fix memory leaks:
11698         * gst/gstcaps.c: (gst_caps_to_string):
11699         * gst/registries/gstxmlregistry.c:
11700         (gst_xml_registry_add_path_list_func),
11701         (gst_xml_registry_parse_padtemplate):
11702
11703 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11704
11705         * gst/gstelement.c: (gst_element_default_error):
11706           suffix error messages with period
11707
11708 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11709
11710         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11711         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11712         * gst/gsterror.c: (gst_error_get_message):
11713           Suffix with dots
11714         * po/fr.po:
11715         * po/nl.po:
11716           Update translation files
11717
11718 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11719
11720         * gst/autoplug/gstspideridentity.c:
11721         (gst_spider_identity_sink_loop_type_finding):
11722         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11723         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11724         (gst_filesink_close_file), (gst_filesink_handle_event),
11725         (gst_filesink_chain):
11726         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11727         (gst_filesrc_get_read), (gst_filesrc_open_file):
11728         * gst/elements/gstidentity.c: (gst_identity_chain):
11729         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11730         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11731         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11732         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11733         * gst/gsterror.c: (_gst_core_errors_init),
11734         (_gst_library_errors_init), (_gst_resource_errors_init),
11735         (_gst_stream_errors_init), (gst_error_get_message):
11736         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11737         (gst_pad_recover_caps_error), (gst_pad_pull):
11738         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11739         * gst/schedulers/gstbasicscheduler.c:
11740         (gst_basic_scheduler_chainhandler_proxy),
11741         (gst_basic_scheduler_gethandler_proxy),
11742         (gst_basic_scheduler_cothreaded_chain):
11743           Suffix error messages with period.
11744           Use (NULL) instead of NULL
11745
11746 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11747
11748         * docs/gst/tmpl/gstelement.sgml:
11749         * docs/gst/tmpl/gstxml.sgml:
11750         * gst/gstelement.c: (gst_element_error_full):
11751           add element path to error
11752
11753 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11754
11755         * docs/random/mimetypes:
11756           update raw int/float info
11757         * gst/gsttag.c: (_gst_tag_initialize):
11758         * gst/gsttag.h:
11759           add GST_TAG_ENCODER
11760
11761 2004-01-30  David Schleef  <ds@schleef.org>
11762
11763         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
11764           missing (#132991)
11765
11766 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
11767
11768         reviewed by Benjamin Otte 
11769           parts of the patch submitted in bug #113913
11770
11771         * configure.ac:
11772           use AC_C_INLINE. Use = instead of == with test
11773         * examples/plugins/example.c:
11774         * gst/autoplug/gstspideridentity.c:
11775         * gst/elements/gstfdsrc.c:
11776         * gst/elements/gstfilesrc.c:
11777         * gst/elements/gstidentity.c:
11778         * gst/elements/gstmultidisksrc.c:
11779         * gst/elements/gststatistics.c:
11780         * gst/gstelement.c:
11781         * gst/gstobject.c:
11782         * gst/gstpad.c:
11783         * gst/gstpipeline.c:
11784         * gst/gstthread.c:
11785           don't end enums with a comma
11786         * gst/gstindex.c: (gst_index_compare_func):
11787           do explicit casting to gint
11788         * gst/gsttrace.c: (gst_trace_text_flush):
11789           #define strsize as a macro
11790
11791 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11792
11793         * docs/README:
11794         * docs/gst/gstreamer-docs.sgml:
11795         * docs/gst/gstreamer-sections.txt:
11796         * docs/gst/tmpl/gstelement.sgml:
11797         * docs/gst/tmpl/gsterror.sgml:
11798         * docs/gst/tmpl/gstinterface.sgml:
11799         * docs/gst/tmpl/gstreamer-unused.sgml:
11800         * docs/gst/tmpl/gststructure.sgml:
11801         * docs/gst/tmpl/gsttag.sgml:
11802         * docs/gst/tmpl/gsttaginterface.sgml:
11803         * docs/gst/tmpl/gstvalue.sgml:
11804         make sure all API ends up in the built docs
11805         * gst/gstinterface.c:
11806         * gst/gststructure.c: (gst_structure_id_set_value),
11807         (gst_structure_set_value), (gst_structure_id_get_value):
11808         * gst/gststructure.h:
11809         * gst/gstvalue.h:
11810         sync .h with .c declarations
11811
11812 2004-01-30  Julien Moutte  <julien@moutte.net>
11813
11814         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
11815         Ronald will fix riffread.
11816
11817 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11818
11819         * docs/pwg/advanced-interfaces.xml:
11820           Added tuner interface docs.
11821
11822 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11823
11824         * docs/random/mimetypes:
11825           correct Theora information
11826         * gst/gstelement.h:
11827           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
11828
11829 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11830
11831         * gst/gstelement.c: (gst_element_error_full):
11832         * gst/gstelement.h:
11833           GST_ELEMENT_ERROR in enum -> _IN_ERROR
11834
11835 2004-01-29  Julien MOUTTE  <julien@moutte.net>
11836
11837         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
11838         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
11839         again and even before DISCONT.
11840         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
11841         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
11842         bytestream so that it's not stopping to fill the bytestream if events
11843         different than EOS or DISCONT are received. Instead it process them so
11844         that they go downstream.
11845
11846 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11847
11848         * docs/gst/tmpl/gstelement.sgml:
11849         * docs/gst/tmpl/gstreamer-unused.sgml:
11850         * docs/gst/tmpl/gstxml.sgml:
11851         * gst/autoplug/gstspideridentity.c:
11852         (gst_spider_identity_sink_loop_type_finding):
11853         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11854         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11855         (gst_filesink_close_file), (gst_filesink_handle_event),
11856         (gst_filesink_chain):
11857         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11858         (gst_filesrc_get_read), (gst_filesrc_open_file):
11859         * gst/elements/gstidentity.c: (gst_identity_chain):
11860         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11861         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11862         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11863         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11864         * gst/gstelement.h:
11865         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11866         (gst_pad_recover_caps_error), (gst_pad_pull):
11867         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11868         * gst/schedulers/gstbasicscheduler.c:
11869         (gst_basic_scheduler_chainhandler_proxy),
11870         (gst_basic_scheduler_gethandler_proxy),
11871         (gst_basic_scheduler_cothreaded_chain):
11872           gst_element_error -> GST_ELEMENT_ERROR
11873
11874 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11875
11876         * docs/Makefile.am:
11877         * docs/gst/tmpl/gstelement.sgml:
11878         * docs/gst/tmpl/gstxml.sgml:
11879         * docs/manuals.mak:
11880         * docs/pwg/advanced-request.xml:
11881         * docs/pwg/advanced-scheduling.xml:
11882         * docs/pwg/advanced-tagging.xml:
11883           fix non-validating docbook using CDATA
11884           make sure make check-local gets run first to check if it validates
11885
11886 2004-01-29  Julien MOUTTE <julien@moutte.net>
11887
11888         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
11889         handling (up and downstream).
11890         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
11891         my_filter thing.
11892
11893 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11894
11895         * docs/pwg/advanced-tagging.xml:
11896           Add docs about tag writing.
11897
11898 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11899
11900         * docs/pwg/advanced-tagging.xml:
11901           Add a part about tag reading and application signalling... Tag
11902           writing still needs to be documented.
11903         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11904           We can set file locations in READY, too.
11905
11906 2004-01-29  Julien MOUTTE <julien@moutte.net>
11907
11908         * docs/random/ds/element-checklist: Adding some notes about src
11909         events.
11910
11911 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11912
11913         * docs/random/mimetypes:
11914           Update docs to point to correct elements for various mimetypes, and
11915           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
11916           <stephane.loeuillet@tiscali.fr>.
11917
11918 2004-01-28  David Schleef  <ds@schleef.org>
11919
11920         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
11921
11922 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11923
11924         * docs/random/mimetypes:
11925           update docs for audio/x-raw-float. Add "buffer-frames=0 means
11926           undefined"
11927         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11928           make it only work in NULL.
11929         * gst/gstcaps.c:
11930           don't posion NULL caps
11931         * gst/gstelement.c: (gst_element_set_time):
11932           add debugging statement
11933         * gst/gstelement.c: (gst_element_emit_found_tag),
11934         (gst_element_found_tag_func), (gst_element_found_tags):
11935         * gst/gstelement.h:
11936           These functions take const taglists
11937         * gst/gstpad.c: (gst_pad_proxy_getcaps):
11938           fix memleak
11939         * gst/gstpad.c: (gst_pad_event_default):
11940           make more effort on handling discont and clocks, g_warn if everything
11941           fails
11942         * gst/gststructure.c: (gst_structure_remove_fields),
11943         (gst_structure_remove_fields_valist):
11944         * gst/gststructure.h:
11945           add gst_structure_remove_fields(_valist)
11946         * gst/gsttag.c:
11947           fix doc glitch
11948
11949 2004-01-28  David Schleef  <ds@schleef.org>
11950
11951         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
11952         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
11953         Fix memory leakage of gst_caps_to_string().
11954
11955         Use GST_PTR_FORMAT instead of gst_caps_to_string():
11956         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
11957         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
11958         (gst_spider_identity_sink_loop_type_finding):
11959         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11960         (find_suggest):
11961         * gst/gstpad.c: (gst_pad_try_relink_filtered),
11962         (gst_pad_set_explicit_caps):
11963         * gst/parse/grammar.y:
11964
11965 2004-01-28  David Schleef  <ds@schleef.org>
11966
11967         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
11968         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
11969         * docs/random/ds/0.9-suggested-changes: Notes from Company.
11970         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
11971         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
11972         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
11973         (gst_debug_log_default), (_gst_info_printf_extension),
11974         (_gst_info_printf_extension_arginfo):  Add printf extension.
11975         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
11976         * gst/gststructure.c: (gst_structure_to_string),
11977         (_gst_structure_parse_value): Use gst_value_deserialize() and
11978         remove old code.
11979         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
11980         (gst_value_deserialize_boolean), (gst_strtoi),
11981         (gst_value_deserialize_int), (gst_value_deserialize_double),
11982         (gst_value_deserialize_string), (gst_value_deserialize): Implement
11983         a bunch of deserialize functions and gst_value_deserialize.
11984         * gst/gstvalue.h: er, _de_serialize, not unserialize
11985         * testsuite/caps/string-conversions.c: (main): We don't currently
11986         handle (float) in caps, so convert these to (double).
11987         * testsuite/debug/Makefile.am: Add new test for the printf extension
11988         * testsuite/debug/printf_extension.c: (main): same
11989
11990 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11991
11992         * docs/random/company/time:
11993           Add some docs about clocking and time
11994
11995 2004-01-28  Julien MOUTTE <julien@moutte.net>
11996
11997         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
11998
11999 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12000
12001         * docs/pwg/advanced-clock.xml:
12002         * docs/pwg/advanced-dparams.xml:
12003         * docs/pwg/advanced-events.xml:
12004         * docs/pwg/advanced-interfaces.xml:
12005         * docs/pwg/advanced-midi.xml:
12006         * docs/pwg/advanced-request.xml:
12007         * docs/pwg/advanced-scheduling.xml:
12008         * docs/pwg/advanced-tagging.xml:
12009         * docs/pwg/advanced-types.xml:
12010         * docs/pwg/appendix-checklist.xml:
12011         * docs/pwg/building-boiler.xml:
12012         * docs/pwg/building-chainfn.xml:
12013         * docs/pwg/building-filterfactory.xml:
12014         * docs/pwg/building-pads.xml:
12015         * docs/pwg/building-props.xml:
12016         * docs/pwg/building-signals.xml:
12017         * docs/pwg/building-state.xml:
12018         * docs/pwg/building-testapp.xml:
12019         * docs/pwg/intro-basics.xml:
12020         * docs/pwg/intro-preface.xml:
12021         * docs/pwg/other-autoplugger.xml:
12022         * docs/pwg/other-sink.xml:
12023         * docs/pwg/other-source.xml:
12024         * docs/pwg/titlepage.xml:
12025           fix up id's
12026
12027 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12028
12029         * docs/95NonPath:
12030         * docs/HACKING:
12031         * docs/README:
12032         * docs/building-the-docs-on-debian:
12033           collect relevant bits of doc info
12034
12035 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12036
12037         * docs/pwg/advanced_tagging.xml:
12038           Half-assed commit so Thomas can re-arrange document IDs here to be
12039           consistent, too.
12040
12041 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12042
12043         * docs/manual/autoplugging.xml:
12044         * docs/manual/bins-api.xml:
12045         * docs/manual/bins.xml:
12046         * docs/manual/buffers-api.xml:
12047         * docs/manual/buffers.xml:
12048         * docs/manual/clocks.xml:
12049         * docs/manual/components.xml:
12050         * docs/manual/cothreads.xml:
12051         * docs/manual/debugging.xml:
12052         * docs/manual/dparams-app.xml:
12053         * docs/manual/dynamic.xml:
12054         * docs/manual/elements-api.xml:
12055         * docs/manual/elements.xml:
12056         * docs/manual/factories.xml:
12057         * docs/manual/gnome.xml:
12058         * docs/manual/goals.xml:
12059         * docs/manual/helloworld.xml:
12060         * docs/manual/helloworld2.xml:
12061         * docs/manual/init-api.xml:
12062         * docs/manual/intro.xml:
12063         * docs/manual/links-api.xml:
12064         * docs/manual/links.xml:
12065         * docs/manual/manual.xml:
12066         * docs/manual/motivation.xml:
12067         * docs/manual/pads-api.xml:
12068         * docs/manual/pads.xml:
12069         * docs/manual/plugins-api.xml:
12070         * docs/manual/plugins.xml:
12071         * docs/manual/programs.xml:
12072         * docs/manual/queues.xml:
12073         * docs/manual/quotes.xml:
12074         * docs/manual/schedulers.xml:
12075         * docs/manual/states-api.xml:
12076         * docs/manual/states.xml:
12077         * docs/manual/threads.xml:
12078         * docs/manual/typedetection.xml:
12079         * docs/manual/xml.xml:
12080           use chapter, part, section or misc as id starts for all bits
12081
12082 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12083
12084         * docs/gst/gstreamer-sections.txt:
12085           Fix up TITLE of the sections
12086
12087 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12088
12089         * docs/pwg/advanced_interfaces.xml:
12090           Add documentation on propertyprobing.
12091         * docs/pwg/advanced_events.xml:
12092         * docs/pwg/advanced_tagging.xml:
12093         * docs/pwg/building_boiler.xml:
12094         * docs/pwg/building_filterfactory.xml:
12095         * docs/pwg/pwg.xml:
12096           Move filterfactory and tagging into their own chapter, add a chapter
12097           on events. all these are empty placeholders that will be filled in
12098           some day.
12099
12100 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12101
12102         * docs/pwg/advanced_interfaces.xml:
12103           Docs for mixer interface. Also a check for website uploading.
12104
12105 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12106
12107         * docs/HACKING:
12108         * docs/Makefile.am:
12109         * docs/faq/Makefile.am:
12110         * docs/gst/Makefile.am:
12111         * docs/gst/tmpl/gstelement.sgml:
12112         * docs/gst/tmpl/gstplugin.sgml:
12113         * docs/gst/tmpl/gstreamer-unused.sgml:
12114         * docs/libs/Makefile.am:
12115         * docs/manual/Makefile.am:
12116         * docs/manuals.mak:
12117         * docs/pwg/Makefile.am:
12118         * docs/upload.mak:
12119           Separate out upload target and make it similar for
12120           both docbook and gtk-doc docs
12121
12122 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12123
12124         * docs/manuals.mak:
12125           Fix upload target to work with freedesktop
12126
12127 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12128
12129         * docs/pwg/advanced_types.xml:
12130           Add notes on creating your own types.
12131         * docs/pwg/building_boiler.xml:
12132         * docs/pwg/building_pads.xml:
12133         * docs/pwg/building_state.xml:
12134           Add some stuff about how to retrieve values from structures, how
12135           that relates to types and change layout slightly again to be almost
12136           perfect.
12137
12138 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12139
12140         * docs/pwg/advanced_dparams.xml:
12141         * docs/pwg/advanced_scheduling.xml:
12142           Change index layout slightly.
12143
12144 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12145
12146         * docs/pwg/advanced_clock.xml:
12147         * docs/pwg/advanced_interfaces.xml:
12148         * docs/pwg/advanced_midi.xml:
12149           General placeholders for now.
12150         * docs/pwg/advanced_request.xml:
12151           Explanation about sometimes and request pads.
12152         * docs/pwg/advanced_scheduling.xml:
12153           Concept of bytestream, loopfunctions and schedulers.
12154         * docs/pwg/building_boiler.xml:
12155           Add something about plugin-init.
12156
12157 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12158
12159         * docs/pwg/building_pads.xml:
12160           Fix broken docbook
12161
12162 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12163
12164         * docs/pwg/advanced_interfaces.xml:
12165         * docs/pwg/pwg.xml:
12166           Add as a placeholder for future filling-in.
12167         * docs/pwg/basics_autoplugging.xml:
12168         * docs/pwg/basics_buffers.xml:
12169         * docs/pwg/basics_elements.xml:
12170         * docs/pwg/basics_events.xml:
12171         * docs/pwg/basics_plugins.xml:
12172         * docs/pwg/basics_types.xml:
12173           Remove, because unused (this is all in intro_basics.xml).
12174         * docs/pwg/building_signals.xml:
12175           Short intro to signals + reference to GObject docs - we really
12176           shouldn't go into these sort of things to deply because we don't
12177           use them that extensively anyway.
12178         * docs/pwg/building_state.xml:
12179           Explanation of states. Benjamin, please check.
12180         * docs/pwg/building_testapp.xml:
12181           Put everything in one page - putting only a few lines of content
12182           per page doesn't really make sense.
12183
12184           Time to get into the advanced topics. ;).
12185
12186 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12187
12188         * docs/pwg/advanced_types.xml:
12189           Finish documenting the current state of mimetypes.
12190         * docs/pwg/building_boiler.xml:
12191         * docs/pwg/building_chainfn.xml:
12192         * docs/pwg/building_pads.xml:
12193         * docs/pwg/building_props.xml:
12194         * docs/pwg/building_testapp.xml:
12195           Start documenting the "how to build a simple audio filter" part
12196           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12197           states and (maybe?) a short introduction to capsnego in the chapter
12198           on pads (building_pads.xml). Capsnego should probably be explained
12199           fully in advanced_capsnego.xml or so.
12200
12201 2004-01-26  David Schleef  <ds@schleef.org>
12202
12203         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12204         * gst/gstpad.h: Add new function to allow element to (somewhat)
12205         specify non-fixed caps on a pad.
12206         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12207         that I added a few weeks ago.
12208
12209 2004-01-26  David Schleef  <ds@schleef.org>
12210
12211         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12212           making try_set_caps() work with non-fixed caps.
12213
12214 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12215
12216         * docs/pwg/advanced_types.xml:
12217         * docs/pwg/intro_basics.xml:
12218         * docs/pwg/intro_preface.xml:
12219         * docs/pwg/pwg.xml:
12220         * docs/pwg/titlepage.xml:
12221           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12222           in here (docs/random/mimetypes), and will from there on work on both
12223           updating outdated parts and adding missing parts.
12224           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12225
12226 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12227
12228         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12229           policy is set
12230
12231 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12232
12233         * gst/gstelement.h:
12234           remove gst_element_factory_get_version. It doesn't exist anymore.
12235         * gst/gstplugin.c:
12236         * gst/gstplugin.h:
12237           remove gst_plugin_set_name and change gst_plugin_get_longname to
12238           gst_plugin_get_description to match code.
12239         * gst/gsterror.h:
12240           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12241         * gst/gstpad.c: (gst_pad_try_set_caps):
12242           make it work with nonfixed caps.
12243           Note that even in the nonfixed case the link function of the pad
12244           that tries to set caps isn't called.
12245
12246 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12247
12248         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12249           fix bug where buffer was not assembled correctly
12250         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12251           silence by default
12252         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12253           only seek if there's no more buffers that could work without seeking
12254
12255 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12256
12257         * gst/gsttag.c: (_gst_tag_initialize):
12258         * gst/gsttag.h:
12259           Add application tag (for encoding/muxing app).
12260
12261 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12262
12263         * autogen.sh:
12264           make autopoint force, and libtoolize not copy
12265         * common/m4/as-docbook.m4:
12266           added docbook xml catalog setup check
12267         * common/m4/gst-doc.m4:
12268           use docbook check
12269
12270 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12271
12272         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12273         * gst/gsttag.h:
12274           add GstTagFlag
12275
12276 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12277
12278         * docs/gst/gstreamer-sections.txt:
12279         * docs/gst/tmpl/gst.sgml:
12280         * docs/gst/tmpl/gstbuffer.sgml:
12281         * docs/gst/tmpl/gstclock.sgml:
12282         * docs/gst/tmpl/gstelement.sgml:
12283         * docs/gst/tmpl/gstreamer-unused.sgml:
12284         * docs/gst/tmpl/gstxml.sgml:
12285           sync latest API changes to docs
12286
12287 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12288
12289         * gst/gstpluginfeature.c:
12290           fix doc snippet
12291         * tools/gst-inspect.c: (print_element_list):
12292           fix output of typefind
12293           add GPL header
12294         * tools/gst-launch.c:
12295           add GPL header
12296
12297 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12298
12299         * gst/elements/Makefile.am:
12300         * gst/elements/gstelements.c:
12301         * gst/elements/gsttypefindelement.c:
12302         * gst/elements/gsttypefindelement.h:
12303         * po/POTFILES.in:
12304         * po/fr.po:
12305         * po/nl.po:
12306           renamed gsttypefindelement to gsttypefind, conserving CVS history
12307
12308 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12309
12310         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12311         * gst/gsttag.h:
12312           add some tags used in ogg as well
12313           fix _ in replaygain tags
12314
12315 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12316
12317         * gst/gsterror.h:
12318           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12319
12320 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12321
12322         * gst/gstelement.c: (gst_element_error_full):
12323         * gst/gstelement.h:
12324           change _extended to _full
12325
12326 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12327
12328         reviewed by: <delete if not using a buddy>
12329
12330         * docs/gst/tmpl/gst.sgml:
12331         * docs/gst/tmpl/gstbuffer.sgml:
12332         * docs/gst/tmpl/gstclock.sgml:
12333         * docs/gst/tmpl/gstelement.sgml:
12334         * docs/gst/tmpl/gstreamer-unused.sgml:
12335         * docs/gst/tmpl/gstxml.sgml:
12336         * gst/gstelement.c: (gst_element_error_full):
12337         * gst/gstelement.h:
12338
12339 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12340
12341         * gst/gstelement.h: fix _gst_element_error_printf prototype
12342
12343 2004-01-20  David Schleef  <ds@schleef.org>
12344
12345         * gst/gststructure.c: (gst_structure_to_string):
12346         Convert function to use gst_value_serialize().
12347         * gst/gstvalue.c: (gst_value_serialize_list),
12348         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12349         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12350         (gst_value_serialize_int), (gst_value_serialize_double),
12351         (gst_string_wrap), (gst_value_serialize_string),
12352         (gst_value_serialize), (gst_value_deserialize):
12353         * gst/gstvalue.h:
12354         Add implementations for serialize.
12355
12356 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12357
12358         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12359         we want to keep that one in the future or change xvidenc.c to use 
12360         another error.
12361
12362 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12363
12364         * gst/gstelement.c: (_gst_element_error_printf):
12365         * gst/gstelement.h:
12366           privatise function
12367
12368 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12369
12370         * docs/random/error:
12371           doc explaining error system
12372         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12373           cleanup
12374
12375 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12376
12377         * gst/gst-i18n-app.h:
12378         * gst/gst-i18n-lib.h:
12379           remove inclusion of config.h
12380         * po/POTFILES.in:
12381         * po/nl.po:
12382           add gst/gstelement.c
12383
12384 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12385
12386         * po/nl.po: updated Dutch translation
12387
12388 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12389
12390         * gst/gsterror.c: (_gst_core_errors_init),
12391         (_gst_library_errors_init), (_gst_resource_errors_init),
12392         (_gst_stream_errors_init):
12393         remove ending punctuation dots
12394
12395 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12396
12397         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12398         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12399         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12400         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12401         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12402         use GST_ERROR_SYSTEM
12403
12404 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12405
12406         * gst/gstelement.c: (gst_element_error_printf),
12407         (gst_element_error_extended):
12408         * gst/gstelement.h:
12409           add a helper printf function so we can have NULL values passed.
12410
12411 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12412
12413         * gst/gstelement.h:
12414           add G_STMT macros to gst_element_error, which isn't strictly
12415           necessary but people tell me to anyway.
12416
12417 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12418
12419         * gst/Makefile.am:
12420         * gst/autoplug/gstspideridentity.c:
12421         (gst_spider_identity_sink_loop_type_finding):
12422         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12423         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12424         (gst_filesink_close_file), (gst_filesink_handle_event),
12425         (gst_filesink_chain):
12426         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12427         (gst_filesrc_map_region), (gst_filesrc_get_read),
12428         (gst_filesrc_open_file):
12429         * gst/elements/gstidentity.c: (gst_identity_chain):
12430         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12431         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12432         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12433         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12434         * gst/gst.h:
12435         * gst/gst_private.h:
12436         * gst/gstelement.c: (gst_element_class_init),
12437         (gst_element_default_error), (gst_element_error_func),
12438         (gst_element_error_extended):
12439         * gst/gstelement.h:
12440         * gst/gsterror.c: (_gst_core_errors_init),
12441         (_gst_library_errors_init), (_gst_resource_errors_init),
12442         (_gst_stream_errors_init), (gst_error_get_message):
12443         * gst/gsterror.h:
12444         * gst/gstinfo.c: (_gst_debug_init):
12445         * gst/gstmarshal.list:
12446         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12447         (gst_pad_recover_caps_error), (gst_pad_pull):
12448         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12449         * gst/schedulers/gstbasicscheduler.c:
12450         (gst_basic_scheduler_chainhandler_proxy),
12451         (gst_basic_scheduler_gethandler_proxy),
12452         (gst_basic_scheduler_cothreaded_chain):
12453         * po/POTFILES.in:
12454         * po/fr.po:
12455         * po/nl.po:
12456           change error signal
12457           add error categories
12458
12459 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12460
12461         * gst/gsttag.c: (_gst_tag_initialize):
12462         * gst/gsttag.h:
12463         Add replaygain tag
12464
12465 2004-01-18  Colin Walters  <walters@verbum.org>
12466
12467         * examples/retag/retag.c: Call gst_init before processing
12468         program args.  Add g_assert to _link_many call.
12469
12470 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12471
12472         * gst/gstpad.c: (gst_pad_alloc_buffer):
12473           Return a newly allocated buffer when the pad has no peer.
12474
12475 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12476
12477         * gst/gstclock.c: (gst_clock_get_time):
12478           make it compile with gcc 2.95 again.
12479           Patch by Scott Wheeler
12480
12481 2004-01-15  David Schleef  <ds@schleef.org>
12482
12483         * gst/gstcaps.h:
12484         Added gst_caps_is_simple() macro.
12485         * testsuite/caps/caps.c: (test1):
12486         * testsuite/caps/intersect2.c: (main):
12487         * testsuite/caps/intersection.c: (main):
12488         Fixes to make 'make check' work again after removing
12489         gst_caps_is_chained().
12490
12491 2004-01-15  Leif Johnson <leif@ambient.2y.net>
12492
12493         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
12494         and additions to the MIDI document.
12495
12496 2004-01-15  David Schleef  <ds@schleef.org>
12497
12498         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
12499         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
12500         of GST_RPAD_, since we don't know if it's a real or ghost pad.
12501
12502 2004-01-15  David Schleef  <ds@schleef.org>
12503
12504         * gst/gstqueue.c:
12505         * gst/gstqueue.h:
12506         Fix the spelling of "treshold" and make min_threshold actually
12507         affect the queue.
12508
12509 2004-01-15  David Schleef  <ds@schleef.org>
12510
12511         * gst/gstcaps.c:
12512         Add lots of documentation.
12513         * gst/gstcaps.h:
12514         Deprecate a few functions.
12515         * gst/gstpad.c:
12516         Removed use of deprecated functions.
12517
12518 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12519
12520         * gst/gstpad.c: (gst_pad_is_linked):
12521         * gst/gstpad.h:
12522           implement gst_pad_is_linked
12523         * gst/gstelement.h:
12524           reserve space for initiate_state_change
12525
12526 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12527
12528         * gst/autoplug/gstspideridentity.c:
12529         (gst_spider_identity_sink_loop_type_finding):
12530           break infinite loop by just returning instead of looping
12531         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
12532           set event time difference correctly. Set it to 1 second instead
12533           of 100ms to be more tolerant
12534         * gst/gstelement.c: (gst_element_set_time):
12535           add debugging output
12536
12537 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12538
12539         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
12540           query if buffers are inside the pool, ignore events
12541
12542 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12543
12544         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
12545         (gst_clock_set_speed), (gst_clock_set_active),
12546         (gst_clock_is_active), (gst_clock_reset),
12547         (gst_clock_handle_discont):
12548         * gst/gstclock.h:
12549           deprecate old interface and disable functions that aren't in use
12550           anymore.
12551         * gst/gstelement.h:
12552         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
12553         (gst_element_set_time), (gst_element_adjust_time):
12554           add concept of "element time" and functions to get/set this time.
12555         * gst/gstelement.c: (gst_element_change_state):
12556           update element time correctly.
12557         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12558           This is a debug message, not a g_critical.
12559         * gst/gstpad.c: (gst_pad_event_default):
12560           handle discontinuous events right with element time.
12561         * gst/gstscheduler.c: (gst_scheduler_state_transition):
12562           update to clocking fixes.
12563           set clocks on elements in READY=>PAUSED. The old behaviour caused
12564           a wrong element time on the first element that started playing.
12565         * gst/schedulers/gstbasicscheduler.c:
12566         (gst_basic_scheduler_class_init):
12567         * gst/schedulers/gstoptimalscheduler.c:
12568         (gst_opt_scheduler_class_init):
12569           remove code that just implements the default behaviour.
12570         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
12571           update to use new clocking functions
12572         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
12573         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
12574           update to test new element time.
12575         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
12576           use _get_allowed_caps instead of _get_caps. This catches filtered
12577           caps correctly.
12578         * testsuite/debug/commandline.c:
12579           update for new GST_DEBUG syntax.
12580         * testsuite/threads/Makefile.am:
12581           disable a test that only works sometimes.
12582
12583 2004-01-13  Julien MOUTTE <julien@moutte.net>
12584
12585         * po/LINGUAS: Adding fr.
12586         * po/fr.po: Adding french translation.
12587
12588 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12589
12590         * gst/parse/grammar.y:
12591         * po/POTFILES.in:
12592         * po/nl.po:
12593         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
12594           translate parsing error messages
12595
12596 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12597
12598         * po/POTFILES.in: adding gst-launch
12599         * po/nl.po: updated translation, all 99 strings translated
12600         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
12601         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
12602           fix strings for translation
12603
12604 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12605
12606         * gst/gst.c:
12607           - capitalize beginnings of popt options
12608           - fix strings for translation
12609           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
12610
12611 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12612
12613         * po/README: add some notes on how to update translations
12614
12615 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12616
12617         * ABOUT-NLS: removed, is autogenerated from autopoint
12618         * autogen.sh: add autopoint stuff
12619         * configure.ac: fix up gettext stuff
12620         * gst/Makefile.am: add i18n headers to noinst_HEADERS
12621         * gst/elements/gsttypefindelement.c: add header include
12622         * gst/gettext.h: add header, copy from system-installed header
12623         * gst/gst-i18n-app.h: to be included by each app having translations
12624         * gst/gst-i18n-lib.h: to be included by each lib having translations
12625         * gst/gst.c: (init_pre): fix up gettext calls
12626         * gst/gst_private.h: remove i18n stuff, moving to separate headers
12627         * po/LINGUAS: the new way to specify translations present
12628         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
12629         * po/Makevars: the variables filled in for GStreamer
12630         * po/POTFILES.in: added new files with translations
12631         * po/de.po: has new strings
12632         * po/nl.po: readded, has new strings
12633
12634 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12635
12636         * gst/gsttag.c: fix some strings marked for translation
12637
12638 2004-01-13  Iain <iain@prettypeople.org>
12639
12640         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
12641         group when we add an element to it, cos we unref it when we remove one
12642
12643 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12644
12645         * testsuite/debug/commandline.c: (debug_not_reached):
12646         * testsuite/debug/output.c: (check_message):
12647           fix testsuite
12648
12649 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12650
12651         * examples/cutter/.cvsignore:
12652         * examples/helloworld/.cvsignore:
12653         * examples/launch/.cvsignore:
12654         * examples/manual/.cvsignore:
12655         * examples/mixer/.cvsignore:
12656         * examples/pingpong/.cvsignore:
12657         * examples/plugins/.cvsignore:
12658         * examples/queue/.cvsignore:
12659         * examples/queue2/.cvsignore:
12660         * examples/queue3/.cvsignore:
12661         * examples/queue4/.cvsignore:
12662         * examples/retag/.cvsignore:
12663         * examples/thread/.cvsignore:
12664         * examples/typefind/.cvsignore:
12665         * examples/xml/.cvsignore:
12666         * gst/.cvsignore:
12667         * gst/autoplug/.cvsignore:
12668         * gst/elements/.cvsignore:
12669         * gst/indexers/.cvsignore:
12670         * gst/parse/.cvsignore:
12671         * gst/registries/.cvsignore:
12672         * gst/schedulers/.cvsignore:
12673         * libs/gst/bytestream/.cvsignore:
12674         * libs/gst/control/.cvsignore:
12675         * libs/gst/getbits/.cvsignore:
12676         * tests/.cvsignore:
12677         * tests/bufspeed/.cvsignore:
12678         * tests/instantiate/.cvsignore:
12679         * tests/memchunk/.cvsignore:
12680         * tests/muxing/.cvsignore:
12681         * tests/sched/.cvsignore:
12682         * tests/seeking/.cvsignore:
12683         * tests/threadstate/.cvsignore:
12684         * testsuite/.cvsignore:
12685         * testsuite/caps/.cvsignore:
12686         * testsuite/cleanup/.cvsignore:
12687         * testsuite/dynparams/.cvsignore:
12688         * testsuite/plugin/.cvsignore:
12689         * tools/.cvsignore:
12690           update - this is huge, because it includes *.bb, *.bbg and *.da files
12691           which are generated for gcov.
12692
12693 2004-01-11  David Schleef  <ds@schleef.org>
12694
12695         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
12696         a function to parse integers in ways that strto[u]l() does not.
12697
12698 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12699
12700         * tools/gst-inspect.c: (print_caps):
12701           improve output of caps a bit
12702
12703 2004-01-11  David Schleef  <ds@schleef.org>
12704
12705         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
12706         inherit correct flags (READONLY and DONTKEEP).
12707
12708 2004-01-11  David Schleef  <ds@schleef.org>
12709
12710         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
12711         (gst_filesrc_map_region):
12712         * gst/gstbuffer.c: (_gst_buffer_initialize),
12713         (_gst_buffer_sub_free), (gst_buffer_default_copy),
12714         (gst_buffer_new), (gst_buffer_create_sub),
12715         (gst_buffer_is_span_fast), (gst_buffer_span):
12716         * gst/gstbuffer.h:
12717         Change GstBuffer private structure element names. (all files)
12718         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12719         (gst_queue_link):
12720         * gst/gstqueue.h:
12721         Implement getcaps/pad_link functions that handle the case where
12722         there are data in the queue.
12723
12724 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12725
12726         * gst/elements/gstbufferstore.c:
12727           initialize debugging structure correctly
12728         * gst/elements/gsttee.c: (gst_tee_set_property):
12729           g_object_notify when property was changed
12730         * gst/elements/gsttypefindelement.c:
12731         (gst_type_find_element_change_state):
12732           clear caps correctly
12733
12734 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12735
12736         * gst/gstqueue.c: (gst_queue_init):
12737           Use better defaults for when a queue should block. This
12738           gets rid of jerky playback for quite a few files.
12739           It takes more memory.
12740
12741 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12742
12743         (gst_xml_registry_parse_padtemplate):
12744           make critical message slightly more useful
12745
12746 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12747
12748         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
12749         (gst_debug_message_get), (gst_debug_log_default):
12750         * gst/gstinfo.h:
12751           Change gst_debug_log(_valist) to take a const format string.
12752           Change prototype of log function and functions using those to 
12753           take a GstDebugMessage instead of a string that requires using
12754           gst_debug_message_get.
12755
12756 2004-01-08  David Schleef  <ds@schleef.org>
12757
12758         * Makefile.am:
12759         * configure.ac:
12760         Add option --enable-gcov to build GStreamer with -fprofile-arcs
12761         and -ftest-coverage, which allows gcov to show information about
12762         testsuite coverage.
12763
12764 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12765
12766         * gst/gstutils.h:
12767           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
12768           GST_PARENT_CALL_WITH_DEFAULT
12769         * gst/elements/gstaggregator.c: 
12770         * gst/elements/gstbufferstore.c: 
12771         * gst/elements/gstfakesink.c: 
12772         * gst/elements/gstfakesrc.c: 
12773         * gst/elements/gstfdsink.c: 
12774         * gst/elements/gstfdsrc.c: 
12775         * gst/elements/gstfilesink.c: 
12776         * gst/elements/gstfilesrc.c: 
12777         * gst/elements/gstidentity.c: 
12778         * gst/elements/gstmd5sink.c: 
12779         * gst/elements/gstmultidisksrc.c:
12780         * gst/elements/gstpipefilter.c: 
12781         * gst/elements/gstshaper.c:
12782         * gst/elements/gststatistics.c:
12783         * gst/elements/gsttee.c:
12784         * gst/elements/gsttypefindelement.c:
12785           use them.
12786
12787 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12788
12789         * docs/gst/gstreamer-docs.sgml: remove props
12790         * docs/gst/gstreamer-sections.txt: remove props
12791         * docs/gst/tmpl/gst.sgml:
12792         * docs/gst/tmpl/gstbin.sgml:
12793         * docs/gst/tmpl/gstbuffer.sgml:
12794         * docs/gst/tmpl/gstcaps.sgml:
12795         * docs/gst/tmpl/gstclock.sgml:
12796         * docs/gst/tmpl/gstelement.sgml:
12797         * docs/gst/tmpl/gstindex.sgml:
12798         * docs/gst/tmpl/gstobject.sgml:
12799         * docs/gst/tmpl/gstpad.sgml:
12800         * docs/gst/tmpl/gstpadtemplate.sgml:
12801         * docs/gst/tmpl/gstreamer-unused.sgml:
12802         * docs/gst/tmpl/gstthread.sgml:
12803         * docs/gst/tmpl/gstxml.sgml:
12804           sync with code reorganization
12805
12806 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
12807
12808         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12809         Make the 'Could not find compatible pad' message more informative.
12810
12811 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12812                                                                                 
12813         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
12814           Fix for if we pass NULL as property to location.
12815         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
12816         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
12817           Fix for instantiate-test (see below).
12818         * gst/gststructure.c: (_gst_structure_parse_value):
12819           Fix compile error on gcc-2.96.
12820         * configure.ac:
12821         * tests/Makefile.am:
12822         * tests/instantiate/Makefile.am:
12823         * tests/instantiate/create.c: (create_all_elements), (main):
12824           Add a test that instantiates all elements. This makes it easy to
12825           track dead code for old API/design (like setting event functions
12826           on sink pads and so on).
12827
12828 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
12829
12830         * gst/gstcaps.c: (gst_caps_append_structure):
12831           Move the poisoning to allow a NULL structure
12832         * gst/gstevent.c: (_gst_event_free):
12833           When freeing a navigation event, free the structure
12834           also
12835
12836 2004-01-04  David Schleef  <ds@schleef.org>
12837
12838         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12839         Remove usage of gst_pad_proxy_fixate.
12840         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
12841         (gst_caps_split_one), (gst_caps_replace):
12842         Add poisoning code.
12843         * gst/gstmarshal.list:
12844         Add pointer__pointer for fixate signal
12845         * gst/gstpad.c: (gst_real_pad_class_init),
12846         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12847         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
12848         (gst_pad_set_explicit_caps), (gst_pad_template_new):
12849         Add poisoning code. Add fixate signal on RealPad. Change
12850         set_explicit_caps() to take const GstCaps, like try_set_caps().
12851         * gst/gstpad.h:
12852         * testsuite/caps/Makefile.am:
12853         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
12854
12855 2004-01-03  David Schleef  <ds@schleef.org>
12856
12857         * gst/elements/gsttypefindelement.c:
12858         (gst_type_find_element_have_type), (gst_type_find_element_init):
12859         Use gst_pad_use_explicit_caps for src pad.
12860         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
12861         before using it.
12862
12863 2004-01-03  David Schleef  <ds@schleef.org>
12864
12865         * gst/gstelement.c: (gst_element_link_pads_filtered),
12866         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
12867         that linking was successful.
12868         * gst/gstpad.c: (gst_pad_link_free),
12869         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
12870         (gst_pad_link_try), (gst_pad_link_unnegotiate),
12871         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
12872         GstPadLinkReturn correctly between functions, and don't fail
12873         when DELAYED is used (DELAYED is very important).  Better
12874         cleanup on unlinking and unnegotiation.  Should fix some spider
12875         bugs.
12876
12877 2004-01-02  David Schleef  <ds@schleef.org>
12878
12879         * gst/gstelement.c: (gst_element_class_init),
12880         (gst_element_base_class_init): ->padtemplates should be cleared
12881         in base_init, since we need to have a fresh list for every
12882         class.  (Alternately, we chould copy the list and share the
12883         actual pad templates (not the list), but that would require
12884         changing every plugin to move pad template registration from
12885         base_init to class_init.)
12886
12887 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12888
12889         * gst/gstelement.c: (gst_element_class_add_pad_template):
12890           Refuse registering a pad template if another pad template
12891           with the same name already exists (#114715).
12892
12893 2004-01-02  David Schleef  <ds@schleef.org>
12894
12895         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
12896         (gst_caps_is_equal_fixed): Add new function.
12897         * gst/gstcaps.h: ditto.
12898         * gst/gstpad.c: (gst_real_pad_class_init),
12899         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
12900         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
12901         check new caps against existing caps -- if they're the same, return
12902         OK without renegotiating.  caps-nego-failed signal fixed so that
12903         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
12904         to save an extra caps copy.  Don't complete negotiation if a pad
12905         link function returns DELAYED.
12906
12907 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12908
12909         * gst/gstpad.c: (gst_pad_try_relink_filtered):
12910           Fix wrong g_return_if_fail
12911
12912 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
12913
12914         * gst/gstbin.c: (gst_bin_class_init):
12915         Change the marshalling of element_added/element_removed
12916         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
12917         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
12918
12919 2004-01-01  David Schleef  <ds@schleef.org>
12920
12921         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12922         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
12923         (gst_pad_use_explicit_caps):
12924         * gst/gstpad.h:
12925         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
12926         to use an internal getcaps and link fuction so that negotiation
12927         always results in the explicitly set caps.
12928         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
12929         are particularly useful for decoders.
12930
12931 2003-12-31  David Schleef  <ds@schleef.org>
12932
12933         * gst/elements/gstidentity.c: (gst_identity_class_init),
12934         (gst_identity_init), (gst_identity_chain),
12935         (gst_identity_set_property), (gst_identity_get_property):
12936         * gst/elements/gstidentity.h:
12937         * gst/gstqueue.c: (gst_queue_init):
12938           Negotiation fixes.
12939
12940 2003-12-31  David Schleef  <ds@schleef.org>
12941
12942         * gst/gstcaps.c: (gst_caps_intersect),
12943         (_gst_caps_normalize_foreach), (gst_caps_normalize):
12944           Implement gst_caps_normalize().
12945         * testsuite/caps/normalisation.c: (main):
12946           Add an additional test
12947
12948 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12949
12950         * gst/gstqueue.c: (gst_queue_init):
12951           use gst_pad_proxy_getcaps()
12952
12953 2003-12-31  David Schleef  <ds@schleef.org>
12954
12955         * gst/elements/gstshaper.c: (gst_shaper_link):
12956         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12957         * gst/gstqueue.c: (gst_queue_link):
12958           Negotiation fixes.
12959
12960 2003-12-31  David Schleef  <ds@schleef.org>
12961
12962         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
12963         * gst/gstpad.h: Add functions that are useful as default pad
12964         link and fixate functions for elements.
12965
12966 2003-12-30  David Schleef  <ds@schleef.org>
12967
12968         * gst/gstpad.c: (gst_pad_link_try):
12969           Fix segfault when attempting to return to old caps
12970
12971 2003-12-29  David Schleef  <ds@schleef.org>
12972
12973         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
12974         (gst_caps_structure_simplify), (gst_caps_simplify):
12975         * gst/gstcaps.h:
12976           Add simplify function
12977         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
12978         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
12979         * gst/gstpad.h:
12980           Copy over srcnotify, sinknotify when calling old pad_link
12981           functions.  Add new is_negotiated() function.
12982         * gst/gststructure.c: (gst_structure_copy):
12983           Fix an incredibly stupid bug that should have been noticed
12984           weeks ago.  _copy() returned the argument, not the new copy.
12985
12986 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12987
12988         * gst/gstcaps.c: (gst_caps_append):
12989           add sanity checks
12990         * gst/gstcaps.h: (gst_caps_debug):
12991           remove, it doesn't exist anymore.
12992         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
12993         (gst_element_threadsafe_properties_post_run):
12994           make debugging messages not clutter up THREAD debug category
12995         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
12996         (gst_element_change_state):
12997           update to new caps API
12998         * gst/gstinterface.c: (gst_implements_interface_cast):
12999           don't put vital code in g_return_if_fail
13000         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13001         (gst_pad_link_filtered):
13002           add pst_pad_try_link and use it.
13003         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13004           implement correctly, deprecate first one.
13005         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13006           add and implement.
13007         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13008           implement.
13009         (gst_pad_get_negotiated_caps):
13010           add and implement. Make GST_PAD_CAPS call this function.
13011         (gst_pad_get_caps):
13012           remove unneeded check..
13013         (gst_pad_recover_caps_error):
13014           disable, always return FALSE.
13015         (gst_real_pad_dispose):
13016           don't free caps and appfilter anymore, they're unused.
13017         * gst/gstpad.h:
13018           Reflect changes mentioned above.
13019         * gst/gstsystemclock.c: (gst_system_clock_wait):
13020           Make 'clock is way behind' a debugging message.
13021         * gst/gstthread.c: (gst_thread_change_state):
13022           Fix debugging message
13023
13024 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13025
13026         * gst/gstinfo.h:
13027           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13028         * docs/gst/tmpl/gstreamer-unused.sgml:
13029           removed all traces of cvs conflicts
13030
13031 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13032
13033         * configure.ac:
13034         * gst/schedulers/cothreads_compat.h:
13035         * libs/Makefile.am:
13036           remove last instances of wingo cothread usage
13037
13038 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13039
13040         * gst/gstplugin.c:
13041         * gst/gstversion.h.in:
13042         * gst/parse/grammar.y:
13043           change comment block from /** to /* when not gtk-doc comments
13044
13045 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13046
13047         * gst/gst.c: whitespace and doc style fixes
13048
13049 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13050
13051         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13052
13053 2003-12-24  Colin Walters  <walters@verbum.org>
13054
13055         * gst/elements/gsttypefindelement.c:
13056           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13057           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13058           Don't double-free caps.
13059
13060 2003-12-23  David Schleef  <ds@schleef.org>
13061
13062         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13063           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13064           Many little fixes and additions of debug statements to
13065           get rhythmbox working.
13066
13067 2003-12-23  Colin Walters  <walters@verbum.org>
13068
13069         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13070         Use GST_PAD_LINK_SUCCESSFUL.
13071
13072 2003-12-23  David Schleef  <ds@schleef.org>
13073
13074         * gst/elements/gstaggregator.c:
13075         * gst/elements/gsttee.c:
13076           Use gst_pad_proxy_getcaps().
13077         * gst/gstpad.c:
13078         * gst/gstpad.h:
13079           Add gst_pad_proxy_getcaps(), which filter elements can use
13080           as a generic getcaps implementation.
13081           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13082           was advertised.
13083
13084 2003-12-23  David Schleef  <ds@schleef.org>
13085
13086         * gst/gstpad.c:
13087           Rearrange/rewrite much of the pad negotiation code, since it
13088           resembled pasta.  This actually changes the way some
13089           negotiation works, since the previous code was inconsistent
13090           depending on how it was invoked.  Add (internal) structure
13091           GstPadLink, which is used to hold some information (more in
13092           the future) about the link between two pads.  Fixes a number
13093           of bugs, including random lossage of filter caps when the
13094           initial negotiation is delayed.  A few functions are still
13095           unimplemented.
13096         * gst/gstpad.h:
13097           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13098           these when testing GstPadLinkReturn values instead of comparing
13099           directly.
13100
13101 2003-12-23  David Schleef  <ds@schleef.org>
13102
13103         * gst/gstvalue.c: 
13104         * gst/gstvalue.h:
13105           Rearrange lots of code.  Change registration of compare function
13106           into registration of compare/serialize/deserialize functions.
13107           Doesn't include implementation of gst_value_[de]serialize(),
13108           but that should be easy.
13109
13110 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13111
13112         * docs/gst/gstreamer-sections.txt:
13113         * docs/gst/tmpl/gstprops.sgml: removed
13114         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13115           David removed props and caps code, so let's remove their docs as well.
13116           Removed all no longer existing symbols from gstreamer-sections.txt
13117           
13118 2003-12-22  Colin Walters  <walters@verbum.org>
13119
13120         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13121           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13122           of tags directly.
13123
13124 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13125
13126         * gst/elements/gstelements.c:
13127           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13128         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13129           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13130           gst_caps (peer).
13131
13132 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13133
13134         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13135         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13136         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13137         (gst_spider_identity_sink_loop_type_finding):
13138         * gst/autoplug/gstspideridentity.h:
13139           Fix autoplugging in spider element, so it works with new caps.
13140           This was mainly caused by identifying empty caps incorrectly.
13141
13142 2003-12-22  David Schleef  <ds@schleef.org>
13143
13144         * gststructure.c, gstvalue.c, gstvalue.h: Add
13145           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13146           using g_value_copy()
13147
13148 2003-12-21  David Schleef  <ds@schleef.org>
13149
13150         * many, many files: Merge CAPS branch.  This includes:
13151           - implemention of GstValue and several GstValue types
13152           - implemention of GstStructure
13153           - entire rewrite of GstCaps
13154           - removal of GstProps
13155           - many changes to GstPad to compensate for new caps paradigm
13156           - removal of GstBufferpool
13157         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13158         gstvalue.h, gst/gstcaps[2]*.[ch]:
13159           - rename gstcaps2.[ch] to gstcaps.[ch]
13160
13161 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13162
13163         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13164         (gst_queue_chain), (gst_queue_handle_src_event):
13165           implement timeout for sending events. Workaround for if the
13166           pipeline on this queue is not passing any data.
13167
13168 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13169                                                                                 
13170         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13171         * moved CVS to freedesktop.org
13172