gst/base/gstbasesrc.c: Send discont event from the loop function, as pads aren't...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
2
3         * gst/base/gstbasesrc.c: (gst_base_src_loop),
4         (gst_base_src_activate_push):
5           Send discont event from the loop function, as pads
6           aren't activated yet in the activate_push handler.
7
8         * gst/gstbin.c: (bin_bus_handler):
9           Don't leak element name.
10
11 2005-07-18  Andy Wingo  <wingo@pobox.com>
12
13         * configure.ac: Use AS_LIBTOOL_TAGS.
14
15 2005-07-18  Wim Taymans  <wim@fluendo.com>
16
17         * docs/gst/gstreamer.types:
18         Remove deleted types.
19
20 2005-07-18  Wim Taymans  <wim@fluendo.com>
21
22         * check/elements/gstfakesrc.c: (GST_START_TEST):
23         * configure.ac:
24         * gst/Makefile.am:
25         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
26         (init_popt_callback):
27         * gst/gst.h:
28         * gst/gst_private.h:
29         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
30         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
31         * gst/gstbin.h:
32         * gst/gstbus.h:
33         * gst/gstconfig.h.in:
34         * gst/gstelement.c: (gst_element_class_init),
35         (gst_element_set_base_time), (gst_element_get_base_time),
36         (iterator_fold_with_resync), (gst_element_change_state),
37         (gst_element_dispose), (gst_element_get_bus):
38         * gst/gstelement.h:
39         * gst/gstelementfactory.h:
40         * gst/gsterror.c: (_gst_core_errors_init):
41         * gst/gsterror.h:
42         * gst/gstevent.h:
43         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
44         * gst/gstindex.c:
45         * gst/gstinfo.c: (_gst_debug_init):
46         * gst/gstmessage.c: (_gst_message_copy):
47         * gst/gstmessage.h:
48         * gst/gstminiobject.h:
49         * gst/gstobject.c:
50         * gst/gstobject.h:
51         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
52         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
53         * gst/gstpad.h:
54         * gst/gstparse.h:
55         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
56         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
57         (gst_pipeline_get_last_stream_time):
58         * gst/gstpipeline.h:
59         * gst/gstpluginfeature.h:
60         * gst/gstquery.h:
61         * gst/gstscheduler.c:
62         * gst/gstscheduler.h:
63         * gst/gststructure.h:
64         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
65         (gst_task_finalize), (gst_task_func), (gst_task_create),
66         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
67         (gst_task_stop), (gst_task_pause):
68         * gst/gsttask.h:
69         * gst/gsttypefind.h:
70         * gst/gsttypes.h:
71         * gst/registries/gstlibxmlregistry.c: (load_feature),
72         (gst_xml_registry_load), (gst_xml_registry_save_feature):
73         * gst/registries/gstxmlregistry.c:
74         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
75         * gst/schedulers/threadscheduler.c:
76         * libs/gst/control/dparammanager.h:
77         * tools/gst-inspect.c: (print_element_list),
78         (print_plugin_features), (print_element_features):
79         * tools/gst-xmlinspect.c: (print_element_list),
80         (print_plugin_info), (main):
81         Removed plugable schedulers.
82         Removed Scheduler/Manager from elements.
83         Removed gsttypes.h, rearranged includes.
84         Removed dependency pad<->element, element<>pipeline, and
85         various others,  fix includes.
86         implement gst_pad_get_parent() with gst_object_get_parent()
87         Make GstTask sefcontained.
88         Fix _get_state() on GstBin, it did not return ASYNC with a 0
89         timeout.
90         Fix endless loop in iterator_fold_with_resync.
91
92
93 2005-07-18  Wim Taymans  <wim@fluendo.com>
94
95         * gst/Makefile.am:
96         * gst/gstarch.h:
97         Remove old file.
98
99 2005-07-18  Wim Taymans  <wim@fluendo.com>
100
101         * gst/Makefile.am:
102         No more cothreads.h
103
104 2005-07-18  Wim Taymans  <wim@fluendo.com>
105
106         * gst/cothreads.c:
107         * gst/cothreads.h:
108         Let's remove these.
109
110 2005-07-18  Wim Taymans  <wim@fluendo.com>
111
112         * docs/design/part-dynamic.txt:
113         * docs/design/part-events.txt:
114         * docs/design/part-seeking.txt:
115         Some more docs in the works.
116
117         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
118         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
119         (gst_base_transform_setcaps), (gst_base_transform_get_size),
120         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
121         (gst_base_transform_handle_buffer),
122         (gst_base_transform_sink_activate_push),
123         (gst_base_transform_src_activate_pull),
124         (gst_base_transform_set_passthrough),
125         (gst_base_transform_is_passthrough):
126         Refcounting fixes.
127
128         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
129         Cleanups.
130
131         * gst/gstevent.c: (gst_event_finalize):
132         Set SRC to NULL.
133
134         * gst/gstutils.c: (gst_element_unlink),
135         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
136         (gst_pad_proxy_setcaps):
137         * gst/gstutils.h:
138         Add _get_parent_element() to get a pads parent as an element.
139
140 2005-07-18  Wim Taymans  <wim@fluendo.com>
141
142         * check/gst/gstbin.c: (GST_START_TEST):
143         Remove bogus test.
144
145 2005-07-18  Wim Taymans  <wim@fluendo.com>
146
147         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
148         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
149         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
150         (gst_base_sink_event), (gst_base_sink_do_sync),
151         (gst_base_sink_chain), (gst_base_sink_loop),
152         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
153         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
154         Refcounting fixes.
155         Fix logic for returning ASYNC when not prerolled.
156
157 2005-07-18  Wim Taymans  <wim@fluendo.com>
158
159         * gst/gstqueue.c: (gst_queue_handle_sink_event):
160         Fix nasty refcount bug.
161
162 2005-07-16 Philippe Khalaf <burger@speedy.org>
163         * gst/elements/gstfdsrc.c:
164         * gst/elements/gstfdsrc.h:
165         * gst/elements/gstelements.c:
166         * gst/elements/Makefile.am:
167         Ported fdsrc to 0.9.
168
169 2005-07-16  Wim Taymans  <wim@fluendo.com>
170
171         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
172         (gst_base_sink_do_sync):
173         Fix compile error.
174
175 2005-07-16  Wim Taymans  <wim@fluendo.com>
176
177         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
178         (gst_base_sink_event), (gst_base_sink_get_times),
179         (gst_base_sink_do_sync), (gst_base_sink_change_state):
180         * gst/base/gstbasesink.h:
181         Store and use discont values when syncing buffers as described
182         in design docs.
183         
184         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
185         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
186         (gst_base_src_activate_push):
187         Push discont event when starting.
188
189         * gst/elements/gstidentity.c: (gst_identity_transform):
190         Small cleanups.
191
192         * gst/gstbin.c: (gst_bin_change_state):
193         Small cleanups in base_time  distribution.
194
195         * gst/gstelement.c: (gst_element_set_base_time),
196         (gst_element_get_base_time), (gst_element_change_state):
197         * gst/gstelement.h:
198         Added methods for the base_time of the element.
199         Some MT fixes.
200
201         * gst/gstpipeline.c: (gst_pipeline_send_event),
202         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
203         (gst_pipeline_get_last_stream_time):
204         * gst/gstpipeline.h:
205         MT fixes.
206         Handle seeking as described in design doc, remove stream_time
207         hack.
208         Cleanups clock and stream_time selection code. Added accessors
209         for the stream_time.
210         
211
212 2005-07-16  Andy Wingo  <wingo@pobox.com>
213
214         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
215         (#305291).
216
217 2005-07-16  Wim Taymans  <wim@fluendo.com>
218
219         * check/gst/gstbin.c: (GST_START_TEST):
220         Make elements silent as the deep_notify refs the
221         parent, which might make the test fail.
222
223         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
224         Don't hold the lock for too long.
225
226 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
227
228         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
229           Don't unref the caps we passed to gst_caps_make_writable() after
230           passing them. gst_caps_make_writable() will do that for us.
231
232 2005-07-15  Andy Wingo  <wingo@pobox.com>
233
234         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
235         (#157311).
236
237         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
238         own marshalling function for the handoff signal. Properly type the
239         buffer as a buffer. Fixes some warnings. Should do a more general
240         solution.
241         (gst_identity_class_init): Plug into the right marshaller.
242
243 2005-07-15  Wim Taymans  <wim@fluendo.com>
244
245         * docs/design/part-TODO.txt:
246         * docs/design/part-clocks.txt:
247         * docs/design/part-element-sink.txt:
248         * docs/design/part-events.txt:
249         * docs/design/part-gstpipeline.txt:
250         Updated docs, mostly DISCONT related.
251
252 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
253
254         * docs/pwg/building-pads.xml:
255           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
256
257 2005-07-15  Andy Wingo  <wingo@pobox.com>
258
259         * tools/gst-typefind.c: Update, add copyright block.
260
261         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
262         Normalize and truncate caps before fixation.
263
264         * gst/gstcaps.h:
265         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
266         discards all but the first structure from its argument.
267
268 2005-07-15  Wim Taymans  <wim@fluendo.com>
269
270         * gst/base/gstbasetransform.c: (gst_base_transform_init),
271         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
272         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
273         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
274         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
275         (gst_base_transform_chain), (gst_base_transform_change_state),
276         (gst_base_transform_set_passthrough),
277         (gst_base_transform_is_passthrough):
278         * gst/base/gstbasetransform.h:
279         Make passthrough work using the bufferpools.
280         Changed API a bit, subclasses have to write into a buffer
281         provided by the base class.
282         More debug info in nego functions.
283         
284         * gst/elements/gstidentity.c: (gst_identity_init),
285         (gst_identity_transform):
286         Port to new base class.
287
288 2005-07-15  Wim Taymans  <wim@fluendo.com>
289
290         * gst/gstmessage.c: (gst_message_new_state_changed):
291         * tools/gst-launch.c: (event_loop), (main):
292         Totally dump messages in -launch with the -m option.
293         Fix message name for State messages,
294
295 2005-07-14  Wim Taymans  <wim@fluendo.com>
296
297         * gst/base/gstbasesrc.c: (gst_base_src_loop):
298         Post error messages on errors.
299
300 2005-07-14  Wim Taymans  <wim@fluendo.com>
301
302         * gst/gstcaps.c: (gst_caps_do_simplify):
303         Remove debug info.
304
305         * gst/gsterror.h:
306         Define error for stream stopped.
307
308         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
309         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
310         Do proper return values.
311
312         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
313         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
314         (gst_pad_get_range):
315         Better return values.
316
317         * gst/gstpad.h:
318         Reorganise return values, add macro to check for fatal errors.
319
320         * gst/gstqueue.c: (gst_queue_chain):
321         Return proper GstFlowReturn values,
322
323 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
324
325         * docs/gst/gstreamer-sections.txt:
326         * docs/gst/gstreamer.types:
327         * docs/gst/tmpl/gst.sgml:
328         * docs/gst/tmpl/gstbasesink.sgml:
329         * docs/gst/tmpl/gstbasesrc.sgml:
330         * docs/gst/tmpl/gstbasetransform.sgml:
331         * docs/gst/tmpl/gstbin.sgml:
332         * docs/gst/tmpl/gstbuffer.sgml:
333         * docs/gst/tmpl/gstcaps.sgml:
334         * docs/gst/tmpl/gstclock.sgml:
335         * docs/gst/tmpl/gstcompat.sgml:
336         * docs/gst/tmpl/gstconfig.sgml:
337         * docs/gst/tmpl/gstelement.sgml:
338         * docs/gst/tmpl/gstelementdetails.sgml:
339         * docs/gst/tmpl/gstelementfactory.sgml:
340         * docs/gst/tmpl/gstenumtypes.sgml:
341         * docs/gst/tmpl/gsterror.sgml:
342         * docs/gst/tmpl/gstevent.sgml:
343         * docs/gst/tmpl/gstfakesink.sgml:
344         * docs/gst/tmpl/gstfakesrc.sgml:
345         * docs/gst/tmpl/gstfilesink.sgml:
346         * docs/gst/tmpl/gstfilesrc.sgml:
347         * docs/gst/tmpl/gstfilter.sgml:
348         * docs/gst/tmpl/gstformat.sgml:
349         * docs/gst/tmpl/gstghostpad.sgml:
350         * docs/gst/tmpl/gstimplementsinterface.sgml:
351         * docs/gst/tmpl/gstindex.sgml:
352         * docs/gst/tmpl/gstindexfactory.sgml:
353         * docs/gst/tmpl/gstinfo.sgml:
354         * docs/gst/tmpl/gstiterator.sgml:
355         * docs/gst/tmpl/gstmacros.sgml:
356         * docs/gst/tmpl/gstmemchunk.sgml:
357         * docs/gst/tmpl/gstminiobject.sgml:
358         * docs/gst/tmpl/gstobject.sgml:
359         * docs/gst/tmpl/gstpad.sgml:
360         * docs/gst/tmpl/gstpadtemplate.sgml:
361         * docs/gst/tmpl/gstparse.sgml:
362         * docs/gst/tmpl/gstpipeline.sgml:
363         * docs/gst/tmpl/gstplugin.sgml:
364         * docs/gst/tmpl/gstpluginfeature.sgml:
365         * docs/gst/tmpl/gstquery.sgml:
366         * docs/gst/tmpl/gstqueue.sgml:
367         * docs/gst/tmpl/gstregistry.sgml:
368         * docs/gst/tmpl/gstregistrypool.sgml:
369         * docs/gst/tmpl/gstscheduler.sgml:
370         * docs/gst/tmpl/gstschedulerfactory.sgml:
371         * docs/gst/tmpl/gststructure.sgml:
372         * docs/gst/tmpl/gstsystemclock.sgml:
373         * docs/gst/tmpl/gsttaglist.sgml:
374         * docs/gst/tmpl/gsttagsetter.sgml:
375         * docs/gst/tmpl/gsttrace.sgml:
376         * docs/gst/tmpl/gsttrashstack.sgml:
377         * docs/gst/tmpl/gsttypefind.sgml:
378         * docs/gst/tmpl/gsttypefindfactory.sgml:
379         * docs/gst/tmpl/gsttypes.sgml:
380         * docs/gst/tmpl/gsturihandler.sgml:
381         * docs/gst/tmpl/gsturitype.sgml:
382         * docs/gst/tmpl/gstutils.sgml:
383         * docs/gst/tmpl/gstvalue.sgml:
384         * docs/gst/tmpl/gstversion.sgml:
385         * docs/gst/tmpl/gstxml.sgml:
386         * docs/libs/tmpl/gstcontrol.sgml:
387         * docs/libs/tmpl/gstdataprotocol.sgml:
388         * docs/libs/tmpl/gstdparam.sgml:
389         * docs/libs/tmpl/gstdplinint.sgml:
390         * docs/libs/tmpl/gstdpman.sgml:
391         * docs/libs/tmpl/gstdpsmooth.sgml:
392         * docs/libs/tmpl/gstgetbits.sgml:
393         * docs/libs/tmpl/gstunitconvert.sgml:
394         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
395         (gst_push_src_base_init), (gst_push_src_class_init),
396         (gst_push_src_init), (gst_push_src_create):
397         * gst/base/gstpushsrc.h:
398         * gst/elements/gstelements.c:
399         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
400         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
401         (gst_fake_sink_init), (gst_fake_sink_set_property),
402         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
403         (gst_fake_sink_event), (gst_fake_sink_preroll),
404         (gst_fake_sink_render), (gst_fake_sink_change_state):
405         * gst/elements/gstfakesink.h:
406         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
407         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
408         (gst_fake_src_base_init), (gst_fake_src_class_init),
409         (gst_fake_src_init), (gst_fake_src_event_handler),
410         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
411         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
412         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
413         (gst_fake_src_create_buffer), (gst_fake_src_create),
414         (gst_fake_src_start), (gst_fake_src_stop):
415         * gst/elements/gstfakesrc.h:
416         * gst/elements/gstfilesink.c: (_do_init),
417         (gst_file_sink_base_init), (gst_file_sink_class_init),
418         (gst_file_sink_init), (gst_file_sink_dispose),
419         (gst_file_sink_set_location), (gst_file_sink_set_property),
420         (gst_file_sink_get_property), (gst_file_sink_open_file),
421         (gst_file_sink_close_file), (gst_file_sink_query),
422         (gst_file_sink_event), (gst_file_sink_render),
423         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
424         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
425         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
426         * gst/elements/gstfilesink.h:
427         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
428         (gst_file_src_class_init), (gst_file_src_init),
429         (gst_file_src_finalize), (gst_file_src_set_location),
430         (gst_file_src_set_property), (gst_file_src_get_property),
431         (gst_file_src_map_region), (gst_file_src_map_small_region),
432         (gst_file_src_create_mmap), (gst_file_src_create_read),
433         (gst_file_src_create), (gst_file_src_is_seekable),
434         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
435         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
436         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
437         (gst_file_src_uri_handler_init):
438         * gst/elements/gstfilesrc.h:
439           more autistic cleanliness in functions/names/defines
440
441 2005-07-13  Andy Wingo  <wingo@pobox.com>
442
443         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
444         source couldn't negotiate.
445
446         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
447         connections again.
448
449         * gst/gstutils.h:
450         * gst/gstutils.c (gst_element_link_pads_filtered): New old
451         function. I am channeling Hades. Put your boots on suckers!!!
452
453 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
454
455         * testsuite/caps/Makefile.am:
456         * testsuite/caps/value_compare.c:
457         * testsuite/caps/value_intersect.c:
458         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
459           move two testsuite apps over to the check dir
460
461 2005-07-12  Wim Taymans  <wim@fluendo.com>
462
463         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
464         Added more debug info in the negotiate process.
465
466         * gst/gstmessage.h:
467         Prepare for segment playback.
468
469         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
470         Better debugging.
471
472         * gst/gstutils.c:
473         Some more docs.
474
475         * tools/gst-launch.c: (main):
476         NULL pipeline on errors.
477
478 2005-07-12  Andy Wingo  <wingo@pobox.com>
479
480         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
481         not it comes from a malloc region. Make sure our copy gets freed.
482
483 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
484
485         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
486         * check/gst/gstmessage.c: (GST_START_TEST):
487         * check/gst/gststructure.c: (GST_START_TEST),
488         (gst_structure_suite), (main):
489           more testing
490         * gst/gstelement.c: (gst_element_message_full):
491           clean up GError and debug string now that they get copied
492         * gst/gstmessage.c: (gst_message_new_error),
493         (gst_message_new_warning), (gst_message_parse_error),
494         (gst_message_parse_warning):
495           use GST_TYPE_G_ERROR for structure_new, and take copies of
496           arguments, so that we don't mess up refcounting
497
498 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
499
500         * check/Makefile.am:
501           add per-test valgrind targets
502         * check/gst-libs/gdp.c: (GST_START_TEST),
503         (gst_data_protocol_suite), (main):
504           clean up
505
506 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
507
508         * check/Makefile.am:
509           instate more valgrindable tests
510         * check/elements/gstfakesrc.c: (chain_func), (event_func),
511         (GST_START_TEST), (fakesrc_suite):
512         * check/gst/gstpad.c: (GST_START_TEST):
513         * check/gst/gststructure.c: (GST_START_TEST):
514           fix test leaks
515         * docs/gst/tmpl/gstminiobject.sgml:
516         * gst/gstpad.c: (gst_pad_finalize):
517           fix the static mutex leak
518
519 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
520
521         * check/Makefile.am:
522           add two more tests for valgrinding
523         * check/gst/gstvalue.c: (GST_START_TEST):
524           test refcount of deserialized buffer, found a leak
525         * docs/gst/gstreamer-docs.sgml:
526         * docs/gst/gstreamer-sections.txt:
527         * docs/gst/gstreamer.types:
528         * docs/gst/tmpl/gstminiobject.sgml:
529           add miniobject to docs
530         * gst/gstminiobject.c:
531           add some docs
532         * gst/gstvalue.c: (gst_value_deserialize_buffer),
533         (gst_string_unwrap):
534           fix a hard-to-find invalid write for one of the tests
535           fix a leak for deserialized buffers
536
537 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
538
539         * docs/pwg/advanced-events.xml:
540         * docs/pwg/advanced-request.xml:
541         * docs/pwg/advanced-scheduling.xml:
542         * docs/pwg/appendix-porting.xml:
543         * docs/pwg/building-boiler.xml:
544         * docs/pwg/intro-preface.xml:
545         * docs/pwg/other-ntoone.xml:
546           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
547           of example code and explanation for pad activation, loop() and
548           getrange() functions and a bit more. Remove old comments pointing
549           to loop-functions.
550         * examples/pwg/Makefile.am:
551           Add loop/getrange examples.
552
553 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
554
555         * configure.ac:
556           check for valgrind binary + some fixes
557         * check/gst.supp:
558           valgrind suppressions for the tests
559         * check/Makefile.am:
560           add a valgrind: target that valgrinds the unit tests
561         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
562         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
563         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
564         * check/gst/gstghostpad.c:
565           added some cleanup
566         * check/gst/gstdata.c:
567           removed
568         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
569         (thread_unref), (gst_mini_object_suite), (main):
570           added
571         * gst/gst.c: (gst_deinit):
572         * gst/gst.h:
573           add a method to clean up.
574         * gst/gstsystemclock.c: (gst_system_clock_dispose),
575         (gst_system_clock_obtain):
576           allow for disposing the system clock.
577         * tools/gst-launch.c: (main):
578           deinit
579
580 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
581
582         * docs/gst/tmpl/gstbasesrc.sgml:
583         * docs/gst/tmpl/gstfakesrc.sgml:
584         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
585         (gst_base_src_init), (gst_base_src_set_property),
586         (gst_base_src_get_property), (gst_base_src_get_range),
587         (gst_base_src_start):
588         * gst/base/gstbasesrc.h:
589           add num-buffers property
590         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
591         (gst_fakesrc_init), (gst_fakesrc_set_property),
592         (gst_fakesrc_get_property), (gst_fakesrc_create),
593         (gst_fakesrc_start):
594           remove num-buffers property
595
596 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
597
598         * docs/gst/gstreamer-sections.txt:
599         * docs/gst/tmpl/gstbasesink.sgml:
600         * docs/gst/tmpl/gstbasesrc.sgml:
601         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
602         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
603         (gst_base_sink_finalize), (gst_base_sink_set_clock),
604         (gst_base_sink_set_property), (gst_base_sink_get_property),
605         (gst_base_sink_handle_object), (gst_base_sink_event),
606         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
607         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
608         (gst_base_sink_loop), (gst_base_sink_deactivate),
609         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
610         (gst_base_sink_change_state):
611         * gst/base/gstbasesink.h:
612         * gst/base/gstbasesrc.h:
613         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
614         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
615         (gst_filesink_init):
616           more macro splitting
617
618 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
619
620         * gst/gstelement.c: (gst_element_get_bus):
621           add debug
622         * tools/gst-launch.c: (check_intr), (event_loop):
623           fix bus leaks
624
625 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
626
627         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
628           fix a caps leak
629
630 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
631
632         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
633         (gst_base_src_finalize):
634           add finalize method and clean up properly
635         * gst/gstpipeline.c: (gst_pipeline_dispose):
636           add debug
637
638 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
639
640         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
641         (gst_bin_suite):
642           add more things to check
643         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
644         * gst/gstelement.c:
645           more debug
646
647 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
648
649         * check/elements/gstfakesrc.c: (chain_func), (event_func),
650         (GST_START_TEST), (fakesrc_suite):
651         * check/gst-libs/gdp.c: (GST_START_TEST):
652         * check/gst/gst.c: (GST_START_TEST):
653         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
654         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
655         * check/gst/gstbus.c: (GST_START_TEST):
656         * check/gst/gstcaps.c: (GST_START_TEST):
657         * check/gst/gstdata.c: (GST_START_TEST):
658         * check/gst/gstelement.c: (GST_START_TEST):
659         * check/gst/gstghostpad.c: (GST_START_TEST):
660         * check/gst/gstiterator.c: (GST_START_TEST):
661         * check/gst/gstmessage.c: (GST_START_TEST):
662         * check/gst/gstobject.c: (GST_START_TEST):
663         * check/gst/gstpad.c: (GST_START_TEST):
664         * check/gst/gststructure.c: (GST_START_TEST):
665         * check/gst/gstsystemclock.c: (GST_START_TEST),
666         (gst_systemclock_suite):
667         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
668         * check/gst/gstvalue.c: (GST_START_TEST):
669         * check/pipelines/cleanup.c: (GST_START_TEST):
670         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
671         * check/states/sinks.c: (GST_START_TEST):
672         * check/gstcheck.c: (gst_check_init):
673         * check/gstcheck.h:
674           add debugging category
675           use GST_START_TEST now, so we add a debug line
676
677 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
678
679         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
680           add test for state change message on a bin
681         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
682           add another test
683         * gst/gstbin.c: (gst_bin_init):
684         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
685         * gst/gstelement.c: (gst_element_post_message),
686         (gst_element_set_state):
687         * gst/gstelementfactory.c: (gst_element_factory_create):
688         * gst/gstmessage.c: (gst_message_new):
689         * gst/gstscheduler.c:
690           various debugging additions and cleanups
691
692 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
693
694         * check/Makefile.am:
695         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
696         (main):
697           adding tests for elements
698         * gst/gstelement.c: (gst_element_dispose):
699
700 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
701
702         * gst/registries/gstlibxmlregistry.c: (load_feature):
703           plug more leaks.  A simple gst_init() now is leakfree, yay.
704
705 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
706
707         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
708         (gst_xml_registry_load):
709           plug another memleak
710
711 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
712
713         * configure.ac:
714           use GST_SET_ERROR_CFLAGS
715         * docs/faq/cvs.xml:
716           change to ERROR_CFLAGS
717
718 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
719
720         * configure.ac:
721           make GST_ERROR_CFLAGS overridable and re-enable Werror
722         * docs/faq/cvs.xml:
723           add a note about error CFLAGS
724         * docs/gst/tmpl/gstfakesrc.sgml:
725         * gst/elements/gstfakesrc.c:
726           comment out some unused code
727         * gst/gst.c: (split_and_iterate):
728         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
729         (load_feature):
730           plug some memleaks
731
732 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
733
734         * common/Makefile.am:
735         * common/gtk-doc.mak:
736         * docs/gst/Makefile.am:
737           factor out gtk-doc.mak
738
739 2005-07-07  Wim Taymans  <wim@fluendo.com>
740
741         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
742         (gst_thread_scheduler_dispose):
743         Unlock the STREAM_LOCK completely.
744
745 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
746
747         * check/Makefile.am:
748         * check/elements/.cvsignore:
749         * check/elements/gstfakesrc.c: (chain_func), (event_func),
750         (START_TEST), (fakesrc_suite), (main):
751         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
752         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
753         (gst_fakesrc_create), (gst_fakesrc_start):
754         * gst/elements/gstfakesrc.h:
755           adding a first element test
756
757 2005-07-07  Andy Wingo  <wingo@pobox.com>
758
759         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
760         debug message.
761
762 2005-07-07  Wim Taymans  <wim@fluendo.com>
763
764         * gst/gstquery.c:
765         * gst/gstquery.h:
766         Remove old types
767
768 2005-07-07  Wim Taymans  <wim@fluendo.com>
769
770         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
771         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
772         Allow subclasses to implement their own negotiation.
773
774 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
775
776         * docs/design/part-gstbin.txt:
777         * docs/design/part-gstpipeline.txt:
778           Update design notes to reflect the movement of
779           responsibility for bus handling from GstPipeline to
780           GstBin
781
782 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
783
784         * configure.ac:
785           Remove unnecessary queue2/3/4 examples.
786
787 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
788
789         * examples/Makefile.am:
790         * examples/helloworld/helloworld.c: (event_loop), (main):
791         * examples/queue/queue.c: (event_loop), (main):
792         * examples/queue2/queue2.c: (main):
793           Update a couple of the examples to work again.
794
795         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
796         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
797          Spelling corrections and extra debug.
798         
799         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
800         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
801         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
802         * gst/gstbin.h:
803         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
804         (gst_pipeline_change_state):
805         * gst/gstpipeline.h:
806           Move the bus handler for children to the GstBin, and create a
807           separate bus for receiving messages from children to the one the
808           bus sends 'upwards' on.
809
810 2005-07-06  Wim Taymans  <wim@fluendo.com>
811
812         * gst/base/README:
813         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
814         (gst_base_sink_handle_object), (gst_base_sink_loop),
815         (gst_base_sink_change_state):
816         * gst/base/gstbasesink.h:
817         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
818         (gst_base_src_init), (gst_base_src_setcaps),
819         (gst_base_src_getcaps), (gst_base_src_loop),
820         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
821         (gst_base_src_start), (gst_base_src_change_state):
822         * gst/base/gstbasesrc.h:
823         Make basesrc negotiate.
824         Handle the case where preroll fails in basesink.
825         Update README.
826
827 2005-07-06  Wim Taymans  <wim@fluendo.com>
828
829         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
830         Implement the fixate function.
831         Clean up acceptcaps.
832
833 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
834
835         * docs/pwg/building-filterfactory.xml:
836         * docs/pwg/pwg.xml:
837           Remove never-written filter-factory chapter; I'll add the various
838           base classes to part 4 ("other element types") later on.
839
840 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
841
842         * docs/pwg/advanced-negotiation.xml:
843         * docs/pwg/building-boiler.xml:
844         * docs/pwg/building-pads.xml:
845         * docs/pwg/pwg.xml:
846         * examples/pwg/Makefile.am:
847           Add a chapter on caps negotiation, simplify the original code
848           samples a bit w.r.t. caps negotiation, add link to the advanced
849           section. Add a bunch of examples showing different use cases of
850           different types of caps negotiation. Upstream renegotiation isn't
851           fully documented yet since nobody knows how that works.
852
853 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
854
855         * check/gst/gstpad.c:
856         * check/gstcheck.c:
857         * gst/gstpad.c: (gst_pad_get_internal_links_default):
858           if pad has no parent, return NULL as list of internal links
859
860 2005-07-05  Andy Wingo  <wingo@pobox.com>
861
862         * gst/elements/gstfilesrc.c:
863         * gst/elements/gstfakesrc.c: 
864         * gst/base/gstpushsrc.c:
865         * gst/base/gstbasesrc.h: 
866         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
867         
868 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
869
870         * Makefile.am:
871           better report generation target (lcov needs a patch)
872
873 2005-07-05  Andy Wingo  <wingo@pobox.com>
874
875         * gst/elements, testsuite: Null if we got it...
876
877 2005-07-05  Wim Taymans  <wim@fluendo.com>
878
879         * configure.ac:
880         * libs/gst/dataprotocol/Makefile.am:
881         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
882         * libs/gst/dataprotocol/dataprotocol.h:
883         * pkgconfig/Makefile.am:
884         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
885         * pkgconfig/gstreamer-dataprotocol.pc.in:
886         Ported dataprotol to 0.9. 
887         Added pkgconfig files.
888
889 2005-07-05  Andy Wingo  <wingo@pobox.com>
890
891         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
892         Default to returning TRUE for the case when tranform_caps returns
893         a fixed caps, like for identity or volume.
894
895         * check/gst/gstbus.c (pound_bus_with_messages): 
896         * check/gst/gstmessage.c (START_TEST): 
897         * check/pipelines/simple_launch_lines.c (got_handoff): Application
898         message API change.
899
900         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
901         logic weaks here: always run transform_caps, trying passthrough
902         operation only if the original caps intersects with the transform.
903
904         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
905         source and sink caps.
906
907         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
908         Intersect the peer caps with the pad template before going into
909         transform_caps.
910         (gst_base_transform_transform_caps): More debugging.
911
912         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
913         src argument.
914
915 2005-07-04  Edward Hervey  <edward@fluendo.com>
916
917         * gst/gstutils.c:
918         * gst/gstutils.h:
919         (gst_pad_add_*_probe): now returns the signal id for better wrapping
920         in bindings.
921
922 2005-07-04  Andy Wingo  <wingo@pobox.com>
923
924         * check/gst/gstpad.c: Only set explicit caps on pads.
925
926 2005-07-01  Andy Wingo  <wingo@pobox.com>
927
928         * tests/network-clock.scm: Commentary update.
929
930         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
931         Didn't really make sense, not implementable with basetransform,
932         etc.
933         (gst_identity_transform): Unref inbuf via make_writable. Feeble
934         attempt at implementing the sync property, needs an unlock method.
935
936         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
937         New func, by default returns the same caps (the identity
938         transformation).
939         (gst_base_transform_getcaps): Uses transform_caps to return
940         something sensible.
941         (gst_base_transform_setcaps): Complicated logic to get caps on
942         both pads, even if they are different, and to call set_caps once
943         for every time both pads get their caps set.
944         (gst_base_transform_handle_buffer): Give the ref to the transform
945         function. Allows in-place modification of the buffer.
946
947         * gst/base/gstbasetransform.h (transform_caps): New class method.
948         Given caps on one side, what can I do on the other.
949         (set_caps): Take two caps, one for each side of the element.
950
951         * gst/gstpad.h:
952         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
953         caps in place. This is safe because we can check the mutability of
954         the caps, and a good idea because fixate functions are just called
955         as a matter of last resort. (Not actually implemented.)
956         (gst_pad_set_caps): If the caps we're setting is actually the same
957         as the existing pad caps, just update the pointer without calling
958         setcaps. Assert that caps is either NULL or fixed, as per the
959         docs.
960
961         * gst/gstghostpad.c: Update for fixate changes.
962
963 2005-07-02  Andy Wingo  <wingo@pobox.com>
964
965         * gst/gstcaps.c:
966         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
967         two refcounts makes it immutable, which is enough. Doc more.
968
969 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
970
971         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
972           Put the mini_object into GValue as a mini_object,
973           not a gpointer, since that's how we declared
974           the signal.
975
976 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
977
978         * examples/pwg/Makefile.am:
979           Fix buildbot again.
980
981 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
982
983         * docs/pwg/building-testapp.xml:
984           Add extra check.
985         * examples/pwg/Makefile.am:
986           Fix buildbot.
987
988 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
989
990         * configure.ac:
991         * examples/Makefile.am:
992         * examples/pwg/Makefile.am:
993         * examples/pwg/extract.pl:
994           Enable building the PWG examples.
995         * docs/pwg/advanced-interfaces.xml:
996           Add URI interface stub.
997         * docs/pwg/advanced-types.xml:
998         * docs/pwg/other-autoplugger.xml:
999         * docs/pwg/appendix-porting.xml:
1000         * docs/pwg/pwg.xml:
1001           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1002         * docs/pwg/building-boiler.xml:
1003         * docs/pwg/building-chainfn.xml:
1004         * docs/pwg/building-pads.xml:
1005         * docs/pwg/building-props.xml:
1006         * docs/pwg/building-state.xml:
1007         * docs/pwg/building-testapp.xml:
1008           Update the building-*.xml parts for 0.9 changes. All examples
1009           code blocks compile in examples/pwg/*.
1010
1011 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1012
1013         * docs/manual/advanced-autoplugging.xml:
1014         * docs/manual/appendix-checklist.xml:
1015         * docs/manual/appendix-integration.xml:
1016         * docs/manual/highlevel-components.xml:
1017           Fix playbin/decodebin examples, update docs a bit, mention bus
1018           instead of signals in various places, mention kmplayer and
1019           kaffeine since they have a working GStreamer backend in the KDE
1020           section.
1021
1022 2005-06-30  Wim Taymans  <wim@fluendo.com>
1023
1024         * CHANGES-0.9:
1025         * docs/design/draft-ghostpads.txt:
1026         * docs/design/draft-push-pull.txt:
1027         * docs/design/draft-query.txt:
1028         * docs/design/part-TODO.txt:
1029         * docs/design/part-query.txt:
1030         Added CHANGES-0.9 doc, updated status of other docs.
1031         
1032         * gst/gstquery.h:
1033         Remove "hmm" macro
1034
1035 2005-06-30  Wim Taymans  <wim@fluendo.com>
1036
1037         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1038         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1039         (gst_base_sink_change_state):
1040         * gst/base/gstbasesink.h:
1041         Some tweaks, only EOS and a buffer complete a preroll.
1042
1043 2005-06-30  Andy Wingo  <wingo@pobox.com>
1044
1045         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1046         activate_push down to the internal pad as well.
1047
1048 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1049
1050         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1051
1052         * gst/gsttaginterface.c:
1053           Some documentation fixes (#307394 and #307397).
1054
1055 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1056
1057         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1058
1059         * gst/gstvalue.c: (gst_value_intersect_list):
1060           Fix memleak (#309125).
1061
1062 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1063
1064         * docs/manual/advanced-dataaccess.xml:
1065           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1066         * docs/manual/basics-pads.xml:
1067           Add reference for filtered caps to above chapter.
1068
1069 2005-06-30  Wim Taymans  <wim@fluendo.com>
1070
1071         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1072         (gst_bin_change_state):
1073         Probes are gone.
1074         Lame attempt at making the state change function a bit
1075         more readable.
1076
1077 2005-06-30  Wim Taymans  <wim@fluendo.com>
1078
1079         * docs/design/part-clocks.txt:
1080         * docs/design/part-element-sink.txt:
1081         * docs/design/part-events.txt:
1082         * docs/design/part-preroll.txt:
1083         * docs/design/part-states.txt:
1084         Some more tweeks and additions to the docs.
1085
1086 2005-06-30  Wim Taymans  <wim@fluendo.com>
1087
1088         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1089         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1090         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1091         (gst_pad_check_pull_range), (gst_pad_get_range),
1092         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1093         * gst/gstpad.h:
1094         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1095         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1096         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1097         (gst_pad_remove_buffer_probe):
1098         Removed atomic operations, use existing LOCK.
1099         Move exception handling out of main code path.
1100
1101 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1102
1103         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1104         (silly_return_true_function), (gst_pad_class_init),
1105         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1106         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1107         (gst_pad_send_event):
1108           Fix accumulator, add default value by using _emitv() instead
1109           of _emit() for signal emission.
1110
1111 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1112
1113         * docs/manual/advanced-dataaccess.xml:
1114         * examples/manual/Makefile.am:
1115           Add probe example.
1116         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1117           Make work (??).
1118
1119 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1120
1121         * gst/elements/gstfilesink.c: (gst_filesink_render):
1122           Simplify code so that we don't have to handle short
1123           writes and return GST_FLOW_ERROR if an error occured.
1124
1125 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1126
1127         * docs/gst/gstreamer-docs.sgml:
1128           Remove probes more.
1129
1130 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1131
1132         * docs/gst/gstreamer-sections.txt:
1133         * docs/gst/tmpl/gstpad.sgml:
1134         * docs/gst/tmpl/gstprobe.sgml:
1135         * gst/Makefile.am:
1136         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1137         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1138         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1139         (gst_pad_push_event), (gst_pad_send_event):
1140         * gst/gstpad.h:
1141         * gst/gstutils.c: (gst_pad_add_data_probe),
1142         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1143         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1144         (gst_pad_remove_buffer_probe):
1145         * gst/gstutils.h:
1146           Remove old probes, add new g-signal-based probes and some utility
1147           functions.
1148
1149 2005-06-29  Edward Hervey  <edward@fluendo.com>
1150
1151         * gst/gstelementfactory.c:
1152         * gst/gstutils.h:
1153         * gst/gstutils.c:
1154         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1155         the definition to the header file.
1156
1157 2005-06-29  Andy Wingo  <wingo@pobox.com>
1158
1159         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1160         plugins from the source directory.
1161
1162 2005-06-29  Wim Taymans  <wim@fluendo.com>
1163
1164         * docs/gst/tmpl/gstbuffer.sgml:
1165         * docs/gst/tmpl/gstclock.sgml:
1166         Some fixings for blantently wrong text.
1167
1168 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1169
1170         * check/Makefile.am:
1171         * gst/gst.c: (add_path_func), (init_pre):
1172         * gst/gstregistry.c: (gst_registry_add_path):
1173           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1174           only scan the GST_PLUGIN_PATH locations, and not add
1175           system locations
1176
1177 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1178
1179         * docs/gst/gstreamer-sections.txt:
1180         * docs/gst/tmpl/gstbasesrc.sgml:
1181         * gst/gstelement.c:
1182         * gst/gstelement.h:
1183         * gst/gstevent.c:
1184         * gst/gstutils.c:
1185           doc fixes
1186
1187 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1188
1189         * docs/manual/advanced-autoplugging.xml:
1190           Fix autoplugging example.
1191
1192 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1193
1194         * docs/manual/advanced-autoplugging.xml:
1195         * docs/manual/mime-world.fig:
1196           Try to get autoplugging working, fix type detection. Fix text
1197           in hello-world image.
1198
1199 2005-06-29  Wim Taymans  <wim@fluendo.com>
1200
1201         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1202         (gst_base_sink_change_state):
1203         Small debug line.
1204
1205         * gst/gstclock.h:
1206         map SIGNAL and BROADCAST to the right function.
1207
1208         * gst/gstobject.h:
1209         Remove redundant braces.
1210
1211         * gst/gstpad.c: (gst_pad_set_caps):
1212         Don't call setcaps function when reseting caps to NULL.
1213
1214         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1215         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1216         (gst_system_clock_id_unschedule):
1217         Use BROADCAST as this is what we do.
1218
1219 2005-06-29  Wim Taymans  <wim@fluendo.com>
1220
1221         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1222         We are actually prerolling before commiting the state
1223         change. 
1224
1225 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1226
1227         * docs/manual/advanced-clocks.xml:
1228         * docs/manual/advanced-interfaces.xml:
1229         * docs/manual/advanced-metadata.xml:
1230         * docs/manual/advanced-position.xml:
1231         * docs/manual/advanced-schedulers.xml:
1232         * docs/manual/advanced-threads.xml:
1233         * docs/manual/appendix-porting.xml:
1234         * docs/manual/basics-bins.xml:
1235         * docs/manual/basics-bus.xml:
1236         * docs/manual/basics-elements.xml:
1237         * docs/manual/basics-helloworld.xml:
1238         * docs/manual/basics-pads.xml:
1239         * docs/manual/highlevel-components.xml:
1240         * docs/manual/manual.xml:
1241         * docs/manual/thread.fig:
1242           Update (until threads/scheduling) Application Development Manual;
1243           remove GstThread, add GstBus, add simple porting checklist, add
1244           documentation for tag writing, clocks, make all examples until this
1245           part compile and run.
1246         * examples/manual/Makefile.am:
1247           Update from changes to Application Development Manual; add bus
1248           example, remove thread example.
1249
1250 2005-06-28  Wim Taymans  <wim@fluendo.com>
1251
1252         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1253         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1254         (gst_bus_source_dispatch):
1255         Add debugging messages.
1256         Make internal methods static.
1257         Handle the case where the bus is flushed in the handler.
1258         
1259         * gst/gstelement.c: (gst_element_get_bus):
1260         Fix refcount in _get_bus();
1261
1262         * gst/gstpipeline.c: (gst_pipeline_change_state),
1263         (gst_pipeline_get_clock_func):
1264         Clock refcounting fixes.
1265         Handle the case where preroll timed out more gracefully.
1266         
1267         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1268         Clean up the internal thread in dispose. This is needed
1269         for subclasses that actually get disposed.
1270         
1271         * gst/schedulers/threadscheduler.c:
1272         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1273         (gst_thread_scheduler_dispose):
1274         Free thread pool in dispose.
1275
1276 2005-06-28  Andy Wingo  <wingo@pobox.com>
1277
1278         * tests/network-clock-utils.scm (debug, print-event): New utils.
1279
1280         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1281         (*packet-loss*): Unified loss probability.
1282         (network-time): Report out-of-band events.
1283
1284         * tests/plot-data: Add support for out-of-band events. Hack it
1285         into this script instead of passing it down the pipe; should fix
1286         this later.
1287
1288 2005-06-28  Wim Taymans  <wim@fluendo.com>
1289
1290         * docs/gst/gstreamer.types:
1291         * docs/gst/tmpl/gstbasesrc.sgml:
1292         * docs/gst/tmpl/gstpad.sgml:
1293         Docs fixes.
1294
1295 2005-06-28  Wim Taymans  <wim@fluendo.com>
1296
1297         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1298         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1299         (gst_proxy_pad_do_fixatecaps):
1300         Correctly proxy the check_pull_range function.
1301
1302 2005-06-28  Andy Wingo  <wingo@pobox.com>
1303
1304         * tests/network-clock.scm: Removed need for slib.
1305         
1306 2005-06-28  Wim Taymans  <wim@fluendo.com>
1307
1308         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1309         (gst_basesink_preroll_queue_flush):
1310         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1311         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1312         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1313         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1314         (gst_proxy_pad_set_property):
1315         * gst/gstpad.c:
1316         * gst/gstpad.h:
1317         * gst/gstqueue.c: (gst_queue_init):
1318         The deprecated pad loop function is removed now.
1319
1320 2005-06-28  Andy Wingo  <wingo@pobox.com>
1321
1322         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1323         New parameters, simulate network packet loss.
1324
1325         * tests/network-clock-utils.scm: Initialize the RNG.
1326
1327 2005-06-28  Wim Taymans  <wim@fluendo.com>
1328
1329         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1330         (gst_basesink_event), (gst_basesink_deactivate):
1331         Flushing the preroll queue always needs to unlock the waiters.
1332
1333 2005-06-28  Edward Hervey  <edward@fluendo.com>
1334
1335         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1336         Wheen a seek was successful on a pipeline, set the stream_time to the
1337         seek offset in order to have a synchronized stream_time.
1338
1339 2005-06-28  Wim Taymans  <wim@fluendo.com>
1340
1341         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1342         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1343         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1344         (gst_proxy_pad_do_fixatecaps):
1345         Call wrapper function instead of just calling the function
1346         pointers. This takes care of any locking and whatmore.
1347
1348 2005-06-28  Wim Taymans  <wim@fluendo.com>
1349
1350         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1351         (gst_pad_pull_range):
1352         * gst/gstpad.h:
1353         CONNECTED -> LINKED.
1354
1355 2005-06-28  Andy Wingo  <wingo@pobox.com>
1356
1357         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1358         source-munging commit!!!
1359
1360         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1361         (gst_object_sink): Take gpointer arguments, not GstObject --
1362         avoids casts. Like GLib.
1363
1364         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1365         activate.
1366
1367 2005-06-27  Andy Wingo  <wingo@pobox.com>
1368
1369         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1370         remaining buffer.
1371
1372         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1373         returns a sorted copy of the trace list.
1374         (gst_alloc_trace_print_live): New API, only prints traces with
1375         live objects. Sort the list.
1376         (gst_alloc_trace_print_all): Sort the list.
1377         (gst_alloc_trace_print): Align columns.
1378
1379         * gst/elements/gstttypefindelement.c:
1380         * gst/elements/gsttee.c:
1381         * gst/base/gstbasesrc.c:
1382         * gst/base/gstbasesink.c:
1383         * gst/base/gstbasetransform.c:
1384         * gst/gstqueue.c: Adapt for pad activation changes.
1385
1386         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
1387         sched.
1388         (gst_pipeline_dispose): Drop ref on sched.
1389
1390         * gst/gstpad.c (gst_pad_init): Set the default activate func.
1391         (gst_pad_activate_default): Push mode by default.
1392         (pre_activate_switch, post_activate_switch): New stubs, things to
1393         do before and after switching activation modes on pads.
1394         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
1395         the pad's activate function to choose which mode to activate.
1396         Shortcut on deactivation and call the right function directly.
1397         (gst_pad_activate_pull): New API, (de)activates a pad in pull
1398         mode.
1399         (gst_pad_activate_push): New API, same for push mode.
1400         (gst_pad_set_activate_function) 
1401         (gst_pad_set_activatepull_function) 
1402         (gst_pad_set_activatepush_function): Setters for new API.
1403
1404         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
1405         Trace all miniobjects.
1406         (gst_mini_object_make_writable): Unref the arg if we copy, like
1407         gst_caps_make_writable.
1408
1409         * gst/gstmessage.c (_gst_message_initialize): No trace init.
1410
1411         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
1412         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
1413         Adapt for new pad API.
1414
1415         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
1416
1417         * gst/gstelement.h:
1418         * gst/gstelement.c (gst_element_iterate_src_pads) 
1419         (gst_element_iterate_sink_pads): New API functions.
1420         
1421         * gst/gstelement.c (iterator_fold_with_resync): New utility,
1422         should fold into gstiterator.c in some form.
1423         (gst_element_pads_activate): Simplified via use of fold and
1424         delegation of decisions to gstpad->activate.
1425
1426         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
1427         help in debugging.
1428
1429         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
1430         class once in init, like gstmessage. Didn't run into this issue
1431         but it seems correct. Don't initialize a trace, gstminiobject does
1432         that.
1433
1434         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
1435         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
1436         to the bus.
1437         (assert_live_count): New util function, uses alloc traces to check
1438         cleanup.
1439
1440         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
1441         To be modified when unlink drops the internal pad.
1442
1443 2005-06-27  Wim Taymans  <wim@fluendo.com>
1444
1445         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
1446         (gst_bin_change_state):
1447         Cleanup the get_state() function a little, make sure it
1448         iterates the same set of elements.
1449         Added stub iterate_state_order().
1450
1451 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1452
1453         * docs/gst/gstreamer-docs.sgml:
1454         * docs/gst/gstreamer-sections.txt:
1455         * docs/gst/gstreamer.types:
1456         * docs/gst/tmpl/gstbasesink.sgml:
1457         * docs/gst/tmpl/gstbasesrc.sgml:
1458         * docs/gst/tmpl/gstbasetransform.sgml:
1459         * docs/gst/tmpl/gstelement.sgml:
1460         * docs/gst/tmpl/gstiterator.sgml:
1461         * gst/base/gstbasesrc.c:
1462         * gst/base/gstbasesrc.h:
1463         * gst/base/gstbasetransform.h:
1464         * gst/gstelement.c:
1465         * gst/gstiterator.h:
1466           adding basetransform and iterator docs
1467
1468 2005-06-27  Andy Wingo  <wingo@pobox.com>
1469
1470         * docs/design/part-activation.txt: Notes on how activation should
1471         work -- not quite implemented yet.
1472
1473 2005-06-25  Wim Taymans  <wim@fluendo.com>
1474
1475         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
1476         At least get the chain function correct, needs more
1477         fixing.
1478
1479 2005-06-25  Wim Taymans  <wim@fluendo.com>
1480
1481         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1482         (gst_basesink_handle_object), (gst_basesink_event),
1483         (gst_basesink_do_sync), (gst_basesink_handle_event),
1484         (gst_basesink_change_state):
1485         * gst/gsttask.h:
1486         Right, two problems here: ghostpads don't take locks and
1487         glib _rec_mutex_lock_full() with depth==0 still locks.
1488         Catch illegal locking and g_warn them.
1489
1490 2005-06-25  Wim Taymans  <wim@fluendo.com>
1491
1492         * check/states/sinks.c: (START_TEST), (gst_object_suite):
1493         Have to check for completion now...
1494
1495 2005-06-25  Wim Taymans  <wim@fluendo.com>
1496
1497         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1498         (gst_basesink_handle_object), (gst_basesink_event),
1499         (gst_basesink_do_sync), (gst_basesink_handle_event),
1500         (gst_basesink_change_state):
1501         * gst/gstpad.h:
1502         Unlock STREAM_LOCK whatever the recursion was.
1503
1504 2005-06-25  Wim Taymans  <wim@fluendo.com>
1505
1506         * gst/base/gstbasesink.c: (gst_basesink_set_property),
1507         (gst_basesink_preroll_queue_empty),
1508         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
1509         (gst_basesink_event), (gst_basesink_do_sync),
1510         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
1511         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
1512         (gst_basesink_change_state):
1513         Reworked the base sink, handle event and buffer serialisation
1514         correctly and removed possible deadlock.
1515         Handle EOS correctly.
1516
1517 2005-06-25  Wim Taymans  <wim@fluendo.com>
1518
1519         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
1520         (gst_pipeline_change_state):
1521         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1522         Allow elements to post EOS in the state change function.
1523         Fix up -launch, make it exit the poll loop when the
1524         pipeline actually changed state.
1525         Fix up warning parsing in -launch.
1526
1527 2005-06-25  Wim Taymans  <wim@fluendo.com>
1528
1529         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
1530         (gst_tee_sink_activate):
1531         Core takes STREAM_LOCK for us now.
1532
1533 2005-06-25  Wim Taymans  <wim@fluendo.com>
1534
1535         * gst/gstelement.c: (gst_element_get_state_func),
1536         (gst_element_set_state):
1537         * gst/gstelement.h:
1538         * gst/gstmessage.c: (gst_message_parse_error),
1539         (gst_message_parse_warning):
1540         Keep track of current target state while performing a state
1541         change so that subclasses can do something interesting.
1542         Fix parsing of warning/error messages when GError is NULL.
1543
1544 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1545
1546         * docs/gst/Makefile.am:
1547         * docs/gst/gstreamer-docs.sgml:
1548         * docs/gst/gstreamer-sections.txt:
1549         * docs/gst/gstreamer.types:
1550         * docs/gst/tmpl/gstbasesink.sgml:
1551         * docs/gst/tmpl/gstbasesrc.sgml:
1552         * docs/gst/tmpl/gstbin.sgml:
1553         * docs/gst/tmpl/gstcompat.sgml:
1554         * docs/gst/tmpl/gstfakesink.sgml:
1555         * docs/gst/tmpl/gstfakesrc.sgml:
1556         * docs/gst/tmpl/gstfilesink.sgml:
1557         * docs/gst/tmpl/gstfilesrc.sgml:
1558         * docs/gst/tmpl/gstindex.sgml:
1559         * docs/manual/appendix-quotes.xml:
1560         * gst/base/gstbasesrc.h:
1561         * gst/elements/gstfakesrc.h:
1562         * gst/gstmessage.h:
1563           start pulling in base classes and elements in our docs
1564
1565 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
1566
1567         * docs/gst/Makefile.am:
1568         * docs/libs/Makefile.am:
1569           fixed make distcheck with gtk-doc 1.3
1570
1571 2005-06-23  Wim Taymans  <wim@fluendo.com>
1572
1573         * gst/gstelement.c: (gst_element_get_state_func),
1574         (gst_element_set_state), (gst_element_change_state):
1575         When the state did not change, also report NO_PREROLL
1576         when it matters.
1577
1578 2005-06-23  Wim Taymans  <wim@fluendo.com>
1579
1580         * gst/gstpad.c: (gst_pad_event_default):
1581         * gst/gstqueue.c: (gst_queue_loop):
1582         No unsafe task pausing please.
1583
1584 2005-06-23  Wim Taymans  <wim@fluendo.com>
1585
1586         * gst/schedulers/threadscheduler.c:
1587         (gst_thread_scheduler_task_start),
1588         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
1589         Ref the task before pushing it on the threadpool. This
1590         makes sure that we have a ref when the threadfunction is
1591         actually called.
1592
1593 2005-06-23  Andy Wingo  <wingo@pobox.com>
1594
1595         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
1596         offset is greater than the file's size.
1597
1598         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
1599         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
1600         * gst/gstobject.c (gst_object_class_init): Make the class lock
1601         recursive. Wim won't let me drop deep_notify. Decodebin works
1602         again, whoopdy doo.
1603
1604         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
1605         internal pad, and hacks accordingly. Doesn't do it on the target
1606         pad because we change its caps. Probably catches all cases of
1607         interest tho.
1608         (gst_ghost_pad_set_property): Connect to notify::caps as
1609         appropritate.
1610
1611         * tests/network-clock.scm (plot-simulation): Pipe data to the
1612         elite python skript.
1613
1614         * tests/network-clock-utils.scm (define-parameter): New macro,
1615         defines a parameter that can be set via the command line.
1616         (set-parameter!, parse-parameter-arguments): Command line args
1617         parser.
1618
1619         * tests/plot-data: Simple matplotlib-based plotter, takes input on
1620         stdin.
1621
1622 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
1623
1624         * gst/elements/gsttypefindelement.c:
1625         (gst_type_find_element_handle_event):
1626           Don't restart typefinding on a discont.
1627         * gst/gstelement.c: (gst_element_set_state):
1628           Debug spelling fix.
1629         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
1630           Allow changing mode of an active pad.
1631           Debug output fixes.
1632         * gst/registries/gstlibxmlregistry.c: (load_feature):
1633           Don't cast a static pad template to a normal pad template.
1634
1635 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1636
1637         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1638         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1639           remove gst_strtoll completely, since it didn't actually do
1640           anything more than what g_ascii_strtoull already does.
1641           check for range errors when deserializing
1642           do a cast for the unsigned cases; but further fixing needs
1643           a decision on what the interpretation of "(int)" and
1644           deserialization should be for values that fall outside the
1645           type's boundaries (ie, refuse, or interpret as casting)
1646
1647 2005-06-23  Wim Taymans  <wim@fluendo.com>
1648
1649         * check/Makefile.am:
1650         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
1651         * docs/design/part-live-source.txt:
1652         * docs/design/part-states.txt:
1653         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1654         (gst_basesrc_set_live), (gst_basesrc_is_live),
1655         (gst_basesrc_get_range), (gst_basesrc_activate),
1656         (gst_basesrc_change_state):
1657         * gst/base/gstbasesrc.h:
1658         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1659         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1660         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
1661         * gst/gstelement.c: (gst_element_get_state_func),
1662         (gst_element_set_state):
1663         * gst/gstelement.h:
1664         * gst/gsttypes.h:
1665         * tools/gst-launch.c: (event_loop), (main):
1666         Added support for live sources and other elements that
1667         cannot do preroll.
1668         Updated design docs, added live-source design doc.
1669         Implemented live source functionality in basesrc
1670         Fix error condition in _bin_get_state()
1671         Implement live source handling in -launch.
1672         Added check for live sources.
1673         Fixed case in GstBin where elements were changed state
1674         multiple times.
1675
1676
1677 2005-06-23  Andy Wingo  <wingo@pobox.com>
1678
1679         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
1680         borken refcounting.
1681
1682         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
1683         gst_caps_replace takes care of this for us.
1684
1685         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
1686         gst_pad_set_caps on the target, not just its setcaps() function.
1687
1688         * tests/network-clock.scm: 
1689         * tests/network-clock-utils.scm: A network clock simulator.
1690         Something of an algorithmic testbed before doing something in C.
1691
1692 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1693
1694         * check/Makefile.am:
1695         * check/gst/capslist.h:
1696           copy over from 0.8, and add two with bitmasks specified with
1697           (int) 0xFF...
1698         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1699           add test to parse everything from capslist.h
1700         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
1701         (main):
1702           add test for structure deserialization
1703         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1704           add tests for deserialization of strings to int types
1705         * gst/gststructure.c: (gst_structure_nth_field_name):
1706         * gst/gststructure.h:
1707           add a way to get the name of a field referenced by index
1708         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1709           instead of checking if the resulting long long lies between
1710           min and max, we check if the long long would fit into
1711           a number of bytes for the final type.
1712           This fixes cases where a string represents 2^32 - 1, which
1713           when cast to int would be the (valid) -1, but is bigger than
1714           G_MAXINT
1715
1716 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1717
1718         * gst/parse/grammar.y:
1719           add a log line for type deserialization
1720
1721 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1722
1723         * check/gst/gstvalue.c: (START_TEST):
1724         * gst/gstvalue.c: (gst_value_deserialize):
1725           return long long, not int, so gint64 deserialization actually
1726           works.  Is there any flag that makes the compiler check this ?
1727           Fixes #308559
1728
1729 2005-06-22  Wim Taymans  <wim@fluendo.com>
1730
1731         * gst/gstbuffer.h:
1732         Added convenience macros for setting buffers in GValue.
1733
1734 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1735
1736         * check/gst/.cvsignore:
1737         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1738           add a test deserializing int64, and comment part out because
1739           it fails, yay !
1740
1741 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1742
1743         * check/Makefile.am:
1744         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
1745         * testsuite/Makefile.am:
1746         * testsuite/caps/Makefile.am:
1747         * testsuite/caps/value_serialize.c:
1748         * testsuite/test_gst_init.c:
1749           move a value_serialize test over
1750
1751 2005-06-20  Wim Taymans  <wim@fluendo.com>
1752
1753         * gst/gstpad.c:
1754         Small doc updates.
1755         
1756         * gst/gstvalue.c: (gst_value_compare_buffer),
1757         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
1758         (gst_value_compare_flags), (gst_value_serialize_flags),
1759         (gst_value_deserialize_flags), (_gst_value_initialize):
1760         Fix serialisation of buffers, they are not boxed types anymore
1761
1762 2005-06-20  Wim Taymans  <wim@fluendo.com>
1763
1764         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1765         Testcase to show error in buffer-on-caps serialisation.
1766
1767 2005-06-20  Andy Wingo  <wingo@pobox.com>
1768
1769         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
1770         will be adding to later.
1771
1772         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
1773         if its socks fill with rocks.
1774         (gst_system_clock_obtain): Set the name on object construction.
1775         Avoid double-checked locking.
1776
1777 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
1778
1779         * gst/gsturi.c: (gst_element_make_from_uri):
1780           Fix potential endless loop.
1781
1782 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1783
1784         * check/Makefile.am:
1785           add gsttag
1786         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
1787         (main):
1788           move over from testsuite dir and clean up
1789         * configure.ac:
1790         * gst/gsttag.c:
1791         * testsuite/Makefile.am:
1792         * testsuite/tags/.cvsignore:
1793         * testsuite/tags/Makefile.am:
1794         * testsuite/tags/merge.c:
1795           remove testsuite/tags
1796
1797 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1798
1799         * docs/gst/gstreamer-sections.txt:
1800         * docs/gst/tmpl/gstenumtypes.sgml:
1801         * win32/gstenumtypes.c:
1802           clean up documentation build a little
1803
1804 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1805
1806         * check/gstcheck.h:
1807           add macros for checking refcounts on objects and caps
1808         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
1809           add some more unit tests
1810         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1811         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
1812           fix leaked refcounts (I hope :)) so unittest works
1813         * gst/gstpad.h:
1814           whitespace removal
1815
1816 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1817
1818         * configure.ac: back to HEAD
1819
1820 === release 0.9.1 ===
1821
1822 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1823
1824         * NEWS:
1825         * RELEASE:
1826           updated
1827
1828 2005-06-17  Andy Wingo  <wingo@pobox.com>
1829
1830         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
1831         assert; it's always possible that the pad gets deactivated in
1832         between the checks in gstpad.c and the implementation. Rely on
1833         finish_preroll() to return a FLUSHING or similar instead of on the
1834         assert.
1835         
1836         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
1837         clock and post an EOS message if we come out of finish_preroll in
1838         the playing state.
1839
1840 2005-06-16  David Schleef  <ds@schleef.org>
1841
1842         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1843         (gst_capsfilter_set_property): Allow NULL as possible value
1844         for filter_caps property, indicating GST_CAPS_ANY.
1845
1846 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1847
1848         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
1849           fix debug output
1850         * gst/schedulers/Makefile.am:
1851           use libgst prefix
1852         * gstreamer.spec.in:
1853           fix spec for it
1854
1855 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1856
1857         * gstreamer.spec.in:
1858           clean up
1859
1860 2005-06-08  Andy Wingo  <wingo@pobox.com>
1861
1862         * gst/gstutils.c: RPAD fixes all around.
1863         (gst_element_link_pads): Refcounting fixes.
1864
1865         * tools/gst-inspect.c:
1866         * tools/gst-xmlinspect.c:
1867         * parse/grammar.y:
1868         * gst/base/gsttypefindhelper.c:
1869         * gst/base/gstbasesink.c:
1870         * gst/gstqueue.c: RPAD fixes.
1871
1872         * gst/gstghostpad.h:
1873         * gst/gstghostpad.c: New ghost pad implementation as full proxy
1874         pads. The tricky thing is they provide both source and sink
1875         interfaces, since they proxy the internal pad for the external
1876         pad, and vice versa. Implement with lower-level ProxyPad objects,
1877         with the interior proxy pad as a child of the exterior ghost pad.
1878         Should write a doc on this.
1879         
1880         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
1881         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
1882         gst_object API.
1883         
1884         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
1885         pads are real pads. No ghost pads in this file. Not documenting
1886         the myriad s/RPAD/PAD/ and REALIZE fixes.
1887         (gst_pad_class_init): Add properties for "direction" and
1888         "template". Both are construct-only, so they can't change during
1889         the life of the pad. Fixes properly deriving from GstPad.
1890         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
1891         derived objects, just set properties when creating the objects via
1892         g_object_new.
1893         (gst_pad_get_parent): Implement as a function, return NULL if the
1894         parent is not an element.
1895         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
1896         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
1897         
1898         * gst/gstobject.c (gst_object_class_init): Make name a construct
1899         property. Don't set it in the object init.
1900
1901         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
1902         with UNKNOWN direction.
1903         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
1904         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
1905         (gst_element_remove_pad): Remove ghost-pad special cases.
1906         (gst_element_pads_activate): Remove rpad cruft.
1907
1908         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
1909         catch the pad's-parent-not-an-element case.
1910
1911         * gst/gst.h: Include gstghostpad.h.
1912
1913         * gst/gst.c (init_post): No more real, ghost pads.
1914
1915         * gst/Makefile.am: Add gstghostpad.[ch].
1916
1917         * check/Makefile.am:
1918         * check/gst/gstbin.c:
1919         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
1920         into a bin creates ghost pads, and that the refcounts are right.
1921         Partly moved from gstbin.c.
1922
1923 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1924
1925         * check/gst-libs/.cvsignore:
1926         * check/gst/.cvsignore:
1927         * check/pipelines/.cvsignore:
1928           ignore more
1929         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
1930         (START_TEST), (cleanup_suite), (main):
1931           add some tests related to cleanup after running pipelines
1932
1933 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1934
1935         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
1936           add a testsuite for GstBuffer
1937
1938 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1939
1940         * gst/gstminiobject.h:
1941           add defines for accessing the refcount
1942
1943 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
1944
1945         * Makefile.am: added support for html unit test coverage reports
1946
1947 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
1948
1949         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
1950           Free existing caps if the capsfilter changes. Add a FIXME about
1951           setting those caps on the pads.
1952
1953         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
1954           Before adding a ghost pad to a parent bin, check that there isn't
1955           already one for the element on the bin. Prevents infinite recursion
1956           when using decodebin in parse pipelines. Andy says he'll rewrite the
1957           way this works anyway, so ignore the hack.
1958
1959 2005-06-02  Andy Wingo  <wingo@pobox.com>
1960
1961         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
1962         file size, pass it on to the type find helper.
1963
1964         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
1965         segment_start and segment_end properly according to the seek
1966         method. Segment_end is still a bit flaky because offset can be
1967         negative for CUR and END cases, but it takes -1 as an "unset"
1968         value.
1969
1970 2005-06-02  Wim Taymans  <wim@fluendo.com>
1971
1972         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
1973         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
1974         (gst_basesink_activate):
1975         * gst/base/gstbasesink.h:
1976         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
1977         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
1978         (gst_pad_query), (gst_pad_start_task):
1979         * gst/gstpad.h:
1980         * gst/gstqueue.c: (gst_queue_bufferalloc),
1981         (gst_queue_handle_sink_event), (gst_queue_chain):
1982         Bufferalloc: return GstFlowReturn to more accuratly report
1983         why allocation failed.
1984
1985 2005-06-02  Wim Taymans  <wim@fluendo.com>
1986
1987         * gst/gstpipeline.c: (gst_pipeline_send_event):
1988         Take snapshot of state without blocking.
1989
1990 2005-06-02  Wim Taymans  <wim@fluendo.com>
1991
1992         * docs/design/part-TODO.txt:
1993         * docs/design/part-caps.txt:
1994         * docs/design/part-clocks.txt:
1995         * docs/design/part-negotiation.txt:
1996         * docs/design/part-preroll.txt:
1997         Small doc updates 
1998
1999 2005-05-30  Wim Taymans  <wim@fluendo.com>
2000
2001         * gst/elements/gstidentity.c: (gst_identity_event),
2002         (gst_identity_transform), (gst_identity_get_property):
2003         Protect last_message property as it is accessed from
2004         multiple threads.
2005
2006 2005-05-30  Wim Taymans  <wim@fluendo.com>
2007
2008         * gst/gstelement.c: (gst_element_init),
2009         (gst_element_pads_activate), (gst_element_change_state):
2010         Slicker pad activation code.
2011
2012 2005-05-30  Wim Taymans  <wim@fluendo.com>
2013
2014         * gst/Makefile.am:
2015         * gst/gstelement.h:
2016         * gst/gstelementfactory.h:
2017         * gst/gsttypes.h:
2018         Move elementfactory methods to separate .h file.
2019
2020 2005-05-30  Wim Taymans  <wim@fluendo.com>
2021
2022         * docs/design/part-overview.txt:
2023         * gst/gstsystemclock.h:
2024         Small typo fixes, doc updates.
2025
2026 2005-05-30  Wim Taymans  <wim@fluendo.com>
2027
2028         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2029         (init_popt_callback):
2030         Remove cpu-opt flag.
2031
2032 2005-05-30  Wim Taymans  <wim@fluendo.com>
2033
2034         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2035         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2036         * gst/gstbuffer.h:
2037         Avoid typechecking in places where not needed.
2038         Added accessor for malloc_data.
2039
2040 2005-05-30  Wim Taymans  <wim@fluendo.com>
2041
2042         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2043         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2044         (gst_pad_configure_sink), (gst_pad_configure_src),
2045         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2046         (gst_pad_start_task):
2047         Propagate errors from _set_caps() in configure_src/sink
2048         functions instead of returning TRUE.
2049         FLUSH events can travel up and downstream
2050
2051
2052 2005-05-30  Wim Taymans  <wim@fluendo.com>
2053
2054         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2055         (gst_basesink_activate):
2056         Handle EOS in preroll.
2057
2058 2005-05-30  Wim Taymans  <wim@fluendo.com>
2059
2060         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2061         (gst_queue_loop), (gst_queue_handle_src_event):
2062         Remove old pieces of code
2063         Flushing the queue in an upstream event is a very bad idea.
2064
2065 2005-05-26  Andy Wingo  <wingo@pobox.com>
2066
2067         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2068         gst_value_set_mini_object so as to add a ref on the object (which
2069         will be removed when the value is unset).
2070
2071         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2072         arg type in ::handoff.
2073
2074         * gst/gstelement.c (gst_element_change_state): Also deactivate
2075         pads in READY->NULL, just in case the element didn't make it to
2076         PAUSED. Wingo tested, Wim approved.
2077
2078 2005-05-26  Wim Taymans  <wim@fluendo.com>
2079
2080         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2081         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2082         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2083         A flushing pad cannot be used to alloc_buffer from.
2084
2085 2005-05-26  Wim Taymans  <wim@fluendo.com>
2086
2087         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2088         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2089         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2090         (gst_bus_create_watch), (gst_bus_add_watch_full):
2091         * gst/gstbus.h:
2092         Implement a real GSource and use g_main_context_wakeup() to
2093         signal new messages instead of the socketpair.
2094
2095 2005-05-25  Wim Taymans  <wim@fluendo.com>
2096
2097         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2098         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2099         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2100         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2101         (gst_pad_send_event), (gst_pad_start_task):
2102         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2103         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2104         (gst_queue_sink_activate), (gst_queue_src_activate),
2105         (gst_queue_change_state):
2106         * gst/gstqueue.h:
2107         Fix state changes for non sinks. We now change sinks, then elements
2108         with unconnected srcpads, then the rest.
2109         More efficient queue unlocking in flush and state changes.
2110         Set the pad activate mode even if it does not have an activate
2111         function.
2112
2113 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2114
2115         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2116           Don't go in pull mode for non-seekable sources.
2117         * gst/elements/gsttypefindelement.h:
2118         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2119         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2120         (free_entry), (stop_typefinding),
2121         (gst_type_find_element_handle_event), (find_peek),
2122         (gst_type_find_element_chain), (do_pull_typefind),
2123         (gst_type_find_element_change_state):
2124           Allow typefinding (w/o seeking) in push-mode, simplified version
2125           of what was in 0.8.
2126         * gst/gstutils.c: (gst_buffer_join):
2127         * gst/gstutils.h:
2128           gst_buffer_join() from 0.8.
2129
2130 2005-05-25  Wim Taymans  <wim@fluendo.com>
2131
2132         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2133         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2134         (gst_pad_send_event), (gst_pad_start_task):
2135         Disable attempt at mode switching until it is figured out.
2136
2137 2005-05-25  Wim Taymans  <wim@fluendo.com>
2138
2139         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2140         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2141         (gst_basesink_finish_preroll), (gst_basesink_chain),
2142         (gst_basesink_loop), (gst_basesink_activate),
2143         (gst_basesink_change_state):
2144         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2145         (gst_basesrc_get_range), (gst_basesrc_loop),
2146         (gst_basesrc_activate):
2147         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2148         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2149         (gst_real_pad_init), (gst_real_pad_set_property),
2150         (gst_real_pad_get_property), (gst_pad_set_active),
2151         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2152         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2153         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2154         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2155         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2156         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2157         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2158         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2159         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2160         (gst_pad_stop_task):
2161         * gst/gstpad.h:
2162         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2163         (gst_queue_loop), (gst_queue_src_activate):
2164         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2165         (gst_task_get_state):
2166         * gst/gsttask.h:
2167         * gst/schedulers/threadscheduler.c:
2168         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2169         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2170         in task function.
2171         Remove ACTIVE pad flag, use FLUSHING everywhere
2172         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2173         functions.
2174         Add locks around IS_FLUSHING when reading.
2175         Take STREAM lock in chain(), get_range() functions so plugins
2176         don't need to take it anymore.
2177         
2178
2179
2180 2005-05-25  Wim Taymans  <wim@fluendo.com>
2181
2182         * tools/gst-launch.c: (event_loop):
2183         Unref message after using its contents instead of
2184         before.
2185
2186 2005-05-24  Wim Taymans  <wim@fluendo.com>
2187
2188         * docs/design/draft-ghostpads.txt:
2189         * docs/design/draft-push-pull.txt:
2190         * docs/design/draft-query.txt:
2191         * docs/design/part-overview.txt:
2192         Docs updates, added general overview doc.
2193
2194 2005-05-21  David Schleef  <ds@schleef.org>
2195
2196         * docs/gst/tmpl/old/GstBin.sgml:
2197         * docs/gst/tmpl/old/GstBuffer.sgml:
2198         * docs/gst/tmpl/old/GstCaps.sgml:
2199         * docs/gst/tmpl/old/GstClock.sgml:
2200         * docs/gst/tmpl/old/GstCompat.sgml:
2201         * docs/gst/tmpl/old/GstData.sgml:
2202         * docs/gst/tmpl/old/GstElement.sgml:
2203         * docs/gst/tmpl/old/GstEvent.sgml:
2204         * docs/gst/tmpl/old/GstIndex.sgml:
2205         * docs/gst/tmpl/old/GstStructure.sgml:
2206         * docs/gst/tmpl/old/GstTag.sgml:
2207         * docs/gst/tmpl/old/cothreads.sgml:
2208         * docs/gst/tmpl/old/cothreads_compat.sgml:
2209         * docs/gst/tmpl/old/gettext.sgml:
2210         * docs/gst/tmpl/old/gobject2gtk.sgml:
2211         * docs/gst/tmpl/old/grammar.tab.sgml:
2212         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2213         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2214         * docs/gst/tmpl/old/gst_private.sgml:
2215         * docs/gst/tmpl/old/gstaggregator.sgml:
2216         * docs/gst/tmpl/old/gstarch.sgml:
2217         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2218         * docs/gst/tmpl/old/gstbufferstore.sgml:
2219         * docs/gst/tmpl/old/gstdata_private.sgml:
2220         * docs/gst/tmpl/old/gstdisksink.sgml:
2221         * docs/gst/tmpl/old/gstdisksrc.sgml:
2222         * docs/gst/tmpl/old/gstelementfactory.sgml:
2223         * docs/gst/tmpl/old/gstextratypes.sgml:
2224         * docs/gst/tmpl/old/gstfakesink.sgml:
2225         * docs/gst/tmpl/old/gstfakesrc.sgml:
2226         * docs/gst/tmpl/old/gstfdsink.sgml:
2227         * docs/gst/tmpl/old/gstfdsrc.sgml:
2228         * docs/gst/tmpl/old/gstfilesink.sgml:
2229         * docs/gst/tmpl/old/gstfilesrc.sgml:
2230         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2231         * docs/gst/tmpl/old/gstidentity.sgml:
2232         * docs/gst/tmpl/old/gstindexfactory.sgml:
2233         * docs/gst/tmpl/old/gstmarshal.sgml:
2234         * docs/gst/tmpl/old/gstmd5sink.sgml:
2235         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2236         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2237         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2238         * docs/gst/tmpl/old/gstpipefilter.sgml:
2239         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2240         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2241         * docs/gst/tmpl/old/gstshaper.sgml:
2242         * docs/gst/tmpl/old/gstspider.sgml:
2243         * docs/gst/tmpl/old/gstspideridentity.sgml:
2244         * docs/gst/tmpl/old/gststatistics.sgml:
2245         * docs/gst/tmpl/old/gsttee.sgml:
2246         * docs/gst/tmpl/old/gsttimecache.sgml:
2247         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2248         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2249         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2250         * docs/gst/tmpl/old/types.sgml:
2251           I didn't intend to add these or check them in.
2252
2253 2005-05-19  David Schleef  <ds@schleef.org>
2254
2255         * configure.ac: Use -no-common everywhere.  In a sane world, it
2256           would be the default in libtool, because without it, you can't
2257           build DLLs on Windows.
2258         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2259         * docs/gst/gstreamer-sections.txt:
2260         * docs/gst/tmpl/gstcpu.sgml:
2261         * docs/gst/tmpl/gstdata.sgml:
2262         * docs/gst/tmpl/gstthread.sgml:
2263
2264 2005-05-19  David Schleef  <ds@schleef.org>
2265
2266         * gst/gstminiobject.c: (gst_value_set_mini_object),
2267         (gst_value_take_mini_object), (gst_value_get_mini_object):
2268         * gst/gstminiobject.h: Add GValue set/get functions.
2269
2270 2005-05-19  Wim Taymans  <wim@fluendo.com>
2271
2272         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2273         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2274         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2275         * gst/gstbuffer.h:
2276         * gst/gstbus.c: (gst_bus_post):
2277         * gst/gstelement.c: (gst_element_get_random_pad):
2278         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2279         Make subbufer unref the parent in finalize.
2280         some more debugging info.
2281
2282
2283 2005-05-19  Wim Taymans  <wim@fluendo.com>
2284
2285         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2286         (gst_basesink_init), (gst_basesink_finalize),
2287         (gst_basesink_activate), (gst_basesink_change_state):
2288         Don't free preroll queue too early.
2289
2290 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2291
2292         * gst/Makefile.am:
2293         * gst/ROADMAP:
2294           Hi, I'm outdated. Please shoot me.
2295
2296 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2297
2298         * gst/gstpipeline.c: (gst_pipeline_send_event):
2299           Do not access variables after they have been deleted.
2300
2301 2005-05-19  Wim Taymans  <wim@fluendo.com>
2302
2303         * tools/gst-inspect.c: (print_plugin_features):
2304         A plugin feature does unfortunatly not use the
2305         object name yet...
2306
2307 2005-05-18  Wim Taymans  <wim@fluendo.com>
2308
2309         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2310         Port _span() functions to new subbuffers.
2311
2312 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2313
2314         * gst/gstbin.c: (gst_bin_add_func):
2315           Fix clock settery in bins when adding kids after the clock has
2316           been selected.
2317
2318 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2319
2320         * gst/elements/gstidentity.c: (gst_identity_class_init):
2321           Workaround until signals support GstMiniObject.
2322
2323 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2324
2325         * gst/gstbuffer.c:
2326         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2327
2328 2005-05-18  Wim Taymans  <wim@fluendo.com>
2329
2330         * gst/base/Makefile.am:
2331         * gst/base/gstadapter.c: (gst_adapter_base_init),
2332         (gst_adapter_class_init), (gst_adapter_init),
2333         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2334         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2335         (gst_adapter_flush), (gst_adapter_available),
2336         (gst_adapter_available_fast):
2337         * gst/base/gstadapter.h:
2338         Ported and added adapter to the base classes.
2339
2340 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2341
2342         * gst/gst.c:
2343         * gst/gstmessage.c:
2344           Make sure the class is reffed/unreffed once before threads can be
2345           used.  Fixes #304551.
2346
2347 2005-05-17  Wim Taymans  <wim@fluendo.com>
2348
2349         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2350         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2351         * gst/gstminiobject.c: (gst_mini_object_get_type),
2352         (gst_mini_object_free):
2353         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2354         (gst_pad_push), (gst_pad_push_event):
2355         * gst/gstqueue.c: (gst_queue_change_state):
2356         Don't queue buffers in basesink when we are flushing.
2357         Unref buffer when flushing in basesink.
2358         Flush queue when going to READY
2359         Unref buffer when _push() returns an error.
2360         Don't free MiniObject instance when refcount is incremented
2361         in _finalize() so that we can recover objects.
2362
2363 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2364
2365         * docs/manual/advanced-schedulers.xml:
2366         * docs/manual/appendix-checklist.xml:
2367         * docs/pwg/advanced-clock.xml:
2368         * docs/pwg/advanced-interfaces.xml:
2369         * docs/pwg/advanced-request.xml:
2370         * docs/pwg/advanced-types.xml:
2371         * docs/pwg/intro-preface.xml:
2372         * examples/plugins/example.c: (gst_example_get_type),
2373         (gst_example_class_init), (gst_example_chain),
2374         (gst_example_set_property), (gst_example_get_property),
2375         (gst_example_change_state), (plugin_init):
2376         * examples/plugins/example.h:
2377           small doc fixes
2378
2379 2005-05-17  Wim Taymans  <wim@fluendo.com>
2380
2381         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
2382         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
2383         * gst/gstqueue.c: (gst_queue_change_state):
2384         Clear queue when going to READY.
2385         Remove IN_SETCAPS flag too.
2386
2387 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
2388
2389         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
2390           Remove implicit cast from gboolean to GstElementStateReturn;
2391           make sure we still return failure in paused => ready case if
2392           the parent class fails to change state and our own stop 
2393           vfunc succeeds.
2394
2395 2005-05-17  Wim Taymans  <wim@fluendo.com>
2396
2397         * tools/gst-launch.c: (event_loop):
2398         Message was unreffed too soon.
2399
2400 2005-05-16  Andy Wingo  <wingo@pobox.com>
2401
2402         * gst/gstbin.c (sink_iterator_filter): Err... um...
2403
2404         * check/gst/gstbin.c (test_ghost_pads): New test for the
2405         ghosting-if-elements-not-in-same-bin behavior.
2406
2407 2005-05-16  David Schleef  <ds@schleef.org>
2408
2409         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
2410         accessing refcount directly.
2411
2412 2005-05-15  David Schleef  <ds@schleef.org>
2413
2414         * check/Makefile.am: remove GstData checks
2415         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
2416         * gst/Makefile.am: add miniobject, remove data
2417         * gst/gst.h: add miniobject, remove data
2418         * gst/gstdata.c: remove
2419         * gst/gstdata.h: remove
2420         * gst/gstdata_private.h: remove
2421         * gst/gsttypes.h: remove GstEvent and GstMessage
2422         * gst/gstelement.c: (gst_element_post_message): fix for API changes
2423         * gst/gstmarshal.list: change BOXED -> OBJECT
2424
2425         Implement GstMiniObject.
2426         * gst/gstminiobject.c:
2427         * gst/gstminiobject.h:
2428
2429         Modify to be subclasses of GstMiniObject.
2430         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
2431         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
2432         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
2433         (gst_subbuffer_get_type), (gst_subbuffer_init),
2434         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
2435         (gst_buffer_span):
2436         * gst/gstbuffer.h:
2437         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
2438         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
2439         (_gst_event_copy), (gst_event_new):
2440         * gst/gstevent.h:
2441         * gst/gstmessage.c: (_gst_message_initialize),
2442         (gst_message_get_type), (gst_message_class_init),
2443         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
2444         (gst_message_new), (gst_message_new_error),
2445         (gst_message_new_warning), (gst_message_new_tag),
2446         (gst_message_new_state_changed), (gst_message_new_application):
2447         * gst/gstmessage.h:
2448         * gst/gstprobe.c: (gst_probe_perform),
2449         (gst_probe_dispatcher_dispatch):
2450         * gst/gstprobe.h:
2451         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
2452         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
2453         (_gst_query_copy), (gst_query_new):
2454
2455         Update elements for GstData -> GstMiniObject changes
2456         * gst/gstquery.h:
2457         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
2458         (gst_queue_chain), (gst_queue_loop):
2459         * gst/elements/gstbufferstore.c:
2460         (gst_buffer_store_add_buffer_func),
2461         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
2462         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2463         (gst_fakesink_render):
2464         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2465         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
2466         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
2467         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
2468         (gst_filesrc_create_read):
2469         * gst/elements/gstidentity.c: (gst_identity_class_init):
2470         * gst/elements/gsttypefindelement.c:
2471         (gst_type_find_element_src_event), (free_entry_buffers),
2472         (gst_type_find_element_handle_event):
2473         * libs/gst/dataprotocol/dataprotocol.c:
2474         (gst_dp_header_from_buffer):
2475         * libs/gst/dataprotocol/dataprotocol.h:
2476         * libs/gst/dataprotocol/dp-private.h:
2477
2478 2005-05-15  David Schleef  <ds@schleef.org>
2479
2480         * gst/elements/gstelements.c: Don't include headers that were
2481         just removed.
2482
2483 2005-05-15  David Schleef  <ds@schleef.org>
2484
2485         * gst/elements/Makefile.am: Remove some elements that don't
2486         need to be in the core (or even exist at all).
2487         * gst/elements/gstaggregator.c:
2488         * gst/elements/gstaggregator.h:
2489         * gst/elements/gstmd5sink.c:
2490         * gst/elements/gstmd5sink.h:
2491         * gst/elements/gstmultifilesrc.c:
2492         * gst/elements/gstmultifilesrc.h:
2493         * gst/elements/gstpipefilter.c:
2494         * gst/elements/gstpipefilter.h:
2495         * gst/elements/gstshaper.c:
2496         * gst/elements/gstshaper.h:
2497         * gst/elements/gststatistics.c:
2498         * gst/elements/gststatistics.h:
2499         * po/POTFILES.in: Remove above files.
2500
2501 2005-05-14  Andy Wingo  <wingo@pobox.com>
2502
2503         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
2504         so as to get the refs right.
2505         (sink_iterator_filter): New function, wraps bin_element_is_sink,
2506         unreffing objects that don't pass the filter.
2507
2508         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
2509         gst_element_set_bus.
2510         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
2511         normal cases, this will destroy the bus.
2512
2513         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
2514         object.
2515
2516         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
2517         has no sinks.
2518
2519 2005-05-13  Andy Wingo  <wingo@pobox.com>
2520
2521         * gst/gstutils.c (gst_element_link_pads): Instead of calling
2522         gst_pad_link, call pad_link_maybe_ghosting,
2523         (pad_link_maybe_ghosting): Links pads, making sure that the
2524         elements being linked are in the same bin.
2525         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
2526         Helpers for pad_link_maybe_ghosting.
2527
2528 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2529
2530         * configure.ac:
2531           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
2532
2533 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2534
2535         * docs/design/part-element-source.txt:
2536           Mention GstPushSrc
2537
2538 2005-05-12  Wim Taymans  <wim@fluendo.com>
2539
2540         * gst/base/gstbasesink.c: (gst_basesink_init),
2541         (gst_basesink_activate):
2542         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
2543         (gst_basesrc_is_seekable):
2544         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2545         (bin_element_is_sink), (gst_bin_change_state):
2546         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2547         * gst/gstelement.h:
2548         Identify sinks by their flag to avoid overly complicated
2549         checks (fow now).
2550         Do state changes even for elements not reachable from the
2551         sinks.
2552         BaseSink is a sink now :)
2553         Some more debugging info in the basesrc.
2554
2555
2556 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2557
2558         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
2559           Implement _query on a bin, similar to _send_event.
2560
2561 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2562
2563         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
2564           Discont event offset format should be GST_FORMAT_BYTES,
2565           not GST_FORMAT_TIME.
2566
2567 2005-05-12  Wim Taymans  <wim@fluendo.com>
2568
2569         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
2570         Same fix as Ronald's but without the signal. 
2571
2572 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2573
2574         * gst/gstutils.c: (gst_element_query_position):
2575           No, an element is not a pad.
2576
2577 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2578
2579         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
2580         (gst_bin_get_state):
2581           If a child is removed from a bin while we remove the child from
2582           the bin and while we're retrieving its state, signal this to the
2583           get_state function so we abort the wait (instead of waiting for
2584           a timeout) and can immediately re-iterate over all other elements.
2585
2586 2005-05-12  Wim Taymans  <wim@fluendo.com>
2587
2588         * gst/base/Makefile.am:
2589         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
2590         (gst_basesrc_start):
2591         * gst/base/gstbasesrc.h:
2592         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
2593         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
2594         (gst_pushsrc_init), (gst_pushsrc_create):
2595         * gst/base/gstpushsrc.h:
2596         Added is_seekable to BaseSrc
2597         Added simple PushSrc.
2598
2599 2005-05-11  Wim Taymans  <wim@fluendo.com>
2600
2601         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2602         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2603         (gst_element_link_pads), (gst_element_query_position),
2604         (gst_element_query_convert), (intersect_caps_func),
2605         (gst_pad_query_position), (gst_pad_query_convert):
2606         Fix refcounting in utils function.
2607         No point in trying to activate a pad when it's added, it could
2608         be added from the state change function and then we deadlock, the
2609         element has to decide what to do.
2610
2611 2005-05-10  Andy Wingo  <wingo@pobox.com>
2612
2613         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
2614         *all* the arguments.
2615
2616         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
2617         stream lock if it's a FLUSH_DONE; normal flushes don't get the
2618         lock (according to the docs -- if this is wrong change the docs).
2619
2620         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
2621         flush messages in the NULL state.
2622
2623         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
2624         message immediately and return.
2625         (gst_bus_set_flushing): New function. If a bus is flushing, it
2626         flushes out any queued messages and immediately unrefs new
2627         messages. This is so when an element goes to NULL, all of the
2628         unhandled messages coming from it can be freed, and their
2629         references to the element dropped. In other words: message source
2630         ref considered harmful :P
2631
2632         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
2633         we're finished with it.
2634
2635         * gst/gstmessage.c (gst_message_new_state_changed): 
2636
2637 2005-05-10  Wim Taymans  <wim@fluendo.com>
2638
2639         * gst/gstvalue.c: (gst_value_compare_flags),
2640         (gst_value_serialize_flags), (gst_value_deserialize_flags),
2641         (_gst_value_initialize):
2642         Added flags serialize/deserialize/compare code.
2643
2644 2005-05-09  Andy Wingo  <wingo@pobox.com>
2645
2646         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
2647         Intersect the peer's caps with our caps.
2648
2649 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2650
2651         * gst/base/gsttypefindhelper.c: (helper_find_peek):
2652         * gst/elements/gsttypefindelement.c: (find_peek):
2653           Handle negative offsets better. Fixes decodebin.
2654
2655 2005-05-09  Wim Taymans  <wim@fluendo.com>
2656
2657         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
2658         (gst_base_transform_event):
2659         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
2660         Implement accept_caps.
2661         Fix silly lock/unlock mismatch in base class.
2662
2663 2005-05-09  Wim Taymans  <wim@fluendo.com>
2664
2665         * docs/design/draft-push-pull.txt:
2666         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
2667         * gst/elements/gstfilesink.c: (gst_filesink_init),
2668         (gst_filesink_query):
2669         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2670         (gst_type_find_handle_src_query), (find_element_get_length):
2671         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
2672         * gst/gstelement.h:
2673         * gst/gstmessage.c:
2674         * gst/gstmessage.h:
2675         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
2676         (gst_real_pad_get_caps_unlocked),
2677         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
2678         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2679         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
2680         (gst_real_pad_dispose), (gst_real_pad_finalize),
2681         (gst_pad_load_and_link), (gst_pad_save_thyself),
2682         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
2683         (gst_pad_check_pull_range), (gst_pad_pull_range),
2684         (gst_pad_template_get_type), (gst_pad_template_class_init),
2685         (gst_pad_template_init), (gst_pad_template_dispose),
2686         (name_is_valid), (gst_static_pad_template_get),
2687         (gst_pad_template_new), (gst_static_pad_template_get_caps),
2688         (gst_pad_template_get_caps), (gst_pad_set_element_private),
2689         (gst_pad_get_element_private), (gst_pad_start_task),
2690         (gst_pad_pause_task), (gst_pad_stop_task),
2691         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
2692         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
2693         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
2694         (gst_ghost_pad_new):
2695         * gst/gstpad.h:
2696         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
2697         (gst_query_new_position), (gst_query_set_position),
2698         (gst_query_parse_position), (gst_query_new_convert),
2699         (gst_query_set_convert), (gst_query_parse_convert):
2700         * gst/gstquery.h:
2701         * gst/gstqueryutils.c:
2702         * gst/gstqueryutils.h:
2703         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2704         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2705         (gst_queue_handle_src_query):
2706         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2707         (gst_element_query_position), (gst_element_query_convert),
2708         (intersect_caps_func), (gst_pad_query_position),
2709         (gst_pad_query_convert):
2710         * gst/gstutils.h:
2711         * tools/gst-inspect.c: (print_pad_info):
2712         * tools/gst-xmlinspect.c: (print_element_info):
2713         Remove old query functions. Ported old code.
2714         Added position/convert helper functions to gstutils.
2715         Reordered gstpad.c code, grouping relevant things.
2716         Remove gst_message_new(), always need to speficy a specific
2717         message.
2718
2719
2720 2005-05-09  Andy Wingo  <wingo@pobox.com>
2721
2722         * gst/gstiterator.h: Add some includes.
2723
2724         * gst/gstqueryutils.h: Include more headers.
2725
2726         * gst/gstpad.h:
2727         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
2728         some uses of gst_pad_query.
2729
2730         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
2731         NULL out parameters.
2732         (gst_query_new_position): New proc, allocates a new position
2733         query.
2734
2735         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
2736         gstqueryutils.c to the build.
2737
2738         * gst/gststructure.c (gst_structure_set_valist): Implement with
2739         the generic G_VALUE_COLLECT.
2740         
2741 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
2742
2743         * gst/Makefile.am: (gst_headers):
2744         Added gstqueryutils.h to the list of headers to install, that was
2745         a 'nachty' move wingo :)
2746
2747 2005-05-06  Andy Wingo  <wingo@pobox.com>
2748
2749         * gst/gstquery.h
2750         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
2751         GstData, init a memchunk.
2752         (standard_definitions): Add a few query types, deprecate a few.
2753         (gst_query_get_type): New proc.
2754         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
2755         implementation.
2756         (gst_query_new_application, gst_query_get_structure): New public
2757         procs.
2758
2759         * docs/design/draft-query.txt: Removed LINKS from the query types,
2760         because all the rest can be dispatched to other pads -- seemed
2761         ugly to have a query that couldn't be dispatched. internal_links
2762         is fine as a pad method.
2763
2764         * gst/gstpad.h: Add query2 as a pad method, add the new functions
2765         in gstpad.c, but maintain binary compatibility for the moment.
2766         Will fix before 0.9 is out.
2767
2768         * gst/gstqueryutils.c: 
2769         * gst/gstqueryutils.h: New files, implement 3 methods for each
2770         query type: parse_query, parse_response, and set. Probably need an
2771         allocator as well.
2772
2773         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
2774
2775         * gst/elements/gstfilesink.c (gst_filesink_query2):
2776         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
2777         query_types, and formats methods.
2778
2779         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
2780         (gst_pad_set_query2_function): New functions.
2781         (gst_real_pad_init): Set query2_default as the default query2
2782         function. Basically just dispatches to internally linked pads.
2783
2784         Needs review!
2785         
2786         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
2787         without using the atomic operations. Only one thread can possibly
2788         be accessing the data at this point. Changed so as to avoid
2789         gst_atomic operations.
2790
2791 2005-05-06  Wim Taymans  <wim@fluendo.com>
2792
2793         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
2794         Also set caps if we use the fallback buffer alloc.
2795
2796 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
2797
2798         * docs/gst/Makefile.am:
2799         * docs/gst/gstreamer-docs.sgml:
2800         * docs/gst/gstreamer-sections.txt:
2801         * docs/gst/tmpl/gstatomic.sgml:
2802         * docs/gst/tmpl/gstmemchunk.sgml:
2803         * testsuite/elements/struct_i386.h:
2804         * win32/GStreamer.vcproj:
2805         * win32/Makefile:
2806           Purge GstAtomic stuff from docs and win32 makefiles as well
2807
2808 2005-05-06  Wim Taymans  <wim@fluendo.com>
2809
2810         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
2811         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
2812         * gst/gstpad.c: (gst_pad_peer_get_caps):
2813         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2814         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2815         (gst_queue_src_activate), (gst_queue_change_state):
2816         * gst/gstqueue.h:
2817         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2818         (intersect_caps_func):
2819         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
2820         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
2821         Some fixes for the peer_get_caps() change.
2822
2823 2005-05-06  Wim Taymans  <wim@fluendo.com>
2824
2825         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2826         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
2827         (gst_basesink_activate):
2828         Actually do something with error codes returned from the push
2829         functions.
2830
2831 2005-05-06  Wim Taymans  <wim@fluendo.com>
2832
2833         * docs/design/part-element-sink.txt:
2834         * docs/design/part-element-source.txt:
2835         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2836         (gst_basesink_event), (gst_basesink_activate):
2837         * gst/base/gstbasesink.h:
2838         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
2839         (gst_basesrc_activate):
2840         * gst/base/gstbasesrc.h:
2841         * gst/gstelement.c: (gst_element_pads_activate):
2842         Some more documentation.
2843         Fixed scheduling decision in _pads_activate().
2844
2845 2005-05-05  Andy Wingo  <wingo@pobox.com>
2846
2847         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
2848         the test suite.
2849
2850 2005-05-05  Wim Taymans  <wim@fluendo.com>
2851
2852         * gst/base/Makefile.am:
2853         * gst/base/gstbasesink.h:
2854         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2855         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
2856         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
2857         (gst_collectpads_class_init), (gst_collectpads_init),
2858         (gst_collectpads_finalize), (gst_collectpads_new),
2859         (gst_collectpads_set_function), (gst_collectpads_add_pad),
2860         (find_pad), (gst_collectpads_remove_pad),
2861         (gst_collectpads_is_active), (gst_collectpads_collect),
2862         (gst_collectpads_collect_range), (gst_collectpads_start),
2863         (gst_collectpads_stop), (gst_collectpads_peek),
2864         (gst_collectpads_pop), (gst_collectpads_available),
2865         (gst_collectpads_read), (gst_collectpads_flush),
2866         (gst_collectpads_chain):
2867         * gst/base/gstcollectpads.h:
2868         * gst/elements/Makefile.am:
2869         * gst/elements/gstelements.c:
2870         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2871         (gst_fakesink_get_times), (gst_fakesink_event),
2872         (gst_fakesink_preroll), (gst_fakesink_render):
2873         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2874         (gst_filesink_init), (gst_filesink_set_location),
2875         (gst_filesink_open_file), (gst_filesink_close_file),
2876         (gst_filesink_pad_query), (gst_filesink_event),
2877         (gst_filesink_render), (gst_filesink_change_state):
2878         * gst/elements/gstfilesink.h:
2879         Added object to help in making collect pad based elements.
2880         Ported filesink.
2881         Make event function in sink baseclass return gboolean.
2882
2883 2005-05-05  Wim Taymans  <wim@fluendo.com>
2884
2885         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
2886         (gst_bin_get_by_name):
2887         * gst/gstbuffer.h:
2888         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
2889         (gst_clock_finalize):
2890         * gst/gstdata.c: (gst_data_replace):
2891         * gst/gstdata.h:
2892         * gst/gstelement.c: (gst_element_request_pad),
2893         (gst_element_pads_activate):
2894         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2895         (gst_object_unref):
2896         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2897         (gst_pad_set_checkgetrange_function),
2898         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
2899         (gst_pad_check_pull_range), (gst_pad_pull_range),
2900         (gst_static_pad_template_get_caps), (gst_pad_start_task),
2901         (gst_pad_pause_task), (gst_pad_stop_task):
2902         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2903         (gst_element_request_pad), (gst_pad_proxy_getcaps):
2904         Fix name lookup in GstBin.
2905         Added _data_replace() function and _buffer_replace()
2906         Use finalize method to clean up clock.
2907         Fix refcounting on request pads.
2908         Fix pad schedule mode error.
2909         Some more object refcounting debug info,
2910
2911
2912 2005-05-04  Andy Wingo <wingo@pobox.com>
2913
2914         * check/Makefile.am:
2915         * docs/gst/tmpl/gstatomic.sgml:
2916         * docs/gst/tmpl/gstplugin.sgml:
2917         * gst/base/gstbasesink.c: (gst_basesink_activate):
2918         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
2919         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
2920         (gst_basesrc_query), (gst_basesrc_set_property),
2921         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
2922         (gst_basesrc_activate):
2923         * gst/base/gstbasesrc.h:
2924         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
2925         (gst_base_transform_src_activate):
2926         * gst/elements/gstelements.c:
2927         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2928         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2929         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2930         * gst/elements/gsttypefindelement.c: (find_element_get_length),
2931         (gst_type_find_element_checkgetrange),
2932         (gst_type_find_element_activate):
2933         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
2934         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
2935         (gst_caps_load_thyself):
2936         * gst/gstelement.c: (gst_element_pads_activate),
2937         (gst_element_save_thyself), (gst_element_restore_thyself):
2938         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
2939         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
2940         * gst/gstpad.h:
2941         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
2942         (gst_xml_parse_file), (gst_xml_parse_memory),
2943         (gst_xml_get_element), (gst_xml_make_element):
2944         * gst/indexers/gstfileindex.c: (gst_file_index_load),
2945         (_file_index_id_save_xml), (gst_file_index_commit):
2946         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
2947         (read_enum), (load_pad_template), (load_feature), (load_plugin),
2948         (load_paths):
2949         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
2950         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
2951         * tools/gst-complete.c: (main):
2952         * tools/gst-compprep.c: (main):
2953         * tools/gst-inspect.c: (print_element_properties_info):
2954         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
2955         * tools/gst-xmlinspect.c: (print_element_properties):
2956         GCC 4 fixen.
2957         
2958 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2959
2960         * gst/gstplugin.c: (gst_plugin_check_module),
2961         (gst_plugin_check_file), (gst_plugin_load_file):
2962             apply patch from #172526 to make register work on MacOSX
2963
2964 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2965
2966         * docs/gst/tmpl/gstconfig.sgml:
2967         * gst/gstconfig.h.in:
2968           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
2969         * testsuite/debug/printf_extension.c: (main):
2970           Do not use GST_PTR_FORMAT on pointers to types with
2971           sizeof < sizeof(gpointer).  Fixes test on 64-bit
2972         * testsuite/elements/property.h:
2973           use correct printf format
2974
2975 2005-05-02  Wim Taymans  <wim@fluendo.com>
2976
2977         * docs/design/draft-push-pull.txt:
2978         * docs/design/draft-query.txt:
2979         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
2980         (gst_basesrc_start):
2981         Added draft for new query API.
2982         Added draft for better selecting scheduling methods.
2983         Make basesrc ignore length if the subclass does not support
2984         it.
2985
2986 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2987
2988         * gst/Makefile.am:
2989           possible fixes for automake-1.5 - _LIBADD is reserved
2990
2991 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2992
2993         * docs/faq/Makefile.am:
2994         * docs/manual/Makefile.am:
2995         * docs/manuals.mak:
2996         * docs/pwg/Makefile.am:
2997         * gst/Makefile.am:
2998           possible fixes for automake-1.5
2999
3000 2005-04-28  Wim Taymans  <wim@fluendo.com>
3001
3002         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3003         (gst_basesink_pad_getcaps), (gst_basesink_init),
3004         (gst_basesink_do_sync):
3005         * gst/gstclock.c: (gst_clock_entry_new):
3006         * gst/gstevent.c: (gst_event_discont_get_value):
3007         * gst/gstpipeline.c: (pipeline_bus_handler),
3008         (gst_pipeline_change_state):
3009         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3010         Better debugging of clocking info.
3011         Allow NULL values when getting discont values.
3012
3013 2005-04-27  Wim Taymans  <wim@fluendo.com>
3014
3015         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3016         * check/gst/gstpad.c: (gst_pad_suite):
3017         Increase timeout for checks.
3018
3019 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3020
3021         * check/Makefile.am:
3022           fix the broken rule for cleanup.  Apparently this rule is
3023           only needed on FC2, so maybe this warrants further autotool
3024           inspection.
3025
3026 2005-04-26  Wim Taymans  <wim@fluendo.com>
3027
3028         * gst/gsttrashstack.h:
3029         Ooohh. a nasty one! After having a failed pop() from the stack,
3030         it's possible that the stack is empty. In that case, don't
3031         follow the NULL pointer.
3032
3033 2005-04-25  Wim Taymans  <wim@fluendo.com>
3034
3035         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3036         (gst_pad_set_checkgetrange_function),
3037         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3038         (gst_pad_check_pull_range), (gst_pad_pull_range),
3039         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3040         (gst_pad_pause_task), (gst_pad_stop_task):
3041         * gst/gstplugin.c: (gst_plugin_load):
3042         * gst/gstplugin.h:
3043         Remove gst_library_load as it does more harm than good with
3044         the new g_module flags.
3045         Revert bogus caps template check in pad linking, pad caps
3046         are important when linking not the template, which is more
3047         general than the current caps.
3048
3049 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3050
3051         * gst/autoplug/.cvsignore:
3052         * gst/autoplug/Makefile.am:
3053         * gst/autoplug/gstsearchfuncs.c:
3054         * gst/autoplug/gstsearchfuncs.h:
3055         * gst/autoplug/gstspider.c:
3056         * gst/autoplug/gstspider.h:
3057         * gst/autoplug/gstspideridentity.c:
3058         * gst/autoplug/gstspideridentity.h:
3059         * gst/autoplug/spidertest.c:
3060           Die, spider, die.
3061
3062 2005-04-25  Wim Taymans  <wim@fluendo.com>
3063
3064         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3065         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3066         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3067         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3068         * gst/gstpad.h:
3069         Added stubs for unimplemented functions. 
3070
3071 2005-04-24  David Schleef  <ds@schleef.org>
3072
3073         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3074         please fix.
3075
3076 2005-04-24  David Schleef  <ds@schleef.org>
3077
3078         Convert everything from GstAtomicInt to g_atomic_int_*, and
3079         remove gstatomic.
3080         * gst/Makefile.am:
3081         * gst/gstatomic.c:
3082         * gst/gstatomic.h:
3083         * gst/gstatomic_impl.h:
3084         * gst/gstbuffer.c:
3085         * gst/gstcaps.c:
3086         * gst/gstcaps.h:
3087         * gst/gstclock.c:
3088         * gst/gstclock.h:
3089         * gst/gstdata.c:
3090         * gst/gstdata.h:
3091         * gst/gstdata_private.h:
3092         * gst/gstevent.c:
3093         * gst/gstinfo.c:
3094         * gst/gstinfo.h:
3095         * gst/gstmessage.c:
3096         * gst/gstobject.c:
3097         * gst/gstobject.h:
3098         * gst/gststructure.c:
3099         * gst/gststructure.h:
3100         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3101         * gst/gstutils.h:
3102
3103 2005-04-24  David Schleef  <ds@schleef.org>
3104
3105         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3106         make the regressions tests work.  Remove some code that is no
3107         longer true.
3108         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3109         Disable warning for pads without templates.
3110
3111 2005-04-24  David Schleef  <ds@schleef.org>
3112
3113         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3114         functions that handle filtered links.
3115         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3116         removed functions.
3117         * gst/gstutils.c: Fix/remove utility functions that handle
3118         filtered caps.
3119         * gst/gstutils.h:
3120         * gst/gstvalue.c: Add serialization/deserialization of caps
3121         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3122         requires fixing so that the filter caps notation creates
3123         a capsfilter element and sets the filter_caps property.  I
3124         think everyone probably wants to keep the shorthand notation.
3125         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3126         * docs/gst/tmpl/gstpad.sgml:
3127
3128         * gst/elements/gstelements.c: Register capsfilter element.
3129         * gst/Makefile.am: fix spacing
3130         * docs/random/ds/0.9-suggested-changes: random
3131
3132 2005-04-23  David Schleef  <ds@schleef.org>
3133
3134         * gst/elements/Makefile.am:
3135         * gst/elements/gstcapsfilter.c: New element that acts like an
3136         identity, but filters caps.  Will eventually replace filtered
3137         caps in pad linking.
3138         * gst/gstutils.c: (gst_element_create_all_pads): New function
3139         to create all the ALWAYS pads that are registered with an
3140         element class.  This functionality should eventually be
3141         merged in with GstElement initialization.
3142         * gst/gstutils.h:
3143         * testsuite/trigger/README: part of trigger test code that should
3144         have been checked in a long time ago.
3145
3146 2005-04-23  David Schleef  <ds@schleef.org>
3147
3148         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3149         needed with new versions of libtool (nobody will confirm this),
3150         and hard to carry around.
3151         * gst/autoplug/Makefile.am:
3152         * gst/base/Makefile.am:
3153         * gst/elements/Makefile.am:
3154         * gst/indexers/Makefile.am:
3155         * gst/schedulers/Makefile.am:
3156         * libs/gst/bytestream/Makefile.am:
3157         * libs/gst/control/Makefile.am:
3158         * libs/gst/dataprotocol/Makefile.am:
3159         * libs/gst/getbits/Makefile.am:
3160
3161 2005-04-21  Wim Taymans  <wim@fluendo.com>
3162
3163         * docs/design/draft-push-pull.txt:
3164         * docs/design/part-MT-refcounting.txt:
3165         * docs/design/part-TODO.txt:
3166         * docs/design/part-caps.txt:
3167         * docs/design/part-events.txt:
3168         * docs/design/part-gstbus.txt:
3169         * docs/design/part-gstpipeline.txt:
3170         * docs/design/part-messages.txt:
3171         * docs/design/part-push-pull.txt:
3172         * docs/design/part-query.txt:
3173         Some more docs.
3174
3175 2005-04-21  Wim Taymans  <wim@fluendo.com>
3176
3177         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3178         (gst_message_new), (gst_message_new_error),
3179         (gst_message_new_warning), (gst_message_new_tag),
3180         (gst_message_new_state_changed), (gst_message_new_application),
3181         (gst_message_get_structure):
3182         * gst/gstmessage.h:
3183         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3184         (gst_structure_copy_conditional):
3185         Use parent refcount in GstMessage to ensure GstStructure
3186         consistency.
3187         Cleaned up headers a bit.
3188         
3189
3190 2005-04-20  Wim Taymans  <wim@fluendo.com>
3191
3192         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3193         (gst_basesink_pad_getcaps), (gst_basesink_init),
3194         (gst_basesink_chain_unlocked):
3195         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3196         (gst_type_find_helper):
3197         * gst/elements/gsttypefindelement.c:
3198         (gst_type_find_element_have_type), (gst_type_find_element_init),
3199         (stop_typefinding), (gst_type_find_element_handle_event),
3200         (find_suggest), (gst_type_find_element_chain),
3201         (gst_type_find_element_checkgetrange),
3202         (gst_type_find_element_getrange), (do_typefind),
3203         (gst_type_find_element_activate):
3204         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3205         (gst_buffer_default_free), (gst_buffer_default_copy),
3206         (gst_buffer_set_caps):
3207         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3208         (gst_caps_replace):
3209         * gst/gstmessage.c: (gst_message_new),
3210         (gst_message_new_state_changed):
3211         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3212         (gst_pad_set_checkgetrange_function),
3213         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3214         (gst_pad_set_caps), (gst_pad_check_pull_range),
3215         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3216         * gst/gstpad.h:
3217         * gst/gsttypefind.c: (gst_type_find_register):
3218         Make gst_caps_replace() work like other _replace() functions.
3219         Use _caps_replace() where possible.
3220         Make sure _message_new() initialises its field.
3221         Add gst_static_pad_template_get_caps()
3222
3223
3224 2005-04-18  Andy Wingo  <wingo@pobox.com>
3225
3226         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3227         on the peer, not the pad. I think that was a typo. Pass an extra
3228         arg to see if random access is possible. Activate the pads as
3229         PULL_RANGE if possible.
3230
3231         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3232
3233         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3234         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3235         to PROP_....
3236
3237 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3238
3239         * docs/faq/using.xml:
3240           Add note on gstreamer-properties (#154996).
3241
3242 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3243
3244         * docs/random/bbb/optional-properties:
3245           Some analysis on optional properties.
3246
3247 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3248
3249         * docs/gst/tmpl/gstelementfactory.sgml:
3250         * gst/gstelement.h:
3251         * gst/gstelementfactory.c: (gst_element_factory_init),
3252         (gst_element_factory_cleanup), (gst_element_register),
3253         (__gst_element_factory_add_static_pad_template),
3254         (gst_element_factory_get_static_pad_templates),
3255         (gst_element_factory_can_src_caps),
3256         (gst_element_factory_can_sink_caps):
3257         * gst/registries/Makefile.am:
3258         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3259         (gst_xml_registry_class_init), (gst_xml_registry_init),
3260         (gst_xml_registry_new), (gst_xml_registry_set_property),
3261         (gst_xml_registry_get_property), (get_time), (make_dir),
3262         (gst_xml_registry_get_perms_func),
3263         (plugin_times_older_than_recurse), (plugin_times_older_than),
3264         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3265         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3266         (add_to_char_array), (read_string), (read_uint), (read_enum),
3267         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3268         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3269         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3270         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3271         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3272         (gst_xml_registry_rebuild):
3273         * gst/registries/gstlibxmlregistry.h:
3274         * tools/gst-compprep.c: (main):
3275         * tools/gst-inspect.c: (print_pad_templates_info):
3276         * tools/gst-xmlinspect.c: (print_element_info):
3277           Use libxml2 for registry parsing, use staticpadtemplates in
3278           elementfactories. Makes gst_init() +/- 10x faster.
3279
3280 2005-04-12  Wim Taymans  <wim@fluendo.com>
3281
3282         * gst/base/Makefile.am:
3283         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3284         (gst_basesink_pad_getcaps), (gst_basesink_init),
3285         (gst_basesink_event), (gst_basesink_change_state):
3286         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3287         (gst_basesrc_init), (gst_basesrc_query),
3288         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3289         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3290         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3291         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3292         (gst_basesrc_stop), (gst_basesrc_activate),
3293         (gst_basesrc_change_state):
3294         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3295         (helper_find_suggest), (gst_type_find_helper):
3296         * gst/base/gsttypefindhelper.h:
3297         * gst/elements/Makefile.am:
3298         * gst/elements/gstelements.c:
3299         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3300         (gst_fakesink_get_times), (gst_fakesink_event),
3301         (gst_fakesink_preroll), (gst_fakesink_render):
3302         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3303         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3304         (gst_fakesrc_get_property), (gst_fakesrc_create),
3305         (gst_fakesrc_start), (gst_fakesrc_stop):
3306         * gst/elements/gstfakesrc.h:
3307         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3308         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3309         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3310         (gst_filesrc_create_read), (gst_filesrc_create),
3311         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3312         (gst_filesrc_start):
3313         * gst/elements/gsttypefindelement.c:
3314         (gst_type_find_element_have_type), (gst_type_find_element_init),
3315         (start_typefinding), (stop_typefinding), (push_buffer_store),
3316         (gst_type_find_element_handle_event),
3317         (gst_type_find_element_chain),
3318         (gst_type_find_element_checkgetrange),
3319         (gst_type_find_element_getrange), (do_typefind),
3320         (gst_type_find_element_activate),
3321         (gst_type_find_element_change_state):
3322         * gst/elements/gsttypefindelement.h:
3323         * gst/gstpipeline.c: (pipeline_bus_handler):
3324         Added typefind helper.
3325         Small preroll fix in the base sink.
3326         Disable typefind code in basesrc.
3327         Crude port of typefindelement.
3328         Fakesrc cleanups.
3329
3330
3331 2005-04-11  Wim Taymans  <wim@fluendo.com>
3332
3333         * check/gst/gstbus.c: (gstbus_suite):
3334         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3335         * check/gstcheck.h:
3336           Fix up the timeout so that the test does not fail.
3337
3338 2005-04-06  Wim Taymans  <wim@fluendo.com>
3339
3340         * gst/base/README:
3341         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3342         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3343         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3344         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3345         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3346         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3347         (gst_basesrc_stop), (gst_basesrc_activate),
3348         (gst_basesrc_change_state), (basesrc_find_peek),
3349         (basesrc_find_suggest), (gst_basesrc_type_find):
3350         * gst/base/gstbasesrc.h:
3351         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3352         (gst_filesrc_class_init), (gst_filesrc_init),
3353         (gst_filesrc_finalize), (gst_filesrc_set_location),
3354         (gst_filesrc_set_property), (gst_filesrc_get_property),
3355         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3356         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3357         (gst_filesrc_create_read), (gst_filesrc_create),
3358         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3359         * gst/elements/gstfilesrc.h:
3360         * gst/gstelement.c: (gst_element_get_state_func),
3361         (gst_element_lost_state), (gst_element_pads_activate):
3362         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3363         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3364         (gst_pad_pull_range):
3365         * gst/gstpad.h:
3366         More work on the generic source base class, implement seeking,
3367         query.
3368         Make filesrc extend the base source class.
3369         Added gst_pad_set_checkgetrange_function to GstPad.
3370
3371 2005-04-06  Andy Wingo  <wingo@pobox.com>
3372
3373         * pkgconfig/gstreamer-base.pc.in:
3374         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3375
3376         * pkgconfig/Makefile.am:
3377         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3378
3379 2005-04-04  Wim Taymans  <wim@fluendo.com>
3380
3381         * gst/base/Makefile.am:
3382         * gst/base/README:
3383         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3384         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3385         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3386         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
3387         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3388         (gst_basesrc_base_init), (gst_basesrc_class_init),
3389         (gst_basesrc_init), (gst_basesrc_get_formats),
3390         (gst_basesrc_get_query_types), (gst_basesrc_query),
3391         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
3392         (gst_basesrc_set_property), (gst_basesrc_get_property),
3393         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
3394         (gst_basesrc_loop), (gst_basesrc_activate),
3395         (gst_basesrc_change_state):
3396         * gst/base/gstbasesrc.h:
3397         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
3398         (gst_fakesrc_class_init), (gst_fakesrc_init),
3399         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
3400         (gst_fakesrc_get_property), (gst_fakesrc_create):
3401         * gst/elements/gstfakesrc.h:
3402         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
3403         (gst_filesrc_open_file), (gst_filesrc_loop),
3404         (gst_filesrc_activate), (filesrc_find_peek),
3405         (gst_filesrc_type_find):
3406         Made base source class, make fakesrc extend it.
3407         Add comments to basesink class.
3408         Some filesrc cleanup.
3409
3410 2005-03-31  David Schleef  <ds@schleef.org>
3411
3412         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
3413         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
3414         expected to link against libgstreamer.
3415         * gst/base/Makefile.am: link against libgstreamer
3416         * gst/elements/Makefile.am: same
3417
3418 2005-03-31  Andy Wingo  <wingo@pobox.com>
3419
3420         * tests/instantiate/Makefile.am:
3421         * tests/instantiate/caps.c: Add test to test speed of caps copy
3422         and free.
3423
3424         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
3425         GMemChunk to be fair.
3426
3427         * gst/gsttrashstack.h: Remove warning about using the fallback
3428         trash stack implementation, it's still faster than malloc.
3429
3430 2005-03-30  Andy Wingo  <wingo@pobox.com>
3431
3432         * tests/complexity.c: Add a copyright.
3433
3434 2005-03-31  Wim Taymans  <wim@fluendo.com>
3435
3436         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
3437         (gst_base_transform_class_init), (gst_base_transform_init),
3438         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3439         (gst_base_transform_get_property),
3440         (gst_base_transform_sink_activate),
3441         (gst_base_transform_src_activate),
3442         (gst_base_transform_change_state):
3443         * gst/base/gstbasetransform.h:
3444         * gst/elements/gstidentity.c: (gst_identity_class_init),
3445         (gst_identity_event), (gst_identity_check_perfect),
3446         (gst_identity_transform), (gst_identity_start),
3447         (gst_identity_stop):
3448         Added start/stop methods to transform base class so subclasses 
3449         don't need to deal with state changes even.
3450
3451 2005-03-31  Wim Taymans  <wim@fluendo.com>
3452
3453         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
3454         (gst_event_new_discontinuous), (gst_event_discont_get_value):
3455         * gst/gstevent.h:
3456         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3457         (gst_pad_pull_range):
3458         Added rate to the discont event to prepare for variable speed
3459         and reverse playback.
3460
3461 2005-03-29  David Schleef  <ds@schleef.org>
3462
3463         * configure.ac:
3464         * testsuite/trigger/Makefile.am:
3465         * testsuite/trigger/trigger.c: A little example program to show
3466         how trigger-based elements can work.
3467
3468 2005-03-29  Wim Taymans  <wim@fluendo.com>
3469
3470         * gst/base/Makefile.am:
3471         * gst/base/README:
3472         * gst/base/gstbasesink.c: (gst_basesink_get_type),
3473         (gst_basesink_base_init), (gst_basesink_class_init),
3474         (gst_basesink_pad_getcaps), (gst_basesink_init),
3475         (gst_basesink_activate), (gst_basesink_change_state):
3476         * gst/base/gstbasesink.h:
3477         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3478         (gst_base_transform_base_init), (gst_base_transform_finalize),
3479         (gst_base_transform_class_init), (gst_base_transform_init),
3480         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
3481         (gst_base_transform_event), (gst_base_transform_getrange),
3482         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
3483         (gst_base_transform_set_property),
3484         (gst_base_transform_get_property),
3485         (gst_base_transform_sink_activate),
3486         (gst_base_transform_src_activate),
3487         (gst_base_transform_change_state):
3488         * gst/base/gstbasetransform.h:
3489         * gst/elements/gstidentity.c: (gst_identity_finalize),
3490         (gst_identity_class_init), (gst_identity_init),
3491         (gst_identity_event), (gst_identity_check_perfect),
3492         (gst_identity_transform), (gst_identity_set_property),
3493         (gst_identity_get_property), (gst_identity_change_state):
3494         * gst/elements/gstidentity.h:
3495         * gst/gstelement.c: (gst_element_get_state_func),
3496         (gst_element_lost_state), (gst_element_pads_activate):
3497         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3498         (gst_pad_check_pull_range), (gst_pad_pull_range):
3499         * gst/gstpad.h:
3500         Simplify pad activation.
3501         Added function to check if pull_range can be performed.
3502         Error out when pulling inactive or flushing pads.
3503         Removed const from refcounted types as it does not make sense.
3504         Simplify pad templates in basesink
3505         Added base class for simple 1-to-1 transforms.
3506         Make identity subclass the base transform.
3507
3508 2005-03-29  Andy Wingo  <wingo@pobox.com>
3509
3510         * docs/libs/gstreamer-libs-overrides.txt: 
3511         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
3512         really don't understand what's going on, but like whatever. I want
3513         green buildbot!
3514
3515         * docs/gst/Makefile.am:
3516         * docs/libs/Makefile.am: Dist the overrides files.
3517
3518         * check/Makefile.am (clean-local): Remove .libs directories.
3519
3520         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
3521         elements to EXTRA_DIST, so po/ files are happy.
3522
3523         * po/POTFILES.in: Er, remove it here.
3524
3525         * po/POTFILES: Remove gstspider.c.
3526
3527         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
3528
3529         * docs/libs/gstreamer-libs-docs.sgml: 
3530         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
3531         bytestream.
3532
3533         * tests/complexity.c (main): Set the length of the preroll queue
3534         on the sinks to prevent a lockup.
3535
3536         * libs/gst/dataprotocol/Makefile.am: 
3537         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
3538         the same as the one in check/gst-libs/gdp.c.
3539
3540         * po/, docs/gst/: Commit automatic changes to docs and po files.
3541
3542         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
3543         the versioned libgstbase.
3544
3545         * check/Makefile.am: Depend on an unversioned gst-register, seems
3546         to make autoconf happier.
3547
3548         * gst/base/Makefile.am: Make libgstbase a versioned lib.
3549
3550 2005-03-28  Wim Taymans  <wim@fluendo.com>
3551
3552         * configure.ac:
3553         * docs/design/part-gstelement.txt:
3554         * docs/design/part-negotiation.txt:
3555         * docs/design/part-preroll.txt:
3556         * docs/design/part-scheduling.txt:
3557         * docs/design/part-states.txt:
3558         * gst/Makefile.am:
3559         * gst/base/Makefile.am:
3560         * gst/base/README:
3561         * gst/base/gstbasesink.c: (gst_basesink_get_template),
3562         (gst_basesink_base_init), (gst_basesink_class_init),
3563         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3564         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3565         (gst_basesink_set_pad_functions),
3566         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
3567         (gst_basesink_set_property), (gst_basesink_get_property),
3568         (gst_base_sink_get_template), (gst_base_sink_get_caps),
3569         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
3570         (gst_basesink_preroll_queue_push),
3571         (gst_basesink_preroll_queue_empty),
3572         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
3573         (gst_basesink_event), (gst_basesink_get_times),
3574         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
3575         (gst_basesink_chain_unlocked), (gst_basesink_chain),
3576         (gst_basesink_loop), (gst_basesink_activate),
3577         (gst_basesink_change_state):
3578         * gst/base/gstbasesink.h:
3579         * gst/elements/Makefile.am:
3580         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
3581         (gst_fakesink_class_init), (gst_fakesink_init),
3582         (gst_fakesink_set_property), (gst_fakesink_get_property),
3583         (gst_fakesink_get_times), (gst_fakesink_event),
3584         (gst_fakesink_preroll), (gst_fakesink_render),
3585         (gst_fakesink_change_state):
3586         * gst/elements/gstfakesink.h:
3587         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3588         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
3589         * gst/gstelement.c: (gst_element_add_pad),
3590         (gst_element_get_state_func), (gst_element_abort_state),
3591         (gst_element_commit_state), (gst_element_lost_state),
3592         (gst_element_set_state), (gst_element_pads_activate):
3593         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
3594         * gst/gstpipeline.c: (gst_pipeline_send_event),
3595         (gst_pipeline_change_state):
3596         Added state change code.
3597         Added/updated docs.
3598         Added sink base class, make fakesink extend the base class.
3599         Small cleanups in GstPipeline.
3600
3601 2005-03-26  David Schleef  <ds@schleef.org>
3602
3603         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
3604         is broken and should be implemented in a different library.
3605         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
3606         * gst/gst.h: remove gstcpu.h
3607         * gst/gstcpu.c: remove
3608         * gst/gstcpu.h: remove
3609         * gst/Makefile.am.future: Remove this file.  It's ancient.
3610
3611 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3612
3613         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3614         (gst_bin_send_event):
3615           Add default event/set_manager handlers. The set_manager handler
3616           takes care that the manager is distributed over kids that were
3617           already in the bin before the manager was set. The event handler
3618           is a utility virtual function that sends the event over all sinks,
3619           so that gst_element_send_event (bin, event); has the expected
3620           behaviour.
3621         * gst/gstpad.c: (gst_pad_event_default):
3622           Re-install default event handling for discontinuities, so that
3623           seeking works without requiring hacks in applications or extra
3624           code in sinks.
3625         * gst/gstpipeline.c: (gst_pipeline_class_init),
3626         (gst_pipeline_send_event):
3627           Half hack, half utility: set a pipeline to PAUSED for seek events,
3628           since that is the only way we can guarantee a/v sync. Means that
3629           you can do gst_element_seek (pipeline, method, pos); on a pipeline
3630           and it "just works".
3631
3632 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3633
3634         * gst/gstpipeline.c: (gst_pipeline_use_clock):
3635           Lock/unlock mismatch.
3636
3637 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3638
3639         * docs/faq/gst-uninstalled:
3640           add gst-plugins-base
3641         * docs/gst/Makefile.am:
3642           don't error out until docs are fixed
3643         * docs/gst/gstreamer.types:
3644           remove thread
3645
3646 2005-03-22  Wim Taymans  <wim@fluendo.com>
3647
3648         * check/Makefile.am:
3649         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
3650         * gst/gststructure.c: (gst_structure_set_valist),
3651         (gst_structure_copy_conditional):
3652         Activated more tests.
3653         Added message test.
3654         Added G_TYPE_POINTER to GstStructure.
3655         
3656
3657 2005-03-22  Wim Taymans  <wim@fluendo.com>
3658
3659         * docs/design/part-TODO.txt:
3660         * docs/design/part-events.txt:
3661         * docs/design/part-gstbin.txt:
3662         * docs/design/part-gstbus.txt:
3663         * docs/design/part-gstpipeline.txt:
3664         * docs/design/part-messages.txt:
3665         * gst/gstbus.c:
3666         * gst/gstmessage.c:
3667         Docs updates
3668
3669 2005-03-21  Wim Taymans  <wim@fluendo.com>
3670
3671         * gst/gstbus.c: (gst_bus_post):
3672         Fix copy-and-paste error.
3673
3674 2005-03-21  Wim Taymans  <wim@fluendo.com>
3675
3676         * check/Makefile.am:
3677         * gst/Makefile.am:
3678         * gst/elements/Makefile.am:
3679         * gst/elements/gstelements.c:
3680         * gst/elements/gstfakesink.c: (gst_fakesink_init),
3681         (gst_fakesink_event), (gst_fakesink_chain):
3682         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3683         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
3684         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
3685         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
3686         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
3687         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
3688         (gst_fakesrc_loop), (gst_fakesrc_activate),
3689         (gst_fakesrc_change_state):
3690         * gst/elements/gstfakesrc.h:
3691         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
3692         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
3693         (gst_filesrc_open_file), (gst_filesrc_loop),
3694         (gst_filesrc_activate), (gst_filesrc_change_state),
3695         (filesrc_find_peek), (filesrc_find_suggest),
3696         (gst_filesrc_type_find):
3697         * gst/elements/gstidentity.c: (gst_identity_finalize),
3698         (gst_identity_class_init), (gst_identity_init),
3699         (gst_identity_proxy_getcaps), (identity_queue_push),
3700         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
3701         (gst_identity_getrange), (gst_identity_chain),
3702         (gst_identity_sink_loop), (gst_identity_src_loop),
3703         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
3704         (gst_identity_set_property), (gst_identity_get_property),
3705         (gst_identity_change_state):
3706         * gst/elements/gstidentity.h:
3707         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3708         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
3709         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
3710         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
3711         (gst_tee_sink_activate):
3712         * gst/elements/gsttee.h:
3713         * gst/gst.c: (gst_register_core_elements), (init_post):
3714         * gst/gst.h:
3715         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
3716         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
3717         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
3718         (gst_bin_change_state):
3719         * gst/gstbin.h:
3720         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
3721         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
3722         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
3723         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
3724         (gst_bus_set_sync_handler), (gst_bus_create_watch),
3725         (bus_watch_callback), (bus_watch_destroy),
3726         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
3727         (poll_timeout), (gst_bus_poll):
3728         * gst/gstbus.h:
3729         * gst/gstcaps.h:
3730         * gst/gstdata.h:
3731         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
3732         (gst_element_post_message), (gst_element_message_full),
3733         (gst_element_get_state_func), (gst_element_get_state),
3734         (gst_element_abort_state), (gst_element_commit_state),
3735         (gst_element_lost_state), (gst_element_set_state),
3736         (gst_element_pads_activate), (gst_element_change_state),
3737         (gst_element_dispose), (gst_element_set_manager_func),
3738         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
3739         (gst_element_set_manager), (gst_element_get_manager),
3740         (gst_element_set_bus), (gst_element_get_bus),
3741         (gst_element_set_scheduler), (gst_element_get_scheduler):
3742         * gst/gstelement.h:
3743         * gst/gstevent.c: (gst_event_new_segment_seek),
3744         (gst_event_new_flush):
3745         * gst/gstevent.h:
3746         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
3747         (_gst_message_free), (gst_message_get_type), (gst_message_new),
3748         (gst_message_new_eos), (gst_message_new_error),
3749         (gst_message_new_warning), (gst_message_new_tag),
3750         (gst_message_new_state_changed), (gst_message_new_application),
3751         (gst_message_get_structure), (gst_message_parse_tag),
3752         (gst_message_parse_state_changed), (gst_message_parse_error),
3753         (gst_message_parse_warning):
3754         * gst/gstmessage.h:
3755         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
3756         (gst_real_pad_set_property), (gst_pad_set_active),
3757         (gst_pad_is_active), (gst_pad_set_blocked_async),
3758         (gst_pad_set_blocked), (gst_pad_is_blocked),
3759         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
3760         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
3761         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3762         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
3763         (gst_pad_link_filtered), (gst_pad_relink_filtered),
3764         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
3765         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
3766         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
3767         (gst_pad_set_caps), (gst_pad_configure_sink),
3768         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
3769         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
3770         (gst_real_pad_dispose), (gst_real_pad_finalize),
3771         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
3772         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3773         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
3774         * gst/gstpad.h:
3775         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
3776         (pipeline_bus_handler), (gst_pipeline_change_state),
3777         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
3778         * gst/gstpipeline.h:
3779         * gst/gstprobe.h:
3780         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3781         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
3782         (gst_queue_link_src), (gst_queue_bufferalloc),
3783         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3784         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
3785         (gst_queue_loop), (gst_queue_handle_src_event),
3786         (gst_queue_handle_src_query), (gst_queue_src_activate),
3787         (gst_queue_change_state):
3788         * gst/gstqueue.h:
3789         * gst/gstscheduler.c: (gst_scheduler_init),
3790         (gst_scheduler_dispose), (gst_scheduler_create_task),
3791         (gst_scheduler_factory_create):
3792         * gst/gstscheduler.h:
3793         * gst/gststructure.c: (gst_structure_get_type),
3794         (gst_structure_copy_conditional):
3795         * gst/gststructure.h:
3796         * gst/gsttaginterface.h:
3797         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
3798         (gst_task_init), (gst_task_dispose), (gst_task_create),
3799         (gst_task_get_state), (gst_task_start), (gst_task_stop),
3800         (gst_task_pause):
3801         * gst/gsttask.h:
3802         * gst/gstthread.c:
3803         * gst/gstthread.h:
3804         * gst/gsttypes.h:
3805         * gst/schedulers/Makefile.am:
3806         * gst/schedulers/cothreads_compat.h:
3807         * gst/schedulers/entryscheduler.c:
3808         * gst/schedulers/faircothreads.c:
3809         * gst/schedulers/faircothreads.h:
3810         * gst/schedulers/fairscheduler.c:
3811         * gst/schedulers/gstbasicscheduler.c:
3812         * gst/schedulers/gstoptimalscheduler.c:
3813         * gst/schedulers/gthread-cothreads.h:
3814         * gst/schedulers/threadscheduler.c:
3815         (gst_thread_scheduler_task_get_type),
3816         (gst_thread_scheduler_task_class_init),
3817         (gst_thread_scheduler_task_init),
3818         (gst_thread_scheduler_task_start),
3819         (gst_thread_scheduler_task_stop),
3820         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
3821         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
3822         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
3823         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
3824         (plugin_init):
3825         * libs/gst/Makefile.am:
3826         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
3827         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
3828         (gst_file_pad_parent_set):
3829         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3830         (gst_dp_event_from_packet):
3831         * tests/complexity.c: (main):
3832         * tests/mass_elements.c: (main):
3833         * testsuite/states/locked.c: (message_received), (main):
3834         * testsuite/states/parent.c: (main):
3835         * tools/gst-inspect.c: (print_element_flag_info),
3836         (print_implementation_info), (print_pad_info):
3837         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
3838         (main):
3839         * tools/gst-md5sum.c: (event_loop), (main):
3840         * tools/gst-typefind.c: (main):
3841         * tools/gst-xmlinspect.c: (print_element_info):
3842         Next big merge.
3843         Added GstBus for mainloop integration.
3844         Added GstMessage for sending notifications on the bus.
3845         Added GstTask as an abstraction for pipeline entry points.
3846         Removed GstThread.
3847         Removed Schedulers.
3848         Simplified GstQueue for multithreaded core.
3849         Made _link threadsafe, removed old capsnego.
3850         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
3851         Added pad blocking functions.
3852         Reworked scheduling functions in GstPad to prepare for
3853         scheduling updates soon.
3854         Moved events out of data stream.
3855         Simplified GstEvent types.
3856         Added return values to push/pull.
3857         Removed clocking from GstElement.
3858         Added prototypes for state change function for next merge.
3859         Removed iterate from bins and state change management.
3860         Fixed some elements, disabled others for now.
3861         Fixed -inspect and -launch.
3862         Added check for GstBus.
3863
3864 2005-03-10  Wim Taymans  <wim@fluendo.com>
3865
3866         * docs/design/part-MT-refcounting.txt:
3867         * docs/design/part-clocks.txt:
3868         * docs/design/part-gstelement.txt:
3869         * docs/design/part-gstobject.txt:
3870         * docs/design/part-standards.txt:
3871         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3872         (gst_bin_remove_func), (gst_bin_remove):
3873         * gst/gstbin.h:
3874         * gst/gstbuffer.c:
3875         * gst/gstcaps.h:
3876         * testsuite/clock/clock1.c: (main):
3877         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
3878         (main):
3879         * testsuite/dlopen/loadgst.c: (do_test):
3880         * testsuite/refcounting/bin.c: (add_remove_test1),
3881         (add_remove_test2), (main):
3882         * testsuite/refcounting/element.c: (main):
3883         * testsuite/refcounting/element_pad.c: (main):
3884         * testsuite/refcounting/pad.c: (main):
3885         * tools/gst-launch.c: (sigint_handler_sighandler):
3886         * tools/gst-typefind.c: (main):
3887         Doc updates.
3888         Added doc about clock.
3889         removed gst_bin_iterate_recurse_up(), marked methods
3890         for removal.
3891         Fix more testsuites.
3892
3893 2005-03-09  Wim Taymans  <wim@fluendo.com>
3894
3895         * gst/gstpad.c: (gst_pad_get_direction),
3896         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
3897         (gst_pad_collect_valist):
3898         * testsuite/bins/interface.c: (main):
3899         * testsuite/caps/audioscale.c: (test_caps):
3900         * testsuite/caps/caps.c: (test1), (test2), (test3):
3901         * testsuite/caps/deserialize.c: (main):
3902         * testsuite/caps/enumcaps.c: (main):
3903         * testsuite/caps/filtercaps.c: (main):
3904         * testsuite/caps/intersect2.c: (main):
3905         * testsuite/caps/random.c: (main):
3906         * testsuite/caps/renegotiate.c: (my_fixate), (main):
3907         * testsuite/caps/sets.c: (check_caps):
3908         * testsuite/caps/simplify.c: (check_caps), (main):
3909         * testsuite/caps/subtract.c: (check_caps):
3910         Fix _pad_get_direction wrt ghostpads.
3911         Fix caps testsuite.
3912
3913 2005-03-09  Wim Taymans  <wim@fluendo.com>
3914
3915         * check/Makefile.am:
3916         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
3917         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
3918         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
3919         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
3920         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
3921         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
3922         (gst_bin_remove), (gst_bin_iterate_recurse_up),
3923         (bin_element_is_sink), (gst_bin_iterate_sinks),
3924         (gst_bin_iterate_all_by_interface):
3925         * gst/gstbin.h:
3926         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
3927         (gst_element_change_state), (gst_element_dispose),
3928         (gst_element_finalize), (gst_element_set_loop_function):
3929         * gst/gstelement.h:
3930         * gst/gstiterator.c: (find_custom_fold_func):
3931         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
3932         (gst_pad_collectv), (gst_pad_collect_valist),
3933         (gst_pad_template_new):
3934         * gst/gstpipeline.c: (gst_pipeline_class_init),
3935         (gst_pipeline_dispose), (gst_pipeline_set_property),
3936         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
3937         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
3938         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
3939         * gst/gstutils.h:
3940         * gst/schedulers/entryscheduler.c:
3941         * gst/schedulers/gstbasicscheduler.c:
3942         (gst_basic_scheduler_cothreaded_chain),
3943         (gst_basic_scheduler_chain_add_element):
3944         * testsuite/bins/interface.c: (main):
3945         Added GstBin test.
3946         Added GstSystemClock test.
3947         Implemented clock distribution code in GstBin.
3948         Implemented iterate sinks method for future use.
3949         Rearranged gstelement.h
3950         Fix GstIterator comparison bug.
3951         Moved some code to GstPipeline, mostly clocking related.
3952
3953 2005-03-09  Wim Taymans  <wim@fluendo.com>
3954
3955         * configure.ac:
3956         * gst/gst_private.h:
3957         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3958         (gst_bin_remove_func), (gst_bin_remove),
3959         (gst_bin_get_by_name_recurse_up):
3960         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
3961         (gst_clock_id_compare_func), (gst_clock_id_wait),
3962         (gst_clock_id_wait_async), (gst_clock_init),
3963         (gst_clock_adjust_unlocked), (gst_clock_get_time):
3964         * gst/gstelement.h:
3965         * gst/gstinfo.c: (_gst_debug_init):
3966         * gst/gstobject.h:
3967         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
3968         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
3969         * gst/gstpad.h:
3970         Bump version number, we're now 0.9.0
3971         Add future debugging category.
3972         Fix NULL _unref() in _get_by_name_recurse_up
3973         Rearrange gstpad.h.
3974         Update some docs.
3975
3976 2005-03-08  Wim Taymans  <wim@fluendo.com>
3977
3978         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
3979         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
3980         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3981         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
3982         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
3983         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
3984         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
3985         * gst/elements/gstidentity.c: (gst_identity_class_init):
3986         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
3987         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
3988         * gst/elements/gstshaper.c: (gst_shaper_class_init):
3989         * gst/elements/gststatistics.c: (gst_statistics_class_init):
3990         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
3991         (gst_tee_link):
3992         * gst/gstelement.c: (gst_element_class_init),
3993         (gst_element_base_class_init), (gst_element_init),
3994         (gst_element_get_random_pad), (gst_element_wait_state_change),
3995         (gst_element_change_state), (gst_element_dispose),
3996         (gst_element_finalize), (gst_element_set_loop_function):
3997         * gst/gstelement.h:
3998         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
3999         * gst/gstthread.c: (gst_thread_class_init),
4000         (gst_thread_release_children_locks), (gst_thread_change_state):
4001         * gst/schedulers/gstbasicscheduler.c:
4002         (gst_basic_scheduler_loopfunc_wrapper),
4003         (gst_basic_scheduler_chain_wrapper),
4004         (gst_basic_scheduler_src_wrapper),
4005         (gst_basic_scheduler_remove_element):
4006         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4007         Remove threadsafe properties. Fix elements because GObject
4008         complains when installing a property before declaring a
4009         set/get_property handler.
4010         Rearrange gstelement.h file, use STATE macros for state locks.
4011         Free mutexes in the finalize method instead of dispose.
4012
4013 2005-03-08  Wim Taymans  <wim@fluendo.com>
4014
4015         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4016         * gst/gstthread.c: (gst_thread_release_children_locks):
4017         Added parentage check.
4018         Fix build og GstThread again.
4019
4020 2005-03-08  Wim Taymans  <wim@fluendo.com>
4021
4022         * docs/design/part-MT-refcounting.txt:
4023         * docs/design/part-conventions.txt:
4024         * docs/design/part-gstobject.txt:
4025         * docs/design/part-relations.txt:
4026         * docs/design/part-standards.txt:
4027         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4028         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4029         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4030         (gst_bin_iterate_all_by_interface):
4031         * gst/gstbuffer.h:
4032         * gst/gstclock.h:
4033         * gst/gstelement.c: (gst_element_class_init),
4034         (gst_element_change_state), (gst_element_set_loop_function):
4035         * gst/gstelement.h:
4036         * gst/gstiterator.c:
4037         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4038         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4039         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4040         (gst_object_set_parent), (gst_object_unparent),
4041         (gst_object_check_uniqueness):
4042         * gst/gstobject.h:
4043         Docs updates, clean up some headers.
4044
4045 2005-03-07  Wim Taymans  <wim@fluendo.com>
4046
4047         * check/.cvsignore:
4048         * check/Makefile.am:
4049         * check/gst-libs/.cvsignore:
4050         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4051         * check/gst/.cvsignore:
4052         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4053         (START_TEST), (gstbus_suite), (main):
4054         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4055         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4056         (gst_data_suite), (main):
4057         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4058         (add_fold_func), (gstiterator_suite), (main):
4059         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4060         (thread_name_object), (thread_name_object_default),
4061         (gst_object_name_compare), (gst_object_suite), (main):
4062         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4063         (gst_pad_suite), (main):
4064         * check/gstcheck.c: (gst_check_log_message_func),
4065         (gst_check_log_critical_func), (gst_check_init):
4066         * check/gstcheck.h:
4067         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4068         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4069         Added checks.
4070
4071 2005-03-07  Wim Taymans  <wim@fluendo.com>
4072
4073         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4074         (gst_list_iterator_next), (gst_list_iterator_resync),
4075         (gst_list_iterator_free), (gst_iterator_new_list),
4076         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4077         (gst_iterator_free), (gst_iterator_push), (filter_next),
4078         (filter_resync), (filter_uninit), (filter_free),
4079         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4080         (gst_iterator_foreach), (find_custom_fold_func),
4081         (gst_iterator_find_custom):
4082         * gst/gstiterator.h:
4083         Added missing files.
4084
4085 2005-03-07  Wim Taymans  <wim@fluendo.com>
4086
4087         * Makefile.am:
4088         * configure.ac:
4089         * docs/design/part-MT-refcounting.txt:
4090         * docs/design/part-conventions.txt:
4091         * docs/design/part-gstobject.txt:
4092         * docs/design/part-relations.txt:
4093         * examples/mixer/mixer.c: (main):
4094         * examples/thread/thread.c: (eos), (main):
4095         * gst/Makefile.am:
4096         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4097         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4098         (gst_spider_plug_from_srcpad):
4099         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4100         (gst_spider_identity_change_state),
4101         (gst_spider_identity_sink_loop_type_finding):
4102         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4103         * gst/elements/gstidentity.c: (gst_identity_init):
4104         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4105         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4106         * gst/elements/gsttypefindelement.c: (free_entry):
4107         * gst/gst.c:
4108         * gst/gst.h:
4109         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4110         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4111         (gst_bin_set_index), (gst_bin_set_element_sched),
4112         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4113         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4114         (gst_bin_iterate_elements), (iterate_child_recurse),
4115         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4116         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4117         (compare_interface), (gst_bin_get_by_interface),
4118         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4119         * gst/gstbin.h:
4120         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4121         (gst_buffer_default_free), (gst_buffer_default_copy),
4122         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4123         (gst_buffer_create_sub):
4124         * gst/gstbuffer.h:
4125         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4126         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4127         (gst_caps_unref), (gst_static_caps_get),
4128         (gst_caps_remove_and_get_structure), (gst_caps_append),
4129         (gst_caps_append_structure), (gst_caps_remove_structure),
4130         (gst_caps_copy_nth), (gst_caps_set_simple),
4131         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4132         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4133         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4134         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4135         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4136         (gst_caps_structure_figure_out_union),
4137         (gst_caps_switch_structures), (gst_caps_do_simplify),
4138         (gst_caps_replace), (gst_caps_from_string),
4139         (gst_caps_copy_conditional):
4140         * gst/gstcaps.h:
4141         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4142         (_gst_clock_id_free), (gst_clock_id_unref),
4143         (gst_clock_id_compare_func), (gst_clock_id_wait),
4144         (gst_clock_id_wait_async), (gst_clock_class_init),
4145         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4146         (gst_clock_get_time), (gst_clock_set_time_adjust),
4147         (gst_clock_set_property), (gst_clock_get_property):
4148         * gst/gstclock.h:
4149         * gst/gstcompat.h:
4150         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4151         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4152         * gst/gstdata.h:
4153         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4154         (gst_element_requires_clock), (gst_element_provides_clock),
4155         (gst_element_set_clock), (gst_element_clock_wait),
4156         (gst_element_wait), (gst_element_set_time_delay),
4157         (gst_element_is_indexable), (gst_element_add_pad),
4158         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4159         (pad_compare_name), (gst_element_get_static_pad),
4160         (gst_element_request_pad), (gst_element_get_request_pad),
4161         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4162         (gst_element_class_get_pad_template_list),
4163         (gst_element_class_get_pad_template), (gst_element_error_func),
4164         (gst_element_get_random_pad), (gst_element_get_event_masks),
4165         (gst_element_send_event), (gst_element_seek),
4166         (gst_element_get_query_types), (gst_element_query),
4167         (gst_element_get_formats), (gst_element_convert),
4168         (gst_element_is_locked_state), (gst_element_set_locked_state),
4169         (gst_element_sync_state_with_parent), (gst_element_change_state),
4170         (gst_element_finalize), (gst_element_yield),
4171         (gst_element_interrupt), (gst_element_set_scheduler),
4172         (gst_element_get_scheduler), (gst_element_set_loop_function):
4173         * gst/gstelement.h:
4174         * gst/gstevent.h:
4175         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4176         (gst_format_get_by_nick), (gst_format_get_details),
4177         (gst_format_iterate_definitions):
4178         * gst/gstformat.h:
4179         * gst/gstindex.c: (gst_index_gtype_resolver):
4180         * gst/gstinfo.c:
4181         * gst/gstinfo.h:
4182         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4183         (gst_mem_chunk_free):
4184         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4185         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4186         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4187         (gst_object_dispatch_properties_changed),
4188         (gst_object_set_name_default), (gst_object_set_name),
4189         (gst_object_get_name), (gst_object_set_name_prefix),
4190         (gst_object_get_name_prefix), (gst_object_set_parent),
4191         (gst_object_get_parent), (gst_object_unparent),
4192         (gst_object_check_uniqueness), (gst_object_save_thyself),
4193         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4194         (gst_object_set_property), (gst_object_get_property),
4195         (gst_object_get_path_string):
4196         * gst/gstobject.h:
4197         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4198         (gst_real_pad_init), (gst_real_pad_get_property),
4199         (gst_pad_custom_new), (gst_pad_get_direction),
4200         (gst_pad_set_active), (gst_pad_is_active),
4201         (gst_pad_set_event_function), (gst_pad_is_linked),
4202         (gst_pad_link_free), (gst_pad_link_intersect),
4203         (gst_pad_link_fixate), (gst_pad_set_caps),
4204         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4205         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4206         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4207         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4208         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4209         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4210         (gst_pad_realize), (gst_pad_get_allowed_caps),
4211         (gst_real_pad_dispose), (gst_real_pad_finalize),
4212         (gst_pad_collectv), (gst_pad_collect_valist),
4213         (gst_pad_template_dispose), (gst_pad_template_new),
4214         (gst_pad_get_internal_links):
4215         * gst/gstpad.h:
4216         * gst/gstpipeline.c: (gst_pipeline_dispose),
4217         (gst_pipeline_change_state):
4218         * gst/gstpipeline.h:
4219         * gst/gstplugin.c:
4220         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4221         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4222         * gst/gstpluginfeature.h:
4223         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4224         * gst/gstquery.c: (_gst_query_type_initialize),
4225         (gst_query_type_register), (gst_query_type_get_by_nick),
4226         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4227         * gst/gstquery.h:
4228         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4229         * gst/gstscheduler.c: (gst_scheduler_add_element),
4230         (gst_scheduler_factory_create):
4231         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4232         (gst_structure_free), (gst_structure_set_name),
4233         (gst_structure_id_set_value), (gst_structure_set_value),
4234         (gst_structure_set_valist), (gst_structure_remove_field),
4235         (gst_structure_remove_fields),
4236         (gst_structure_remove_fields_valist),
4237         (gst_structure_remove_all_fields), (gst_structure_foreach),
4238         (gst_structure_map_in_place),
4239         (gst_caps_structure_fixate_field_nearest_int),
4240         (gst_caps_structure_fixate_field_nearest_double):
4241         * gst/gststructure.h:
4242         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4243         (gst_system_clock_init), (gst_system_clock_dispose),
4244         (gst_system_clock_async_thread),
4245         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4246         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4247         * gst/gstsystemclock.h:
4248         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4249         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4250         * gst/gsttaginterface.c:
4251         * gst/gstthread.c: (gst_thread_dispose),
4252         (gst_thread_release_children_locks), (gst_thread_change_state),
4253         (gst_thread_main_loop):
4254         * gst/gsttrashstack.h:
4255         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4256         * gst/gsttypes.h:
4257         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4258         (gst_element_request_pad), (gst_element_get_pad_from_template),
4259         (gst_element_request_compatible_pad),
4260         (gst_element_get_compatible_pad_filtered),
4261         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4262         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4263         (gst_element_link_many), (gst_element_link),
4264         (gst_element_link_pads), (gst_element_unlink_pads),
4265         (gst_element_unlink_many), (gst_element_unlink),
4266         (gst_pad_can_link_filtered), (gst_pad_can_link),
4267         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4268         (gst_object_default_error), (gst_bin_add_many),
4269         (gst_bin_remove_many), (gst_element_populate_std_props),
4270         (gst_element_class_install_std_props), (gst_buffer_merge),
4271         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4272         (link_fold_func), (gst_pad_proxy_setcaps):
4273         * gst/gstutils.h:
4274         * gst/gstvalue.c: (gst_value_deserialize_string):
4275         * gst/parse/grammar.y:
4276         * gst/schedulers/gstbasicscheduler.c:
4277         (gst_basic_scheduler_cothreaded_chain),
4278         (gst_basic_scheduler_chain_recursive_add),
4279         (gst_basic_scheduler_pad_link):
4280         * gst/schedulers/gstoptimalscheduler.c:
4281         (get_group_schedule_function),
4282         (gst_opt_scheduler_state_transition),
4283         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4284         * libs/gst/bytestream/bytestream.c:
4285         * libs/gst/dataprotocol/dataprotocol.c:
4286         (gst_dp_header_from_buffer):
4287         * po/nb.po:
4288         * po/ru.po:
4289         * tests/threadstate/threadstate2.c: (eos):
4290         * tools/gst-compprep.c: (main):
4291         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4292         (print_pad_info), (print_children_info):
4293         * tools/gst-launch.c: (idle_func), (main):
4294         * tools/gst-md5sum.c: (idle_func), (main):
4295         * tools/gst-xmlinspect.c: (print_element_info):
4296         First THREADED backport attempt, focusing on adding locks and
4297         making sure the API is threadsafe. Needs more work. More docs
4298         follow this week.
4299
4300 2005-02-24  Andy Wingo  <wingo@pobox.com>
4301
4302         * tests/bench-complexity.scm:
4303         * tests/complexity.gnuplot: New files, good for running complexity
4304         benchmarks.
4305
4306         * tests/Makefile.am:
4307         * tests/complexity.c: New test, sets up N elements, at each level
4308         teeing into M streams per element. Eeeenteresting.
4309
4310         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4311         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4312         running bench-mass_elements.scm.
4313
4314         * tests/bench-mass_elements.scm: New script, runs mass_elements
4315         for various numbers of identities, outputting the results to a
4316         file. Requires guile 1.6. Just for testing.
4317
4318 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4319
4320         * gst/schedulers/fairscheduler.c:
4321           compile with debug disabled
4322
4323 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4324
4325         * configure.ac:
4326           hunting season on 0.9 is now OPEN
4327
4328 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4329
4330         * docs/libs/tmpl/gstcontrol.sgml:
4331         * docs/libs/tmpl/gstdparam.sgml:
4332         * docs/libs/tmpl/gstdplinint.sgml:
4333         * docs/libs/tmpl/gstdpman.sgml:
4334         * docs/libs/tmpl/gstdpsmooth.sgml:
4335         * docs/libs/tmpl/gstunitconvert.sgml:
4336           more docs for the state of dparams
4337
4338 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4339
4340         * gst/gstelementfactory.c: (gst_element_factory_create):
4341         * gst/gstobject.c: (gst_object_init),
4342         (gst_object_set_name_default), (gst_object_set_name):
4343           name objects by default, not in gst_element_factory_create. Allows
4344           using elements created with g_object_new. (fixes #167283)
4345
4346 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4347
4348         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4349           make the time that debugging functions print relative to when
4350           gst_init was called
4351
4352 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4353
4354         * gst/gsttaginterface.c:
4355           Fix inline docs: tag setter vararg functions are NULL-terminated,
4356           GST_TAG_INVALID doesn't exist any more.
4357
4358 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4359
4360         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4361         Allocate the 1 byte more memory that was forgotten!!!!!
4362         fixes memory corruption on 64bit platforms
4363
4364 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4365
4366         * docs/pwg/building-pads.xml:
4367         * docs/pwg/intro-basics.xml:
4368           fixed a few typos, relabeled introductionary list of types
4369         * docs/random/ensonic/dparams.txt:
4370           more notes abut dparam changes
4371         * libs/gst/control/dparam.c: (gst_dparam_attach):
4372         * libs/gst/control/dparammanager.c:
4373         * libs/gst/control/dparammanager.h:
4374           - many comments and notes on dparam implementation
4375           - new dparams are were not initialized to the default value
4376             from param spec
4377
4378 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4379
4380         submitted by: Peter Astakhov
4381
4382         * po/LINGUAS:
4383         * po/ru.po:
4384           adding Russian translation
4385
4386 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4387
4388         * configure.ac:
4389         * docs/gst/Makefile.am:
4390         * docs/libs/Makefile.am:
4391           make sure popt is added to gtk-doc flags.  Fixes #147782.
4392
4393 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4394
4395         * docs/faq/using.xml:
4396           Fix typo in FAQ (artssink => artsdsink)
4397
4398 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4399
4400         * tools/gst-launch.1.in:
4401           Fix typo (#166699).
4402
4403 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
4404
4405         * docs/faq/using.xml:
4406           Add -v argument to fakesrc/fakesink gst-launch line,
4407           so that the promised output will actually show up.
4408
4409 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4410
4411         * gst/gstthread.c: (gst_thread_change_state):
4412           Implement state-change error handling (#166073).
4413
4414 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4415
4416         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4417           Release interrupt after handling (#166250).
4418
4419 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4420
4421         * configure.ac:
4422           back to HEAD
4423
4424 === release 0.8.9 ===
4425
4426 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4427
4428         * NEWS:
4429         * RELEASE:
4430         * configure.ac:
4431           releasing 0.8.9, "Like Eating Glass"
4432
4433 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4434
4435         submitted by: Clytie Siddall
4436
4437         * po/vi.po: Added Vietnamese translation
4438
4439 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4440
4441         patch by: Tim Philipp-Müller
4442
4443         * configure.ac:
4444         * gst/gstpad.c:
4445           unref data when probe function returns FALSE.  Fixes #166362
4446
4447 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4448
4449         * gst/gst.c: (gst_init_get_popt_table):
4450           Fix typo (#166269).
4451
4452 2005-02-04  Andy Wingo  <wingo@pobox.com>
4453
4454         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
4455         the debugging on whether the caps are compatible.
4456
4457 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4458
4459         * docs/manual/basics-elements.xml:
4460           Fix two typos.
4461
4462 2005-02-02  Wim Taymans  <wim@fluendo.com>
4463
4464         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
4465         (schedule_chain), (get_invalid_call), (chain_invalid_call),
4466         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
4467         Remove some FIXMEs after analysing and commenting why they
4468         are not issues.
4469
4470 2005-02-02  Wim Taymans  <wim@fluendo.com>
4471
4472         * gst/schedulers/gstoptimalscheduler.c:
4473         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
4474         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
4475         (get_invalid_call), (chain_invalid_call),
4476         (get_group_schedule_function), (loop_group_schedule_function),
4477         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
4478         (gst_opt_scheduler_state_transition),
4479         (gst_opt_scheduler_add_element),
4480         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
4481         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
4482         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
4483         (gst_opt_scheduler_show):
4484         Added lock to protect scheduler data structures.
4485
4486 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4487
4488         * testsuite/threads/threadi.c: (cb_data):
4489           Fix buglet in test.
4490
4491 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4492
4493         * testsuite/threads/Makefile.am:
4494         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
4495           On Wim's request, split the test in three separately-compiled
4496           tests that each test a very specific bug. Two of them still fail,
4497           will create bugs for those. threadi.c indicates why they fail.
4498
4499 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4500
4501         * gst/schedulers/gstoptimalscheduler.c:
4502         (get_group_schedule_function):
4503           Try to work with the threading mess that queue_link is.
4504
4505 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4506
4507         * gst/gstbin.c: (gst_bin_remove_func):
4508           Explicitely make an element release locks in a group when being
4509           remove from a bin.
4510         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4511           If there's no scheduler, always return immediately (similar to
4512           gst_element_interrupt).
4513
4514 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4515
4516         * gst/gstbin.c: (gst_bin_child_state_change_func):
4517           Remove a piece of code that could never be reached.
4518         * docs/gst/gstreamer-sections.txt:
4519         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
4520         (gst_pad_call_get_function):
4521         * gst/gstpad.h:
4522         * testsuite/pad/Makefile.am:
4523           Fix #150546, enable tests.
4524
4525 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4526
4527         * docs/pwg/advanced-types.xml:
4528           Fix description for buffer-frames=0.
4529         * docs/gst/tmpl/gstbin.sgml:
4530         * gst/gstbin.c: (gst_bin_child_state_change_func),
4531         (gst_bin_change_state), (gst_bin_change_state_norecurse):
4532         * gst/gstbin.h:
4533         * testsuite/threads/Makefile.am:
4534         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
4535         (cb_state), (cb_play), (main):
4536           Fix non-recursive state changes to *really* change the state
4537           of the object, and not just call parent_class->state_change.
4538           Fix a lot of lockups caused by this. Fixes #132775. Add test
4539           for the problem. Also enable test to show #142588 (fixed).
4540         * gst/gstthread.c: (gst_thread_change_state),
4541         (gst_thread_child_state_change):
4542           Don't exit the thread if we go to NULL and are inside thread
4543           context. Instead, return control to the main thread context
4544           and exit from there.
4545         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
4546           Don't unset virtual functions, since those may still be used.
4547           That's not necessarily correct, but suffices for now.
4548         * configure.ac:
4549         * testsuite/Makefile.am:
4550         * testsuite/pad/Makefile.am:
4551         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
4552         (gst_test_sink_base_init), (gst_test_sink_chain),
4553         (gst_test_sink_init), (main):
4554         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
4555         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
4556         (main):
4557         * testsuite/pad/link.c: (gst_test_element_class_init),
4558         (gst_test_element_base_init), (gst_test_src_get),
4559         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
4560         (gst_test_filter_loop), (gst_test_filter_init),
4561         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
4562         (cb_error), (main):
4563           Add tests to show #150546. Pass, but should fail (currently
4564           disabled from the testsuite).
4565         * gst/gstscheduler.c: (gst_scheduler_dispose):
4566           Dereference child schedulers on dispose (#94464).
4567         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4568           Fix typo.
4569         * testsuite/threads/thread.c: (main):
4570           Add more debug.
4571
4572 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4573
4574         * gst/gstpad.c: (gst_pad_push):
4575           Oops, revert previous commit, broke testsuite...
4576
4577 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4578
4579         * gst/gstpad.c: (gst_pad_push):
4580           Add check that the pad on which the push is performed is not a
4581           get-based pad (#150546).
4582
4583 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4584
4585         * gst/elements/gsttypefindelement.c:
4586         (gst_type_find_element_handle_event):
4587           Fix buffer pushing if stream EOSes during typefinding.
4588
4589 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
4590
4591         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4592
4593         * gst/gstvalue.c: (gst_string_wrap):
4594           Allow NULL-strings as argument (#165365).
4595
4596 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
4597
4598         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4599
4600         * gst/schedulers/faircothreads.c:
4601         (gst_fair_scheduler_cothread_queue_show):
4602           Fix build without debug enabled.
4603
4604 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
4605
4606         * docs/gst/gstreamer-sections.txt:
4607         * docs/libs/gstreamer-libs-docs.sgml:
4608         * docs/libs/gstreamer-libs-sections.txt:
4609         * docs/libs/tmpl/gstcontrol.sgml:
4610         * docs/libs/tmpl/gstdparam.sgml:
4611         * docs/libs/tmpl/gstdplinint.sgml:
4612         * docs/libs/tmpl/gstdpman.sgml:
4613         * docs/libs/tmpl/gstdpsmooth.sgml:
4614         * docs/libs/tmpl/gstputbits.sgml:
4615         * docs/libs/tmpl/gstunitconvert.sgml:
4616         * libs/gst/control/dparam.c:
4617         * libs/gst/control/dparam.h:
4618         * libs/gst/control/dparammanager.c:
4619         (gst_dpman_add_required_dparam_callback),
4620         (gst_dpman_add_required_dparam_direct),
4621         (gst_dpman_add_required_dparam_array),
4622         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
4623         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
4624         (gst_dpman_get_manager)
4625           restructured DParam docs
4626
4627 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
4628
4629         * gst-element-check.m4:
4630           Only check for gst-inspect if we haven't already
4631           found it in previous element check runs
4632
4633 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
4634
4635         * docs/gst/Makefile.am:
4636         * docs/libs/Makefile.am:
4637           fixed install rules to treat style.css as optional
4638
4639 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
4640
4641         * docs/gst/Makefile.am:
4642         * docs/libs/Makefile.am:
4643           install style.css along with docs
4644         * docs/gst/tmpl/gstbin.sgml:
4645         * docs/gst/tmpl/gstclock.sgml:
4646         * docs/gst/tmpl/gstdata.sgml:
4647         * docs/gst/tmpl/gstelement.sgml:
4648         * gst/gstbin.h:
4649         * gst/gstelement.c: (gst_element_class_init):
4650         * gst/gstelement.h:
4651           fixing incomplete docs
4652
4653 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4654
4655         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4656           Don't unref seek event twice when fflush() fails
4657           
4658 2005-01-22  David Schleef  <ds@schleef.org>
4659
4660         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
4661
4662 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
4663
4664         * docs/gst/Makefile.am:
4665         * docs/libs/Makefile.am:
4666           added params for deprecation guards
4667         * gst/gst.c:
4668         * gst/gst.h:
4669         * gst/gsterror.c: (_gst_resource_errors_init),
4670         (_gst_stream_errors_init):
4671         * gst/gsterror.h:
4672           documented some more enums
4673
4674 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4675         * gst/autoplug/gstspideridentity.c:
4676         Cosmetic fix - spider_find_peek should be static
4677         * gst/parse/parse.l:
4678         Applying fix for #164261
4679
4680 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
4681
4682         * docs/gst/gstreamer-sections.txt:
4683         * docs/gst/tmpl/gstplugin.sgml:
4684         * docs/libs/gstreamer-libs-sections.txt:
4685         * docs/libs/tmpl/gstcontrol.sgml:
4686         * gst/gstbuffer.h:
4687         * gst/gsttag.h:
4688         * gst/gstvalue.c:
4689           added docs for the TAG defines
4690
4691 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4692
4693         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4694           Only unref entry if there is an entry.
4695
4696 2005-01-17  Wim Taymans  <wim@fluendo.com>
4697
4698         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4699         (remove_from_group), (schedule_group), (normalize_group),
4700         (gst_opt_scheduler_iterate):
4701         Also ref/unref decoupled elements before iterating the
4702         group since they are not added to the list of elements.
4703
4704 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4705
4706         * docs/manual/highlevel-components.xml:
4707           Add subtitle/streamselection as new features to playbin.
4708
4709 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4710
4711         * docs/manual/manual.xml:
4712           Re-enable dataaccess docs (oops).
4713
4714 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4715
4716         * docs/pwg/advanced-types.xml:
4717         * docs/random/mimetypes:
4718           Add documentation on libsndfile types (#163309), by Steve Baker
4719           <steve@stevebaker.org>.
4720         * gst/gstelement.c: (gst_element_release_request_pad):
4721           If an element has no explicit function, just remove the pad.
4722
4723 2005-01-17  Luca Ognibene  <luogni@tin.it>
4724
4725         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4726
4727         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
4728           Fix memleak (#163801).
4729
4730 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4731
4732         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
4733           I think this is actually more correct...
4734
4735 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4736
4737         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4738           Another workaround for memory access while destroyed in callback.
4739           Please, someone with refcount knowledge, have a look at this.
4740
4741 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4742
4743         * docs/faq/faq.xml:
4744         * docs/faq/legal.xml:
4745           move the legal Q&A here
4746
4747 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4748
4749         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
4750         (gst_tee_request_new_pad):
4751           Fix negotiation.
4752
4753 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4754
4755         * docs/random/omega/caps2:
4756         * testsuite/caps/caps_strings:
4757           replace framerate aproximations by their real value
4758           (24000/1001, 30000/1001, 60000/1001)
4759           Partially fixes bug #164049
4760
4761 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4762
4763         * docs/gst/Makefile.am:
4764           don't fail on the stupid GstPoptOption
4765
4766 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4767
4768         * gst/gstpad.h:
4769         * gst/gstprobe.c:
4770           allow probes to work on ghost pads by realizing the pad
4771           probe debugging
4772
4773 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4774
4775         * docs/gst/gstreamer-sections.txt:
4776         * docs/gst/tmpl/gstpad.sgml:
4777         * gst/gstpad.c: (gst_pad_set_active_recursive):
4778         * gst/gstpad.h:
4779           Add gst_pad_set_active_recursive().
4780
4781 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4782
4783         * docs/random/release:
4784           updates
4785         * gst/gst_private.h:
4786         * gst/gstinfo.c:
4787         * gst/gstobject.c:
4788           move deep_notify logging to a new category
4789         * gst/gstprobe.c:
4790         * gst/gstprobe.h:
4791           add stuff so bindings can wrap probes
4792
4793 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4794
4795         * gst/gstplugin.c: (gst_plugin_load):
4796           Fix plugin loading if plugin/lib was already loaded. Fixes
4797           #163383
4798
4799 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
4800
4801         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4802
4803         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
4804           Protect plugin loading by a mutex so it's threadsafe. Fixes
4805           #163234.
4806
4807 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4808
4809         * gst/gstevent.c: (_gst_event_copy):
4810           Reference source object when copying events, since it'll be
4811           dereferenced on event dereferencing as well.
4812
4813 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4814
4815         * docs/gst/gstreamer-sections.txt:
4816         * docs/gst/tmpl/gstevent.sgml:
4817         * gst/gstevent.c: (gst_event_new_filler_stamped),
4818         (gst_event_filler_get_duration):
4819         * gst/gstevent.h:
4820           Add two new functions for filler events (which are used to
4821           synchronize streams if one of them is not having any data
4822           for a while) without interrupting the actual data-stream.
4823           Basically a no-op.
4824         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4825         (gst_queue_link_sink), (gst_queue_link_src),
4826         (gst_queue_change_state):
4827           Allow for renegotiation while filled. Required for stream
4828           switching while playing.
4829
4830 2005-01-08  Benjamin Otte  <otte@gnome.org>
4831
4832         * gst/gstelement.c: (gst_element_link_many):
4833           fix up g_return_if_fail's
4834         * po/LINGUAS:
4835         * po/de.po:
4836           add German translation, that was somehow not included
4837
4838 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4839
4840         * docs/random/mimetypes:
4841           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
4842           do not add them to riff-lib as they are not common
4843
4844 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4845
4846         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4847           Check for existence of probe after performing the probe before
4848           re-accessing it to prevent segfaults caused by removal of the
4849           probe in the callback.
4850
4851 2005-01-05  David Schleef  <ds@schleef.org>
4852
4853         * testsuite/registry/Makefile.am:
4854         * testsuite/registry/gst-print-formats.c:
4855         (print_pad_templates_info), (print_element_list),
4856         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
4857         (g_list_uniqify), (get_pad_templates_info),
4858         (get_element_mime_list), (print_mime_list), (main): A little
4859         program that looks through the registry to find elements of
4860         a given type.  Not particularly interesting as a test, except
4861         that there's no other test covering the same area.
4862
4863 2005-01-05  David Schleef  <ds@schleef.org>
4864
4865         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
4866         (fault_handler_sigaction), (fault_spin),
4867         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
4868         in signal.h-type signal handlers by not calling forbidden functions,
4869         including gst_element_set_state().
4870
4871 2005-01-05  David Schleef  <ds@schleef.org>
4872
4873         * gst/gstvalue.h: Mark _gst_reserved[] as private
4874
4875 2005-01-05  David Schleef  <ds@schleef.org>
4876
4877         * gst/gstvalue.c: Fix doc build problem.
4878
4879 2005-01-05  David Schleef  <ds@schleef.org>
4880
4881         * gst/gstvalue.c: Add some documentation
4882
4883 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
4884
4885         * docs/README:
4886           another shell oneliner for empty return value docs
4887         * gst/gstcaps.c:
4888         * gst/gstvalue.c:
4889         * libs/gst/control/dparam.c:
4890           more doc fixes (parameters and return values)
4891
4892 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
4893
4894         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4895
4896         * gst/gstregistry.h:
4897         * gst/registries/gstxmlregistry.c:
4898           Fix macro's for Mingw (fixes #162276).
4899
4900 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
4901
4902         * docs/README:
4903           quick shell oneliner to find undocumented members
4904         * docs/gst/tmpl/gstplugin.sgml:
4905         * docs/gst/tmpl/gstscheduler.sgml:
4906         * docs/gst/tmpl/gstthread.sgml:
4907           more enumtypes cleanup
4908         * gst/gsterror.h:
4909           activated documentation comments, now someone needs to document
4910           the enums :(
4911
4912 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4913
4914         * docs/manual/manual.xml:
4915           Add dataaccess part (doh!).
4916
4917 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4918
4919         * docs/manual/advanced-autoplugging.xml:
4920           Fix typo (intiate -> initiate).
4921
4922 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4923
4924         * docs/random/bbb/streamselection:
4925           Add some notes on how to handle multi-subtitle/-audio streams.
4926
4927 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
4928
4929         * docs/gst/gstreamer-docs.sgml:
4930         * docs/gst/gstreamer-sections.txt:
4931         * docs/gst/tmpl/gstenumtypes.sgml:
4932         * docs/gst/tmpl/gsterror.sgml:
4933         * docs/gst/tmpl/gstevent.sgml:
4934         * docs/gst/tmpl/gstpad.sgml:
4935         * docs/gst/tmpl/gstpadtemplate.sgml:
4936         * docs/gst/tmpl/gstthread.sgml:
4937           removed gstenumtypes section from docs and put all the enums into
4938           their sections
4939
4940 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4941
4942         * gst/gstplugin.c:
4943           document gst_library_load a bit more (riff special case + return
4944           value if already loaded)
4945         * testsuite/bytestream/filepadsink.c:
4946           plugin name is 'gstbytestream', not 'bytestream'
4947
4948 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4949
4950         * docs/random/bbb/subtitles:
4951           Add some first mind rumblings on proper subtitle support.
4952
4953 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4954
4955         * po/ca.po:
4956         * po/sv.po:
4957           updated translations
4958
4959 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4960
4961         * docs/manual/advanced-dataaccess.xml:
4962           Add section on how to use fakesrc/fakesink/identity in your
4963           application, plus section on how to embed plugins. Also mention
4964           probes.
4965         * docs/manual/appendix-checklist.xml:
4966         * docs/manual/appendix-debugging.xml:
4967         * docs/manual/appendix-gnome.xml:
4968         * docs/manual/appendix-integration.xml:
4969           Debug -> checklist, GNOME -> integration, add sections on Linux,
4970           KDE integration and add other things useful for application
4971           development.
4972         * docs/manual/manual.xml:
4973           Remove some fixmes, update some file pointers.
4974         * docs/pwg/appendix-checklist.xml:
4975           Fix typo.
4976         * docs/pwg/building-boiler.xml:
4977           Remove ugly header and add commented fixme.
4978         * docs/pwg/pwg.xml:
4979           Add fixme.
4980         * examples/manual/Makefile.am:
4981           Add example for added docs.
4982
4983 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4984
4985         * configure.ac:
4986           back to HEAD
4987
4988 === release 0.8.8 ===
4989
4990 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4991
4992         * NEWS:
4993         * RELEASE:
4994         * configure.ac:
4995           Releasing 0.8.8, "I'll Take Care Of You"
4996
4997 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4998
4999         * configure.ac:
5000           second prerelease
5001
5002 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5003
5004         patch by: Wim Taymans
5005
5006         * gst/gstbin.c:
5007           Fix for #159852 - make iterate emission threadsafe
5008
5009 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5010
5011         * docs/faq/cvs.xml:
5012           notes about new fdo account request
5013
5014 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5015
5016         * docs/gst/gstreamer-docs.sgml:
5017         * docs/gst/tmpl/gstenumtypes.sgml:
5018         * docs/gst/tmpl/gstplugin.sgml:
5019         * docs/libs/gstreamer-libs-docs.sgml:
5020           Added missing short docs. Added ids for navigation.
5021
5022 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5023
5024         * docs/manual/advanced-autoplugging.xml:
5025         * docs/manual/advanced-schedulers.xml:
5026         * docs/manual/advanced-threads.xml:
5027           Rewrites. Remove cothreads, go a bit into opt specifically,
5028           document threads and their gotchas, and do some technical stuff
5029           on autoplugging plus add some working examples. Fixes #157395.
5030         * examples/manual/Makefile.am:
5031           Add typefind/autoplugger example (one that actually works).
5032           Remove queue example since it's a duplicate of the thread one.
5033
5034 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5035
5036         * gst/gstvalue.c: (gst_value_deserialize_string):
5037           use deprecated g_value_set_string_take_ownership to keep compatible
5038           with glib 2.2
5039
5040 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5041
5042         * gst/gstvalue.c: (gst_value_deserialize_string):
5043           revert last patch, only dom a g_utf8_validate now before accepting
5044           the string - caps parsing strips " from strings so we can't rely on
5045           them
5046         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5047           disable a test that tested the above and comment it
5048
5049 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5050
5051         Patch reviewed by David Schleef  <ds@schleef.org>
5052
5053         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5054         bug #153882)
5055         * win32/gstenumtypes.h: same
5056
5057 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5058
5059         * gst/gstpad.c: (gst_pad_query):
5060           Do query on realized pad, similar to how convert/send_event handle
5061           this. Also makes sense, since this pad belongs to the function to
5062           which this query will be sent. Fixes #158163.
5063
5064 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5065
5066         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5067
5068 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5069
5070         * docs/faq/general.xml: fix pipeline to actually work
5071
5072 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5073
5074         * gst/gstvalue.c: (gst_value_deserialize_string):
5075           check that a simple string that gets deserialized does not contain
5076           invalid characters
5077         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5078           remove a test that tested a wring behaviour
5079
5080 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5081
5082         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5083
5084         * docs/manual/intro-motivation.xml:
5085           Fix typos.
5086
5087 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5088
5089         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5090
5091         * docs/gst/tmpl/gstprobe.sgml:
5092           Fix documentation of probe callback - it is supposed to return
5093           FALSE, not TRUE, to remove data from the stream (#159087).
5094
5095 2004-12-16  Daniel Gazard  <dany42@free.fr>
5096
5097         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5098
5099         * gst/gstelementfactory.c: (gst_element_factory_create):
5100           Fix compile failure if compiling without libxml2 support (#149936).
5101
5102 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5103
5104         * docs/manual/advanced-autoplugging.xml:
5105         * docs/manual/highlevel-components.xml:
5106           Move spider from autoplugging to components. Autoplugging is for
5107           internals, not for solutions. ;-).
5108
5109 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5110
5111         * docs/random/ds/0.9-suggested-changes:
5112           Make note on device/location/uri property names.
5113
5114 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5115
5116         * docs/manual/advanced-autoplugging.xml:
5117         * docs/manual/advanced-clocks.xml:
5118         * docs/manual/advanced-interfaces.xml:
5119         * docs/manual/advanced-metadata.xml:
5120         * docs/manual/advanced-position.xml:
5121         * docs/manual/advanced-schedulers.xml:
5122         * docs/manual/advanced-threads.xml:
5123         * docs/manual/appendix-gnome.xml:
5124         * docs/manual/appendix-programs.xml:
5125         * docs/manual/appendix-quotes.xml:
5126         * docs/manual/autoplugging.xml:
5127         * docs/manual/basics-bins.xml:
5128         * docs/manual/basics-data.xml:
5129         * docs/manual/basics-elements.xml:
5130         * docs/manual/basics-helloworld.xml:
5131         * docs/manual/basics-init.xml:
5132         * docs/manual/basics-pads.xml:
5133         * docs/manual/basics-plugins.xml:
5134         * docs/manual/bins-api.xml:
5135         * docs/manual/bins.xml:
5136         * docs/manual/buffers-api.xml:
5137         * docs/manual/buffers.xml:
5138         * docs/manual/clocks.xml:
5139         * docs/manual/components.xml:
5140         * docs/manual/cothreads.xml:
5141         * docs/manual/debugging.xml:
5142         * docs/manual/dparams-app.xml:
5143         * docs/manual/dynamic.xml:
5144         * docs/manual/elements-api.xml:
5145         * docs/manual/elements.xml:
5146         * docs/manual/factories.xml:
5147         * docs/manual/gnome.xml:
5148         * docs/manual/goals.xml:
5149         * docs/manual/helloworld.xml:
5150         * docs/manual/helloworld2.xml:
5151         * docs/manual/highlevel-components.xml:
5152         * docs/manual/highlevel-xml.xml:
5153         * docs/manual/init-api.xml:
5154         * docs/manual/intro-basics.xml:
5155         * docs/manual/intro-motivation.xml:
5156         * docs/manual/intro-preface.xml:
5157         * docs/manual/intro.xml:
5158         * docs/manual/links-api.xml:
5159         * docs/manual/links.xml:
5160         * docs/manual/manual.xml:
5161         * docs/manual/motivation.xml:
5162         * docs/manual/pads-api.xml:
5163         * docs/manual/pads.xml:
5164         * docs/manual/plugins-api.xml:
5165         * docs/manual/plugins.xml:
5166         * docs/manual/programs.xml:
5167         * docs/manual/queues.xml:
5168         * docs/manual/quotes.xml:
5169         * docs/manual/schedulers.xml:
5170         * docs/manual/states-api.xml:
5171         * docs/manual/states.xml:
5172         * docs/manual/threads.xml:
5173         * docs/manual/typedetection.xml:
5174         * docs/manual/win32.xml:
5175         * docs/manual/xml.xml:
5176           Try 2. This time, include a short preface as a "general
5177           introduction", also add code blocks around all code samples
5178           so they get compiled. We still need a way to tell readers
5179           the filename of the code sample. In some cases, don't show
5180           all code in the documentation, but do include it in the generated
5181           code. This allows for focussing on specific bits in the docs,
5182           while still having a full test application available.
5183         * examples/manual/Makefile.am:
5184           Fix up examples for new ADM. Add several of the new examples that
5185           were either added or were missing from the build system.
5186         * examples/manual/extract.pl:
5187           Allow nameless blocks.
5188
5189 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5190
5191         * docs/manual/elements-api.xml:
5192         * docs/manual/helloworld.xml:
5193         * examples/manual/extract.pl:
5194           fix last example.  Add example of adding code blocks that are not
5195           shown in docbook output.
5196
5197 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5198
5199         * docs/manual/dynamic.xml:
5200         * docs/manual/elements-api.xml:
5201         * docs/manual/gnome.xml:
5202         * docs/manual/helloworld2.xml:
5203         * docs/manual/init-api.xml:
5204         * docs/manual/queues.xml:
5205         * docs/manual/threads.xml:
5206         * docs/manual/xml.xml:
5207         * examples/manual/extract.pl:
5208           Make it possible to extract example code from separate blocks.
5209           Should make Ronald happy.
5210
5211 2004-12-15  Wim Taymans  <wim@fluendo.com>
5212
5213         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5214         (remove_from_group), (group_elements_set_visited),
5215         (normalize_group), (gst_opt_scheduler_iterate):
5216         Fix bug where a flag was not updated on a decoupled entry point 
5217         because we were just checking the group element list and decoupled
5218         elements are not in that list..
5219
5220 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5221
5222         * docs/manual/advanced-autoplugging.xml:
5223         * docs/manual/advanced-clocks.xml:
5224         * docs/manual/advanced-dparams.xml:
5225         * docs/manual/advanced-interfaces.xml:
5226         * docs/manual/advanced-metadata.xml:
5227         * docs/manual/advanced-position.xml:
5228         * docs/manual/advanced-schedulers.xml:
5229         * docs/manual/advanced-threads.xml:
5230         * docs/manual/appendix-debugging.xml:
5231         * docs/manual/appendix-gnome.xml:
5232         * docs/manual/appendix-programs.xml:
5233         * docs/manual/appendix-quotes.xml:
5234         * docs/manual/appendix-win32.xml:
5235         * docs/manual/autoplugging.xml:
5236         * docs/manual/basics-bins.xml:
5237         * docs/manual/basics-data.xml:
5238         * docs/manual/basics-elements.xml:
5239         * docs/manual/basics-helloworld.xml:
5240         * docs/manual/basics-init.xml:
5241         * docs/manual/basics-pads.xml:
5242         * docs/manual/basics-plugins.xml:
5243         * docs/manual/bins-api.xml:
5244         * docs/manual/bins.xml:
5245         * docs/manual/buffers-api.xml:
5246         * docs/manual/buffers.xml:
5247         * docs/manual/clocks.xml:
5248         * docs/manual/components.xml:
5249         * docs/manual/cothreads.xml:
5250         * docs/manual/debugging.xml:
5251         * docs/manual/dparams-app.xml:
5252         * docs/manual/dynamic.xml:
5253         * docs/manual/elements-api.xml:
5254         * docs/manual/elements.xml:
5255         * docs/manual/factories.xml:
5256         * docs/manual/gnome.xml:
5257         * docs/manual/goals.xml:
5258         * docs/manual/helloworld.xml:
5259         * docs/manual/helloworld2.xml:
5260         * docs/manual/highlevel-components.xml:
5261         * docs/manual/highlevel-xml.xml:
5262         * docs/manual/init-api.xml:
5263         * docs/manual/intro-motivation.xml:
5264         * docs/manual/intro-preface.xml:
5265         * docs/manual/intro.xml:
5266         * docs/manual/links-api.xml:
5267         * docs/manual/links.xml:
5268         * docs/manual/manual.xml:
5269         * docs/manual/motivation.xml:
5270         * docs/manual/pads-api.xml:
5271         * docs/manual/pads.xml:
5272         * docs/manual/plugins-api.xml:
5273         * docs/manual/plugins.xml:
5274         * docs/manual/programs.xml:
5275         * docs/manual/queues.xml:
5276         * docs/manual/quotes.xml:
5277         * docs/manual/schedulers.xml:
5278         * docs/manual/states-api.xml:
5279         * docs/manual/states.xml:
5280         * docs/manual/threads.xml:
5281         * docs/manual/typedetection.xml:
5282         * docs/manual/win32.xml:
5283         * docs/manual/xml.xml:
5284           First try at rewriting the ADM. Needs lotsamore work, but some
5285           parts might already be somewhat useful.
5286         * docs/pwg/advanced-interfaces.xml:
5287           Remove properties interface, it never actually existed (except for
5288           on my HD...).
5289
5290 2004-12-13  David Schleef  <ds@schleef.org>
5291
5292         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5293         be NULL (bug #160220).
5294
5295 2004-12-13  David Schleef  <ds@schleef.org>
5296
5297         * configure.ac: remove all mmx stuff, because it's not used.
5298         * docs/random/ds/0.9-suggested-changes: additional notes
5299         * include/Makefile.am: we don't use these anymore
5300         * include/mmx.h: remove
5301         * include/sse.h: remove
5302
5303 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5304
5305         * docs/random/mimetypes:
5306           Add FOURCC code for h264 codec (VSSH)
5307           Add alternate FOURCC codes for h263 related codecs
5308
5309 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5310
5311         * docs/manual/programs.xml:
5312           Added more gst-launch examples.
5313
5314 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5315
5316         * gst/gstqueue.c: (gst_queue_handle_src_query):
5317           Check for availability again.
5318
5319 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5320
5321         * gst/gstcaps.c: (gst_caps_compare_structures):
5322           Simple caps go first. This has the nice side-effect of fixing an
5323           obscure warning.
5324
5325 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5326
5327         * gst/gstversion.h.in:
5328           Protect header.
5329
5330 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5331
5332         * gst/schedulers/gstoptimalscheduler.c:
5333         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5334         (gst_opt_scheduler_get_wrapper):
5335           When we're recursing into a chain run, only run the directly
5336           related group, not all queued ones. This will fix a possible
5337           deadlock in chains with more than two groups.
5338
5339 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5340
5341         * autogen.sh:
5342           remove patch if autopoint fails
5343
5344 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5345
5346         * docs/gst/gstreamer-sections.txt:
5347           Document Thomas' addition, fix build, make Luis the sheriff happy.
5348
5349 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5350
5351         * gst/gstplugin.c:
5352         * gst/gstplugin.h:
5353           add accessor for version field
5354
5355 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5356
5357         submitted by: Luca Ferretti <elle.uca@infinito.it>
5358
5359         * po/LINGUAS:
5360         * po/it.po:
5361           New tranlation added: Italian
5362
5363 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5364
5365         * gst/gstpad.c: (gst_pad_is_negotiated),
5366         (gst_pad_get_negotiated_caps):
5367           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5368           it doesn't actually check the contents), so be sure to hand it
5369           a RealPad else we'll crash.
5370
5371 2004-12-03  Wim Taymans  <wim@fluendo.com>
5372
5373         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5374         (gst_queue_link), (gst_queue_handle_src_query):
5375         Reverted to 1.110 until this makes the testsuite and various
5376         apps work.
5377
5378 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5379
5380         * docs/upload.mak: fix included CVS conflict strings
5381
5382 2004-12-01  William Jon McCann  <mccann@jhu.edu>
5383
5384         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5385
5386         * gst/gstelement.c: (gst_element_error_full):
5387           Use g_error_new_literal because error text may have
5388           percentage signs in it. Fixes #160019.
5389
5390 2004-12-01  Benjamin Otte  <otte@gnome.org>
5391
5392         * gst/elements/gstbufferstore.c:
5393         (gst_buffer_store_add_buffer_func):
5394           don't try to make subbuffers bigger than they can be. (fixes
5395           #159970)
5396
5397 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5398
5399         * docs/gst/gstreamer-sections.txt:
5400         * docs/gst/tmpl/gstvalue.sgml:
5401           Add new function to docs to fix build.
5402
5403 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5404
5405         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
5406         * gst/gstpad.c: (_gst_pad_default_fixate_value),
5407         (_gst_pad_default_fixate_foreach):
5408         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
5409         * gst/gstvalue.h:
5410           Deprecate _type_is_fixed, use _value_is_fixed instead, since
5411           in some cases (arrays), the fixedness depends on the content.
5412         * gst/gstqueue.c: (gst_queue_handle_src_query):
5413           Check for availability before doing something.
5414
5415 2004-11-29  Wim Taymans  <wim@fluendo.com>
5416
5417         * testsuite/threads/Makefile.am:
5418         * testsuite/threads/signals.c: (gst_test_get_type),
5419         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
5420         (gst_test_set_property), (gst_test_get_property),
5421         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
5422         (gst_test_do_prop), (run_thread), (main):
5423         Added a bunch of testcases that show threadsafety bugs in glib.
5424
5425 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
5426
5427         * docs/manual/programs.xml:
5428           Added a first batch of gst-launch examples, as provided by Ronald
5429           and others from the devel-mlist
5430
5431 2004-11-28  Benjamin Otte  <otte@gnome.org>
5432
5433         * gst/gstelement.c: (gst_element_negotiate_pads):
5434           simplify
5435         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
5436         (gst_value_serialize_string), (gst_value_deserialize_string):
5437           add unwrapping of previously wrapped strings. Fix bug in wrapping
5438           while at it.
5439         * testsuite/caps/value_serialize.c: (test1),
5440         (test_string_serialization), (test_string_deserialization), (main):
5441           add tests for string (de)serialization
5442
5443 2004-11-26  Wim Taymans  <wim@fluendo.com>
5444
5445         * testsuite/threads/159566.c: (object_deep_notify), (main):
5446         * testsuite/threads/Makefile.am:
5447         Added testsuite to show bug #159566
5448
5449 2004-11-25  Wim Taymans  <wim@fluendo.com>
5450
5451         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
5452         (gst_thread_child_state_change), (gst_thread_main_loop):
5453         Ref the thread object in the GThread mainloop. Break out of the
5454         thread mainloop if it holds the last ref. This properly exits
5455         the threads when disposing the thread from its own context. It
5456         also avoids possible deadlocks in the dispose function.
5457
5458 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
5459
5460         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
5461         it is necessary to wait.
5462
5463 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5464
5465         * docs/pwg/building-boiler.xml:
5466           Make description somewhat clearer.
5467
5468 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5469
5470         * docs/upload.mak:
5471           Apparently docs changed location on FDO's server.
5472
5473 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5474
5475         * docs/pwg/appendix-checklist.xml:
5476           Add some random notes on things to check when writing an element.
5477           This list can be extended as people see fit.
5478
5479 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
5480
5481         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
5482         (gst_queue_link_src): Allow for renegotiating the caps of the sink
5483         pad. The queue will now wait until it is empty and forward the new
5484         caps to the source.
5485         * gst/gstbin.c (gst_bin_set_element_sched)
5486         (gst_bin_unset_element_sched): Make sure that all elements and
5487         links are registered and unregistered with the scheduler exactly
5488         once. This elaborates on a fix by Benjamin Otte, but
5489         guarantees that decoupled elements are also registered.
5490
5491 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5492
5493         * docs/manual/quotes.xml:
5494           add a quote
5495         * configure.ac:
5496         * gst/gst.c:
5497         * gst/gstinfo.c:
5498           add LIBDIR and move init message higher up so it's at the start
5499
5500 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5501
5502         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
5503         * gstreamer.spec.in: add fair
5504
5505 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5506
5507         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5508         * gst/elements/gstidentity.c: (gst_identity_class_init):
5509           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
5510           <teuf@gnome.org> (#157263).
5511         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
5512         (gst_type_find_handle_src_query):
5513           Subtract size of internally stored data from position queries.
5514
5515 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
5516
5517         * gst/schedulers/fairscheduler.c:
5518         * gst/schedulers/faircothreads.c:
5519         * gst/schedulers/faircothreads.h:
5520         New cothread based scheduler: Fair scheduler.
5521         * gst/schedulers/gthread-cothreads.h: 
5522         Add the standard #if around the whole file.
5523         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
5524         compilation of the functions defined in this file. This is
5525         necessary to be able to use this file as a normal header.
5526         * gst/schedulers/Makefile.am: Add compiling support for fair
5527         scheduler.
5528         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
5529         scheduler cothreads layer from documentation generation.
5530
5531 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5532
5533         * gst/autoplug/gstspideridentity.c:
5534         (gst_spider_identity_sink_loop_type_finding):
5535           Don't crash if that function is not implemented.
5536
5537 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5538
5539         * docs/pwg/advanced-types.xml:
5540           Another typo.
5541
5542 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5543
5544         * docs/pwg/intro-preface.xml:
5545           Hm, ok, so the brackets weren't really useful...
5546         * docs/pwg/other-ntoone.xml:
5547           Fix embarassing typo.
5548
5549 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5550
5551         * docs/pwg/intro-preface.xml:
5552           Rewrite preface.
5553
5554 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5555
5556         * docs/pwg/advanced-scheduling.xml:
5557         * docs/pwg/advanced-tagging.xml:
5558         * docs/pwg/advanced-types.xml:
5559         * docs/pwg/building-boiler.xml:
5560         * docs/pwg/building-chainfn.xml:
5561         * docs/pwg/building-signals.xml:
5562         * docs/pwg/building-state.xml:
5563         * docs/pwg/building-testapp.xml:
5564         * docs/pwg/intro-basics.xml:
5565         * docs/pwg/other-manager.xml:
5566         * docs/pwg/other-source.xml:
5567           Typo fixes.
5568         * docs/pwg/other-manager.xml:
5569           Add some first content. No example code yet.
5570         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5571           Remove double newlines.
5572
5573 2004-11-04  Wim Taymans  <wim@fluendo.com>
5574
5575         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5576         (remove_from_group), (normalize_group), (group_migrate_connected),
5577         (gst_opt_scheduler_iterate):
5578         * testsuite/schedulers/.cvsignore:
5579         * testsuite/schedulers/Makefile.am:
5580         * testsuite/schedulers/queue_link.c: (main):
5581         Added testcase for scheduler segfault.
5582         Fix scheduler segfault when removing a decoupled
5583         entry point as the last element from a group.
5584
5585 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5586
5587         * gst/gstmarshal.list: add missing marshaller, fixes build
5588
5589 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5590
5591         * docs/random/signal: added notes about using BOXED for GstBuffer
5592         signal marshallers, not POINTER
5593
5594 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5595
5596         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5597         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
5598         POINTER=>BOXED changes to marshal GstBuffers
5599
5600 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5601
5602         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
5603         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
5604
5605 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
5606
5607         * docs/gst/gstreamer-sections.txt:
5608         * docs/gst/tmpl/gstcaps.sgml:
5609         * docs/gst/tmpl/gsterror.sgml:
5610         * docs/gst/tmpl/gstinfo.sgml:
5611         * docs/gst/tmpl/gstmacros.sgml:
5612         * docs/gst/tmpl/gstutils.sgml:
5613         * docs/random/ensonic/interfaces.txt:
5614         * gst/gstinfo.h:
5615           added some more docs, removed two obsolete defines
5616
5617 2004-11-02  Kjartan Maraas <as at gnome.org>
5618
5619         reviewed by: Wim Taymans, Ronald Bultje.
5620
5621         * gst/cothreads.c: (cothread_create):
5622         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5623         (gst_bin_child_state_change_func):
5624         * gst/gstbuffer.c: (gst_buffer_span):
5625         * gst/gstelement.c: (gst_element_get_index),
5626         (gst_element_get_event_masks), (gst_element_get_query_types),
5627         (gst_element_get_formats):
5628         * gst/gsterror.c: (_gst_core_errors_init),
5629         (_gst_library_errors_init), (_gst_resource_errors_init),
5630         (_gst_stream_errors_init):
5631         * gst/gstobject.c: (gst_object_default_deep_notify):
5632         * gst/gstpad.c: (gst_pad_get_event_masks),
5633         (gst_pad_get_internal_links_default):
5634         * gst/gstplugin.c: (gst_plugin_register_func),
5635         (gst_plugin_get_module):
5636         * gst/gststructure.c: (gst_structure_get_string),
5637         (gst_structure_get_abbrs), (gst_structure_from_abbr),
5638         (gst_structure_to_abbr):
5639         * gst/gstutils.c: (gst_print_element_args):
5640         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5641         (setup_group_scheduler), (gst_opt_scheduler_iterate):
5642         Aplied part of patch #157127: Cleanup of issues reported by 
5643         sparse.
5644         Also do not try to use cothreads when there is no cothread
5645         context yet.
5646
5647 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
5648
5649         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5650         (gst_opt_scheduler_iterate):
5651         Applied patch #154061. Running a pipeline in which an element 
5652         calls GST_ELEMENT_ERROR in the chain function, the opt 
5653         scheduler doesn't unref the chain so it never gets freed.
5654
5655 2004-11-02  Wim Taymans  <wim@fluendo.com>
5656
5657         * gst/gststructure.c: (gst_structure_get_abbrs),
5658         (gst_structure_from_abbr), (gst_structure_to_abbr):
5659         Remove that ugly if-then thing in the code that converts
5660         between strings and types.
5661
5662 2004-11-02  Wim Taymans  <wim@fluendo.com>
5663
5664         * gst/gstscheduler.c: (gst_scheduler_add_element),
5665         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
5666         Aplied clock distribution patch, this should fix bug
5667         #148787.
5668
5669 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5670
5671         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
5672
5673         * po/LINGUAS:
5674         * po/nb.po:
5675           Added Norwegian Bokmaal translation
5676
5677 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5678
5679         * tools/gst-inspect.c: (print_signal_info):
5680           print signal arguments as pointers if they are
5681
5682 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
5683
5684         * docs/pwg/building-boiler.xml:
5685           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
5686
5687 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5688
5689         * gst/parse/parse.l:
5690         * testsuite/parse/parse1.c: (main):
5691         Since parse can do 'element name=a:b' make 'a:b.' work as
5692         well. 
5693         Added testcase to verify fix.
5694
5695 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5696
5697         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
5698         Use the realpad when printing the direction.
5699         Add extra \n when printing extensions of typefind factories.
5700
5701 2004-10-13  David Schleef  <ds@schleef.org>
5702
5703         * examples/manual/Makefile.am: $< isn't portable in Makefile
5704         rules.
5705
5706 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
5707
5708         * docs/gst/tmpl/gstobject.sgml:
5709         * docs/gst/tmpl/gstplugin.sgml:
5710         * docs/gst/tmpl/gstpluginfeature.sgml:
5711         * docs/gst/tmpl/gstregistry.sgml:
5712         * docs/gst/tmpl/gstversion.sgml:
5713         * gst/gstbin.c:
5714           more api documentation
5715         * gst/gstplugin.c: (gst_plugin_register_func),
5716         (gst_plugin_check_file), (gst_plugin_load_file):
5717           better error signaling and logging
5718
5719 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5720
5721         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
5722           Subtract current queue contents from position queries.
5723
5724 2004-10-11  Johan Dahlin  <johan@gnome.org>
5725
5726         * gst/gsturi.c (gst_uri_get_location): unescape string
5727         (gst_uri_construct): escape string.
5728
5729 2004-10-11  Benjamin Otte  <otte@gnome.org>
5730
5731         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
5732         (gst_pad_try_set_caps_nonfixed):
5733           allow renegotiation of unconnected pads (as inside spider). Simply
5734           return OK if unconnected - mimic try_set_caps there.
5735
5736 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5737
5738         * gst/gstbin.c: (gst_bin_sync_children_state):
5739           Add missing break.
5740
5741 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5742
5743         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
5744         Set element to EOS before sending EOS event
5745
5746 2004-10-08  Wim Taymans  <wim at fluendo dot com>
5747
5748         * gst/elements/gsttypefindelement.c:
5749         (gst_type_find_element_handle_event):
5750         Handle EOS events when doing the transition from
5751         typefind to data passing. This should fix the
5752         infinite loops in short files.
5753
5754 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5755
5756         * gst/gstthread.c: (gst_thread_change_state),
5757         (gst_thread_child_state_change):
5758         Make sure no iteration happens while performing
5759         the state change as it could mess up the internal
5760         consistency of the thread state.
5761
5762 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5763
5764         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
5765         (gst_thread_change_state), (gst_thread_child_state_change):
5766         Do not try to grab the iterate lock in the state change method
5767         when we are in the same thread as the iterate or else we
5768         could deadlock. Some other cleanups.
5769
5770 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5771
5772         * configure.ac:
5773           bump nano to cvs
5774
5775 === release 0.8.7 ===
5776
5777 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5778
5779         * configure.ac:
5780         * NEWS:
5781         * RELEASE:
5782         * configure.ac:
5783           releasing 0.8.7, "A Cruise"
5784
5785 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5786
5787         * docs/random/mimetypes:
5788         Add an entry for Sony ATRAC3 audio format with mime-type
5789         used by rmdemux et riff-read
5790
5791 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5792
5793         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5794         Push the buffer store instead of clearing it in case that
5795         the stream is not seekable.
5796
5797 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5798
5799         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
5800         (gst_thread_main_loop):
5801         Lock the iteration and the state change so that automatic
5802         negotiation and fixation does not happen at the same time
5803         as the in stream negotiation.
5804
5805 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5806
5807         * configure.ac:
5808           bump nano to cvs
5809
5810 === release 0.8.6 ===
5811
5812 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5813
5814         * configure.ac:
5815         * NEWS:
5816         * RELEASE:
5817         * configure.ac:
5818           releasing 0.8.6, "Narc"
5819
5820 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5821
5822         * configure.ac:
5823           prerel bump
5824
5825 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5826
5827         patch by: Steve Lhomme
5828
5829         * gst/elements/gstfakesrc.c:
5830         * gst/elements/gstidentity.c:
5831         * gst/gstthread.c:
5832           Fix for #153881
5833
5834 2004-10-01  Wim Taymans  <wim at fluendo dot com>
5835
5836         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5837         Fix threadsafety of the crc checking function.
5838
5839 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5840
5841         patch by: Ronald Bultje
5842
5843         * gst/elements/gsttypefindelement.c: (stop_typefinding),
5844         (gst_type_find_element_handle_event),
5845         (gst_type_find_element_chain):
5846         * gst/elements/gsttypefindelement.h:
5847          #153657.
5848          Filter out discont event from seekable sources when typefind
5849          asks them to seek.  Fixes typefind with demuxers for
5850          avi, asf and matroska.
5851
5852 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5853
5854         * docs/gst/gstreamer-sections.txt:
5855         * gst/gstcaps.c:
5856         * gst/gstcaps.h:
5857         * gst/gstpad.c:
5858           Revert preferred caps: (#147789)
5859
5860 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
5861
5862         * win32/dirent.c:
5863           fix a memory leak
5864
5865 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5866
5867         * configure.ac:
5868           bump for prerelease
5869
5870 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5871
5872         * docs/Makefile.am:
5873         * docs/manual/elements-api.xml:
5874           restructure so that common stuff is shown first
5875         * docs/manual/init-api.xml:
5876           convert to examples
5877         * docs/manual/manual.xml:
5878         * docs/manuals.mak:
5879         * docs/url.entities:
5880           link to API on the website, possibly override later in build
5881         * examples/manual/.cvsignore:
5882           ignore more
5883         * examples/manual/Makefile.am:
5884           add more examples
5885         * examples/manual/extract.pl:
5886           error out on failure
5887
5888 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5889
5890         * docs/gst/tmpl/gstthread.sgml:
5891         * docs/manual/init-api.xml:
5892         * examples/manual/Makefile.am:
5893           convert two code bits to examples
5894
5895 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5896
5897         * gst/gstelement.c: (gst_element_change_state):
5898           Well, actually, I was about to remove this insane assert when
5899           I noticed Wim already did that. A warning is nice so we can
5900           fix actual ugs (using --g-fatal-warnings and backtraces), so
5901           I added that instead.
5902
5903 2004-09-06  Wim Taymans  <wim@fluendo.com>
5904
5905         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
5906         (gst_element_threadsafe_properties_post_run),
5907         (gst_element_set_state), (gst_element_change_state):
5908         Added extra refcounting around various places. 
5909
5910 2004-09-06  Wim Taymans  <wim@fluendo.com>
5911
5912         * gst/gstpad.c: (gst_pad_link_call_link_functions):
5913         Fix debug info.
5914
5915 2004-09-06  Wim Taymans  <wim@fluendo.com>
5916
5917         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5918         (remove_from_group):
5919         Some more debug info.
5920
5921 2004-09-03  Wim Taymans  <wim@fluendo.com>
5922
5923         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5924         (gst_fakesrc_init), (gst_fakesrc_set_clock),
5925         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5926         (gst_fakesrc_get), (gst_fakesrc_change_state):
5927         * gst/elements/gstfakesrc.h:
5928         * gst/elements/gstidentity.c: (gst_identity_class_init),
5929         (gst_identity_init), (gst_identity_chain),
5930         (gst_identity_set_property), (gst_identity_get_property),
5931         (gst_identity_change_state):
5932         * gst/elements/gstidentity.h:
5933         Added datarate properties to limit the datarate.
5934
5935 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5936
5937         * gst/autoplug/gstspider.c: (plugin_init):
5938           don't set a rank. We don't want to autoplug by inserting spiders.
5939
5940 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5941
5942         * gst/autoplug/gstspider.c: (gst_spider_class_init),
5943         (gst_spider_identity_plug):
5944           add a template for spider's sink
5945         * gst/gst.c: (gst_register_core_elements):
5946           queue's rank should be NULL, we don't want spider to add it.
5947
5948 2004-08-18  David Schleef  <ds@schleef.org>
5949
5950         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
5951         * docs/libs/Makefile.am: same
5952         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
5953         * docs/random/ds/0.9-planning: random additions
5954         * docs/random/ds/0.9-suggested-changes: same
5955         * gst/gstxml.h: remove vestigal GstXMLNs definition
5956
5957         Preferred caps: (#147789)
5958         * docs/gst/gstreamer-sections.txt: Add symbols
5959         * docs/gst/tmpl/gstcaps.sgml: Add symbols
5960         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
5961         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
5962         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
5963         (gst_caps_get_preferred), (gst_caps_set_preferred),
5964         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
5965         (gst_caps_use_preferred): Handle caps preferences
5966         * gst/gstcaps.h: Add caps preferences
5967         * gst/gstpad.c: (gst_pad_link_get_preferred),
5968         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
5969         (gst_pad_renegotiate), (gst_pad_guess_preferred),
5970         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
5971         negotiation.
5972
5973 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5974
5975         * gst/autoplug/gstspideridentity.c:
5976         (gst_spider_identity_request_new_pad):
5977         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
5978         (gst_aggregator_init):
5979         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
5980         (gst_fakesink_init):
5981         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
5982         (gst_fakesrc_init):
5983         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
5984         (gst_fdsink_init):
5985         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
5986         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
5987         (gst_filesink_init):
5988         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
5989         (gst_filesrc_init):
5990         * gst/elements/gstidentity.c: (gst_identity_base_init),
5991         (gst_identity_init):
5992         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
5993         (gst_multifilesrc_init):
5994         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
5995         (gst_pipefilter_init):
5996         * gst/elements/gststatistics.c: (gst_statistics_base_init),
5997         (gst_statistics_init):
5998         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
5999         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6000           s/gst_pad_new/&_from_template/
6001           register pad templates in the base_init function
6002           add static pad template definitions
6003
6004 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6005
6006         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6007         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6008         * testsuite/refcounting/pad.c: (main):
6009         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6010           s/gst_pad_new/&_from_template/
6011           prepare deprecation of gst_pad_new
6012
6013 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6014
6015         patch by: Luca Ognibene <skaboy81@virgilio.it>
6016
6017         * gst/gstcaps.c:
6018         * gst/gstelement.c:
6019         * gst/gstpad.c:
6020         * gst/gstxml.c:
6021           fix memleaks.  Fixes #150001
6022
6023 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6024
6025         * docs/random/ds/0.9-suggested-changes:
6026           add notes - mostly about pad templates
6027
6028 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6029
6030         * win32/GStreamer.vcproj:
6031           temporary locale files are .gmo not .mo
6032
6033 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6034
6035         * configure.ac: bump nano to cvs
6036
6037 === release 0.8.5 ===
6038
6039 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6040
6041         * configure.ac:
6042           releasing 0.8.5, "Stuttgart"
6043         * NEWS:
6044         * RELEASE:
6045         * configure.ac:
6046         * docs/random/release:
6047           updates for release
6048
6049 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6050
6051         patch by: Wim Taymans (wim@fluendo.com)
6052
6053         * gst/gstbuffer.c:
6054         * gst/gstindex.h:
6055         * libs/gst/dataprotocol/dataprotocol.c:
6056           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6057
6058 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6059
6060         * Makefile.am:
6061         * win32/MANIFEST:
6062           add win32 dir to the build.  Fixes #149981.
6063
6064 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6065
6066         * configure.ac:
6067           bump libtool versioning
6068         * gst/gststructure.c:
6069           mark function as static
6070         * po/af.po:
6071         * po/az.po:
6072         * po/ca.po:
6073         * po/cs.po:
6074         * po/en_GB.po:
6075         * po/fr.po:
6076         * po/nl.po:
6077         * po/sq.po:
6078         * po/sr.po:
6079         * po/sv.po:
6080         * po/tr.po:
6081         * po/uk.po:
6082           translations update
6083         * win32/README.txt:
6084           trademark protection
6085
6086 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6087
6088         * configure.ac:
6089           fix GST_ORIGIN
6090           set GST_PACKAGE to source, and distinguish between release and other
6091         * tools/gst-inspect.c:
6092           print out plugin an element factory is part of so we see this info
6093
6094 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6095
6096         * docs/gst/gstreamer-sections.txt:
6097         * docs/gst/tmpl/gstbuffer.sgml:
6098         * docs/gst/tmpl/gstschedulerfactory.sgml:
6099           reorder docs a little, make GstBuffer's more sensible.
6100         * gst/gstbuffer.h:
6101           API: added GST_BUFFER_FLAG_DELTA_UNIT
6102         * gst/gstscheduler.c:
6103           comment API addition
6104
6105 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6106
6107         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6108           work with non-regular files that can be mmapped (like /dev/zero)
6109         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6110           get rid of typefinds that require a seek when we can't seek instead
6111           of trying them over and over again
6112         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6113           return non-zero failure value when the pipeline was interrupted or
6114           an error occurred
6115
6116 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6117
6118         * win32/config.h:
6119         * win32/GStreamer.vcproj:
6120           compile and install the locales
6121
6122 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6123
6124         * gst/gstvalue.c:
6125           fix a possible memory leak under Windows
6126
6127 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6128
6129         * win32/GStreamer.vcproj:
6130           fix a memory leak that occured under Windows
6131         * win32/gstreamer.def:
6132           add gst_scheduler_register
6133
6134 2004-08-11  Benjamin Otte  <otte@gnome.org>
6135
6136         * docs/gst/gstreamer-sections.txt:
6137         * gst/gstscheduler.c: (gst_scheduler_register):
6138         * gst/gstscheduler.h:
6139           API:
6140           add gst_scheduler_register shortcut similar to gst_element_register
6141         * gst/schedulers/entryscheduler.c: (plugin_init):
6142         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6143         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6144           use it
6145
6146 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6147
6148         * gst/gstvalue.h:
6149           fix a memory leak that occured under Windows
6150
6151 2004-08-10  Colin Walters  <walters@redhat.com>
6152
6153         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6154         Don't use O_EXCL to open temporary registry.  It will prevent
6155         registry creation if a temporary one already exists, which
6156         is unnecessary.
6157
6158 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6159
6160         * docs/gst/gstreamer-sections.txt:
6161         * docs/gst/tmpl/gstvalue.sgml:
6162           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6163
6164 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6165
6166         * win32/gstbytestream.vcproj:
6167         * win32/gstelements.vcproj:
6168         * win32/gstgetbits.vcproj:
6169         * win32/gst-inspect.vcproj:
6170         * win32/gst-launch.vcproj:
6171         * win32/gstoptimalscheduler.vcproj:
6172         * win32/GStreamer.vcproj:
6173         * win32/gst-register.vcproj:
6174         * win32/gstspider.vcproj:
6175           update the include and lib dirs to fit standard libraries as
6176           described in the Win32 manual
6177
6178 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6179
6180         * win32/config.h:
6181         * win32/gstversion.h:
6182           enable NLS again, push the version number for the coming 0.8.5 release
6183
6184 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6185
6186         * gst/gstvalue.h:
6187           export gst_type_XXX for windows DLLs
6188
6189 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6190
6191         * docs/faq/gst-uninstalled:
6192           fix PKG_CONFIG_PATH and PYTHONPATH
6193         * gst/schedulers/Makefile.am:
6194           cleanup
6195         * libs/gst/bytestream/bytestream.c:
6196           remove newline
6197         * po/LINGUAS:
6198         * po/sq.po:
6199           adding Albanian translation (Laurent Dhima)
6200         * po/cs.po:
6201           updated
6202
6203 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6204
6205         * po/ca.po:
6206         * po/sv.po:
6207           updated translations
6208
6209 2004-08-04  Benjamin Otte  <otte@gnome.org>
6210
6211         * tests/mass_elements.c: (main):
6212           allow specifying src and sink element explicitly, so I can test
6213           videotestsrc instead of fakesrc
6214
6215 2004-08-04  Benjamin Otte  <otte@gnome.org>
6216
6217         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6218         (gst_structure_id_empty_new), (gst_structure_empty_new),
6219         (gst_structure_copy):
6220           add gst_structure_id_empty_new_with_size to allow preallocating
6221           value array sizes. Use this in gst_structure_copy to get rid of
6222           reallocs.
6223           don't do quark=>string=>quark when copying structures
6224
6225 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6226
6227         * docs/manual/win32.xml:
6228         * win32/README.txt:
6229           update documentation with the clean version of dependencies
6230
6231 2004-08-03  Benjamin Otte  <otte@gnome.org>
6232
6233         * gst/schedulers/entryscheduler.c:
6234         (gst_entry_scheduler_remove_element):
6235           fix for GST_DISABLE_DEBUG
6236         * tools/gst-launch.c: (print_tag):
6237           fixes for G_DISABLE_ASSERT
6238
6239 2004-08-03  Benjamin Otte  <otte@gnome.org>
6240
6241         * gst/gst.c: (gst_register_core_elements):
6242           fix for G_DISABLE_ASSERT
6243         * gst/gstinfo.c: (__gst_in_valgrind):
6244           add for GST_DISABLE_DEBUG
6245
6246 2004-08-03  Benjamin Otte  <otte@gnome.org>
6247
6248         * gst/parse/parse.l:
6249           fix for G_DISABLE_ASSERT
6250
6251 2004-08-03  Wim Taymans  <wim@fluendo.com>
6252
6253         * gst/gstbin.c: (gst_bin_get_type),
6254         (gst_bin_child_state_change_func):
6255         * gst/gstthread.c: (gst_thread_change_state):
6256         Backported some debug logging from a reverted patch
6257         Don't try to destroy the thread twice. Added some more
6258         debugging in GstThread. Unlock and signal even if we
6259         are in the thread context.
6260
6261 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6262
6263         * po/uk.po:
6264           updated translation
6265
6266 2004-07-30  David Schleef  <ds@schleef.org>
6267
6268         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6269
6270 2004-07-29  David Schleef  <ds@schleef.org>
6271
6272         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6273         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6274
6275 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6276
6277         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6278         (gst_bin_add_func), (gst_bin_remove_func),
6279         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6280         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6281         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6282         (gst_bin_sync_children_state):
6283         * gst/gstbin.h:
6284         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6285         (gst_thread_change_state):
6286         * testsuite/states/Makefile.am:
6287           revert state change patches as agreed so we can rework them
6288           gradually
6289
6290 2004-07-29  Benjamin Otte  <otte@gnome.org>
6291
6292         * libs/gst/control/Makefile.am:
6293           link to libgstreamer (fixes Debian bug 262019, see
6294           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6295
6296 2004-07-29  Wim Taymans  <wim@fluendo.com>
6297
6298         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6299         (check_from_fraction_convert), (transform_test), (main):
6300         Make the test less pedantic about float roundoff errors.
6301
6302 2004-07-29  Benjamin Otte  <otte@gnome.org>
6303
6304         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6305         (gst_filesrc_srcpad_event):
6306           make seek events to before start/after end of file not fail, but
6307           seek to start/end instead
6308         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6309           add more output
6310
6311 2004-07-29  Benjamin Otte  <otte@gnome.org>
6312
6313         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6314           check that caps are fixed
6315         * gst/gstpad.c: (gst_pad_template_new):
6316           don't try to simplify caps, costs too much time on gst_init
6317         * gst/gstplugin.c: (gst_plugin_add_feature):
6318           G_ERROR if features are added twice
6319         * gst/gsttypefind.c: (gst_type_find_register):
6320         * gst/gstelementfactory.c: (gst_element_register):
6321           don't add features twice
6322         * docs/random/ds/0.9-suggested-changes:
6323           add note about possible gst_init optimization
6324
6325 2004-07-28  David Schleef  <ds@schleef.org>
6326
6327         * testsuite/elements/Makefile.am:
6328         * testsuite/elements/struct_i386.h:
6329         * testsuite/elements/struct_size.c: (main):  A little test
6330         to keep distcheck from working if someone changes a structure
6331         size accidentally.
6332
6333 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6334
6335         * docs/libs/Makefile.am:
6336         * docs/libs/gstreamer-libs-docs.sgml:
6337         * docs/libs/gstreamer-libs-sections.txt:
6338         * docs/libs/tmpl/gstbytestream.sgml:
6339         * docs/libs/tmpl/gstcontrol.sgml:
6340         * docs/libs/tmpl/gstdataprotocol.sgml:
6341         * docs/libs/tmpl/gstgetbits.sgml:
6342         * libs/gst/bytestream/Makefile.am:
6343         * libs/gst/bytestream/bytestream.c:
6344         * libs/gst/bytestream/bytestream.h:
6345         * libs/gst/control/Makefile.am:
6346         * libs/gst/dataprotocol/Makefile.am:
6347         * libs/gst/getbits/Makefile.am:
6348         * libs/gst/getbits/getbits.h:
6349           various doc and style fixes, adding bytestream to libs docs.
6350
6351 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6352
6353         * docs/gst/gstreamer-docs.sgml:
6354         * docs/libs/Makefile.am:
6355         * docs/libs/gstreamer-libs-docs.sgml:
6356         * docs/libs/gstreamer-libs-sections.txt:
6357         * libs/gst/control/dparam.c:
6358           more doc fixes.  gst-libs docs now build the same way as gst.
6359
6360 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6361
6362         * configure.ac:
6363         * testsuite/Makefile.am:
6364         * testsuite/bins/Makefile.am:
6365         * testsuite/caps/Makefile.am:
6366         * testsuite/cleanup/Makefile.am:
6367         * testsuite/clock/Makefile.am:
6368         * testsuite/debug/Makefile.am:
6369         * testsuite/dlopen/Makefile.am:
6370         * testsuite/dynparams/Makefile.am:
6371         * testsuite/elements/.cvsignore:
6372         * testsuite/elements/Makefile.am:
6373         * testsuite/enumcaps/Makefile.am:
6374         * testsuite/enumcaps/enumcaps.c:
6375         * testsuite/ghostpads/Makefile.am:
6376         * testsuite/indexers/Makefile.am:
6377         * testsuite/negotiation/Makefile.am:
6378         * testsuite/parse/Makefile.am:
6379         * testsuite/plugin/Makefile.am:
6380         * testsuite/refcounting/Makefile.am:
6381         * testsuite/schedulers/.cvsignore:
6382         * testsuite/states/Makefile.am:
6383         * testsuite/tags/Makefile.am:
6384         * testsuite/threads/Makefile.am:
6385           fold enumcaps into caps dir
6386           clean up Makefile.am's for testsuite
6387
6388 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6389
6390         * docs/gst/Makefile.am:
6391         * docs/libs/Makefile.am:
6392           clean up docs build.  Fixes needless rebuilding of template files.
6393
6394 2004-07-28  Wim Taymans  <wim@fluendo.com>
6395
6396         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
6397         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
6398         Make sure that a bin state change tries to keep the children
6399         in sync. 
6400         Added debug logging to the thread.
6401
6402 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6403
6404         * win32/GStreamer.vcproj:
6405         * win32/gstreamer.def:
6406           more exports for the plugins
6407
6408 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6409
6410         * win32/gstgetbits.vcproj:
6411         * win32/gstgetbits.def:
6412         * win32/msvc71.sln:
6413           add support for the getbits plugin
6414
6415 2004-07-27  Wim Taymans  <wim@fluendo.com>
6416
6417         * gst/gstvalue.c: (gst_value_transform_double_fraction),
6418         (gst_value_transform_fraction_double), (_gst_value_initialize):
6419         * testsuite/caps/Makefile.am:
6420         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6421         (check_from_fraction_convert), (transform_test), (main):
6422         Added transform functions between double and fraction.
6423         Added testcase to verify transforms
6424
6425 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6426
6427         * win32/GStreamer.vcproj:
6428           rename GStreamer-0.8.lib to libgstreamer.lib
6429
6430 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6431
6432         * win32/gstelements.vcproj:
6433         * win32/gstoptimalscheduler.vcproj:
6434           fixes for the Release build
6435
6436 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6437
6438         * win32/config.h:
6439           update the version number
6440
6441 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6442
6443         * win32/GStreamer.vcproj:
6444           add gstinterface to the build
6445
6446 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6447
6448         * win32/gstreamer.def:
6449           add many definitions needed by plugins,
6450           GST_CAT_DEFAULT only available in the Debug build ?
6451
6452 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6453
6454         * gst/gstelement.c: (gst_element_set_eos_recursive):
6455           various whitespace fixes.
6456           doc fix, fixes #148497
6457
6458 2004-07-25  Benjamin Otte  <otte@gnome.org>
6459
6460         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
6461           don't delay links on the sink elements, it causes unnegotiated
6462           links.
6463         * gst/elements/gsttypefindelement.c:
6464         (gst_type_find_element_base_init):
6465           add our padtemplates, we indeed do have some.
6466         * gst/elements/gsttypefindelement.c:
6467         (gst_type_find_element_handle_event),
6468         (gst_type_find_element_chain):
6469           don't push data when typefinding failed.
6470         * gst/gstpad.c: (gst_pad_link_fixate):
6471           check that no fixate function returns empty caps.
6472         * gst/gstpad.c: (gst_pad_push):
6473           check that the link is negotiated before data gets pushed.
6474         * tools/gst-register.c: (main):
6475           don't assert (fixes #148283)
6476
6477 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6478
6479         * docs/gst/gstreamer-sections.txt:
6480         * docs/gst/tmpl/gstconfig.sgml:
6481           add GST_PLUGIN_EXPORT definition
6482
6483 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6484
6485         * gst/gstplugin.h:
6486         * gst/gstconfig.h.in:
6487         * win32/gstconfig.h:
6488         * win32/gstelements.def:
6489         * win32/gstelements.vcproj:
6490         * win32/gstoptimalscheduler.def:
6491         * win32/gstoptimalscheduler.vcproj:
6492         * win32/gstspider.def:
6493         * win32/gstspider.vcproj:
6494           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
6495
6496 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6497
6498         * docs/gst/gstreamer-sections.txt:
6499           remove GST_CAT_DEFAULT because the type has changed
6500
6501 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6502
6503         * win32/gstbytestream.vcproj:
6504         * win32/gstelements.vcproj:
6505         * win32/gst-inspect.vcproj:
6506         * win32/gst-launch.vcproj:
6507         * win32/gstoptimalscheduler.vcproj:
6508         * win32/GStreamer.vcproj:
6509         * win32/gst-register.vcproj:
6510         * win32/gstspider.vcproj:
6511         * win32/msvc71.sln:
6512           Copy the files where needed after building, The testsuite will be
6513           built separately
6514
6515 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6516
6517         * win32/config.h:
6518         * win32/README.txt:
6519         * docs/manual/win32.xml:
6520         Fixed the plugin and GStreamer location
6521
6522 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6523
6524         * win32/gstreamer.def:
6525         More exports for the plugins
6526
6527 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6528
6529         * gst/gstinfo.h:
6530         Marc was right, we need to export literally GST_CAT_DEFAULT
6531
6532 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6533
6534         * win32/config.h:
6535         NLS crashes in gettext, disabled until this is solved
6536
6537 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6538
6539         * win32/gst-inspect.vcproj:
6540         * win32/gst-launch.vcproj:
6541         Should use NLS when available
6542
6543 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6544
6545         * gst/registries/gstxmlregistry.c:
6546         removing the file doesn't seem to be a good idea on Linux
6547
6548 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6549
6550         * gst/registries/gstxmlregistry.c:
6551         Remove the registry before renaming the tempfile (needed for Windows)
6552
6553 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6554
6555         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
6556         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
6557         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
6558         * gst/elements/gstmultifilesrc.h:
6559         Added newmedia property so it generates newmedia events between each
6560         file when property is set, as well as fixed eos handling
6561
6562 2004-07-22  David Schleef  <ds@schleef.org>
6563
6564         * gst/gststructure.c: (gst_structure_id_empty_new),
6565         (gst_structure_empty_new):  Set type field correctly.
6566         * gst/gststructure.h: Check type field correctly.
6567         * testsuite/caps/Makefile.am:
6568         * testsuite/caps/structure.c: (test1), (main): Add a very small
6569         test for structures.
6570
6571 2004-07-22  David Schleef  <ds@schleef.org>
6572
6573         * docs/random/ds/0.9-suggested-changes: more comments
6574         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
6575
6576 2004-07-22  Benjamin Otte  <otte@gnome.org>
6577
6578         * gst/gstelementfactory.c: (gst_element_register):
6579           set the factory in the class struct, so gst_element_get_factory
6580           actually works
6581         * gst/parse/grammar.y:
6582           set element to playing when it gets unlocked as we can't rely on the
6583           bin state - all elements in the bin state might still be locked in
6584           NULL)
6585
6586 2004-07-22  Benjamin Otte  <otte@gnome.org>
6587
6588         * gst/gstelement.c: (gst_element_set_state_func):
6589           make this a static function
6590
6591 2004-07-22  Wim Taymans  <wim@fluendo.com>
6592
6593         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6594         (gst_opt_scheduler_pad_link):
6595         fix 147894-2 and the group_link problem.
6596
6597 2004-07-22  Wim Taymans  <wim@fluendo.com>
6598
6599         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6600         (handoff_identity), (main):
6601         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6602         (handoff_identity), (main):
6603         * testsuite/schedulers/Makefile.am:
6604         * testsuite/schedulers/group_link.c: (main):
6605         Show bug in scheduler when linking chain and loop based element 
6606         where the chain based element was not yet in a group.
6607
6608 2004-07-21  Benjamin Otte  <otte@gnome.org>
6609
6610         * gst/.cvsignore:
6611         * gst/autoplug/.cvsignore:
6612         * gst/elements/.cvsignore:
6613         * gst/indexers/.cvsignore:
6614         * libs/gst/bytestream/.cvsignore:
6615         * libs/gst/control/.cvsignore:
6616         * libs/gst/getbits/.cvsignore:
6617         * testsuite/states/.cvsignore:
6618         * testsuite/threads/.cvsignore:
6619           keep this up to date, since I seem to be the only one who cares
6620           about not missing files on commits (editor's note: no you don't,
6621           but feel free to change them at the time you add stuff instead
6622           of later on)
6623
6624 2004-07-21  Benjamin Otte  <otte@gnome.org>
6625
6626         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6627         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
6628         (gst_bin_child_state_change_func), (set_kid_state_func),
6629         (gst_bin_set_state), (gst_bin_change_state_norecurse):
6630           make state changes work correctly and reentrant (so removing
6631           elements from bins during state changes of bins doesn't cause
6632           segfaults or even wrong states)
6633           add debugging category and debugging output to print children states
6634         * gst/gstbin.c: (gst_bin_dispose): 
6635           add some assertion checks
6636         * gst/gstbin.h:
6637         * gst/gstbin.c: (gst_bin_sync_children_state):
6638           deprecate this function - it just does gst_bin_set_state (bin,
6639           GST_STATE (bin)) 
6640         * testsuite/threads/queue.c: (main):
6641           don't use gst_bin_sync_children_state anymore
6642         * testsuite/states/Makefile.am:
6643         * testsuite/states/bin.c:
6644           test that the state changes of bins work as expected
6645         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
6646           some adjustments to change states correctly, too
6647         * gst/gstthread.c: (gst_thread_change_state):
6648           don't enable/disable "threadsafe" properties, they're unused and
6649           cause random segfaults
6650         * testsuite/threads/Makefile.am:
6651           the queue check randomly passes now, ignore it
6652
6653 2004-07-21  Benjamin Otte  <otte@gnome.org>
6654
6655         * gst/gstpad.c:
6656           check if data is NULL before outputting debug info. (fixes #145100)
6657
6658 2004-07-21  Benjamin Otte  <otte@gnome.org>
6659
6660         * gst/schedulers/entryscheduler.c:
6661         (gst_entry_scheduler_loop_wrapper),
6662         (gst_entry_scheduler_chain_wrapper),
6663         (gst_entry_scheduler_get_wrapper):
6664           reset the state when the cothread starts, so we don't get assertion
6665           failures on restarting of cothreads
6666
6667 2004-07-20  Benjamin Otte  <otte@gnome.org>
6668
6669         * gst/gstelement.c: (gst_element_link_pads_filtered):
6670           use correct sinkpad, if only sinkpad is specified, but not srcpad
6671           (fixes #147889)
6672         * gst/gstelement.c: (gst_element_set_state_func),
6673         (gst_element_change_state): ref/unref the element, signal handlers
6674         could get rid of the element otherwise
6675
6676 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6677
6678         * docs/random/ds/0.9-suggested-changes:
6679           Make note about renaming fixed-list to array.
6680         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
6681         (_gst_value_initialize):
6682           Add array intersections.
6683         * testsuite/caps/intersect2.c: (main):
6684           Add test for array intersections.
6685
6686 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6687
6688         * configure.ac: back to cvs
6689
6690 === release 0.8.4 ===
6691
6692 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6693
6694         * configure.ac:
6695           releasing 0.8.4, "Paella"
6696           bump libtool versioning
6697
6698 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6699
6700         * po/LINGUAS:
6701         * po/ca.po:
6702           adding Catalan translation (Jordi Mallach)
6703
6704 2004-07-20  Wim Taymans  <wim@fluendo.com>
6705
6706         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6707         (handoff_identity), (main):
6708         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6709         (handoff_identity), (main):
6710         * testsuite/schedulers/Makefile.am:
6711         Added failing testcase for variant of #147894
6712
6713 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6714
6715         patch by: David Moore
6716
6717         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6718         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
6719         (group_migrate_connected):
6720         * testsuite/schedulers/Makefile.am:
6721           fix for #142813 (Deadlock in optimal scheduler)
6722
6723 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6724
6725         patch by: Wim Taymans
6726
6727         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6728         (gst_opt_scheduler_schedule_run_queue),
6729         (gst_opt_scheduler_get_wrapper), (get_group),
6730         (group_migrate_connected):
6731         * testsuite/schedulers/Makefile.am:
6732           fix for #147819 (Add some checks in the opt scheduler)
6733
6734 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6735
6736         patch by: Benjamin Otte
6737
6738         * gst/gstelementfactory.c: (__gst_element_details_set):
6739           fix for #147929: running gst-register in non-utf8 locale can cause
6740           invalid registry
6741
6742 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6743
6744         patch by: Wim Taymans
6745
6746         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
6747         (group_has_element), (element_get_reachables_func),
6748         (group_migrate_connected):
6749           fix for #147894 (opt scheduler decoupled elements mismanagement)
6750         * testsuite/schedulers/Makefile.am:
6751           testsuite app now passes
6752
6753 2004-07-19  Wim Taymans  <wim@fluendo.com>
6754
6755         * testsuite/schedulers/147819.c: (handoff_identity1),
6756         (handoff_identity2), (main):
6757         * testsuite/schedulers/Makefile.am:
6758         Added testcase for bug 147819
6759
6760 2004-07-19  Wim Taymans  <wim@fluendo.com>
6761
6762         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6763         (handoff_identity), (main):
6764         * testsuite/schedulers/Makefile.am:
6765         Added testcase for bug 147894
6766
6767 2004-07-16  Wim Taymans  <wim@fluendo.com>
6768
6769         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
6770         * testsuite/schedulers/142183.c: (handoff_identity), (main):
6771         * testsuite/schedulers/Makefile.am:
6772         Added testsuite for bug 142183 in its two incarnations. Refcount
6773         is not increased for scheduled elements and threadsafe properties
6774         mutexes are not properly unlocked.
6775
6776 2004-07-16  Wim Taymans  <wim@fluendo.com>
6777
6778         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
6779         (create_chain), (destroy_chain), (create_group), (destroy_group),
6780         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
6781         (group_dec_link), (gst_opt_scheduler_pad_link),
6782         (group_inc_links_for_element), (group_migrate_connected):
6783         Call group_inc_link with the proper src->sink ordering -- 
6784         break this, and we break sort_chain. patch from wingo for bug
6785         147713.
6786         Partially revert patch 1.89. When adding a loop based element to 
6787         the scheduler, the links to other groups are automatically followed
6788         and incremented. This should not happen because the bin will call
6789         pad_link explicitly for those connection, resulting in them counted 
6790         twice. Results in assertion failure on pipeline cleanup.
6791
6792 2004-07-16  Wim Taymans  <wim@fluendo.com>
6793
6794         * testsuite/schedulers/143777-2.c: (main):
6795         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
6796         (main):
6797         * testsuite/schedulers/Makefile.am:
6798         Added cleanup code to testcase 143777-2.
6799         Added testcase to show bug 147713, does not really show the
6800         deadlock as I can't figure out how to trigger it, but it does
6801         demonstrate bad ordering in the scheduler.
6802
6803 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6804
6805         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6806           change strndup to g_strndup.  Fixes #147707
6807
6808 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6809
6810         * po/af.po:
6811         * po/az.po:
6812         * po/cs.po:
6813         * po/en_GB.po:
6814         * po/fr.po:
6815         * po/nl.po:
6816         * po/sr.po:
6817         * po/sv.po:
6818         * po/tr.po:
6819         * po/uk.po:
6820           updated translations
6821
6822 2004-07-16  Benjamin Otte  <otte@gnome.org>
6823
6824         * gst/gstvalue.c: (gst_greatest_common_divisor):
6825           use ints and return ints, fractions only use ints, too, so this
6826           avoids accidently casting multiplications to unsigned
6827         (gst_value_lcopy_fraction): it's ints, not uint32
6828         (gst_value_set_fraction): disallow minint, multiplying and negation
6829           are broken with it
6830         (gst_value_fraction_multiply): fix to make large numbers work and get
6831         rid of the assumption that the multiplication of two ints fits an
6832         int64 - dunno if that's true for all systems
6833         * testsuite/caps/Makefile.am:
6834         * testsuite/caps/fraction-multiply-and-zero.c:
6835         (check_multiplication), (check_equal), (zero_test), (main):
6836           add tests for all the stuff above
6837         * testsuite/caps/value_compare.c: (test1):
6838           fix comment
6839         * tests/.cvsignore:
6840         * testsuite/caps/.cvsignore:
6841         * testsuite/debug/.cvsignore:
6842         * testsuite/dlopen/.cvsignore:
6843         * testsuite/states/.cvsignore:
6844           get up to date
6845
6846 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6847
6848         * docs/manual/bins-api.xml:
6849         * docs/manual/factories.xml:
6850         * docs/manual/helloworld.xml:
6851         * docs/manual/links-api.xml: 
6852           fixes for out of date info, incorrect info and grammar
6853
6854 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6855
6856         * docs/manual/pads.xml:
6857         * docs/manual/pads-api.xml: grammar fix
6858
6859 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6860
6861         * docs/manual/pads-api.xml: typo + grammar fix
6862
6863 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6864
6865         * docs/gst/gstreamer-sections.txt:
6866           add new symbols
6867         * docs/gst/tmpl/gstelement.sgml:
6868         * docs/gst/tmpl/gstpad.sgml:
6869         * docs/gst/tmpl/gsttypes.sgml:
6870         * docs/gst/tmpl/gstvalue.sgml:
6871           update docs
6872         * gst/gststructure.c: (gst_structure_set_valist),
6873         (gst_structure_from_abbr), (gst_structure_to_abbr):
6874         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
6875         (gst_greatest_common_divisor), (gst_value_init_fraction),
6876         (gst_value_copy_fraction), (gst_value_collect_fraction),
6877         (gst_value_lcopy_fraction), (gst_value_set_fraction),
6878         (gst_value_get_fraction_numerator),
6879         (gst_value_get_fraction_denominator),
6880         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
6881         (gst_value_deserialize_fraction),
6882         (gst_value_transform_fraction_string),
6883         (gst_value_transform_string_fraction),
6884         (gst_value_compare_fraction), (_gst_value_initialize):
6885         * gst/gstvalue.h:
6886           adding GstFraction GValue type, get/set, and multiply
6887         * testsuite/caps/Makefile.am:
6888         * testsuite/caps/fraction.c: (test), (main):
6889         * testsuite/caps/string-conversions.c: (main):
6890         * testsuite/caps/value_compare.c: (test1), (main):
6891           add regression tests for GstFraction
6892
6893 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6894         
6895         * docs/manual/init-api.xml: Grammar fix
6896
6897 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6898
6899         * docs/manual/states.xml: Fix inconsistent information
6900
6901 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6902
6903         * gst/gstelement.c: (gst_element_set_state):
6904         * gst/gstpad.c: (gst_pad_try_set_caps):
6905         * gst/gststructure.c:
6906         * gst/gstthread.c: (gst_thread_child_state_change):
6907         * gst/gstvalue.c: (gst_value_compare_double):
6908         * gst/gstvalue.h:
6909         * testsuite/parse/parse1.c: (main):
6910           debugging additions and style cleanups
6911
6912 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6913
6914         * docs/manual/states.xml: Grammar fix
6915
6916 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6917
6918         * docs/manual/pads.xml: Grammar fix
6919
6920 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6921
6922         * docs/manual/elements.xml: Fixed image reference
6923
6924 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6925
6926         * docs/manual/goals.xml: Grammar fix
6927
6928 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6929
6930         * docs/manual/motivation.xml:
6931         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
6932
6933 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6934
6935         * docs/manual/motivation.xml: Fix spelling
6936
6937 2004-07-15  Benjamin Otte  <otte@gnome.org>
6938
6939         * gst/gstelement.h: 
6940           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
6941           strings.
6942         * gst/gstelement.c (gst_element_class_init):
6943           GError's are boxed, not objects
6944         * gst/gstmarshal.list:
6945           update list for the fixed error signal
6946
6947 2004-07-14  Andy Wingo  <wingo@pobox.com>
6948
6949         * gst/gsttag.c: Add a tag merge func for pointers. The header was
6950         there all along, but the function wasn't. (guile-gstreamer's build
6951         system uses the address of the function -- I wasn't actually
6952         trying to use this.)
6953
6954 2004-07-14  Andy Wingo  <wingo@pobox.com>
6955
6956         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
6957         as gst_pad_proxy_pad_link) just link to every other pad when they
6958         are called. In the case where the graph has cycles, this will mean
6959         that a call to try_set_caps will recurse. Allow this recursion
6960         and return OK, while we wait for the first try_set_caps to give a
6961         proper return value.
6962         (gst_pad_link_call_link_functions): Since this function is the
6963         only one to set the NEGOTIATING flag on a pad, if the flag is set
6964         it means that the link functions have indirectly recursed. If this
6965         happens, error out to avoid infinite recursion and an eventual
6966         SEGV.
6967         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
6968         (gst_pad_proxy_getcaps): Intersect the result with the template
6969         caps to ensure that the return value is valid.
6970
6971 2004-07-14  Andy Wingo  <wingo@pobox.com>
6972
6973         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
6974         one refcount, the calling function is the owner of the buffer.
6975
6976 2004-07-14  Wim Taymans  <wim@fluendo.com>
6977
6978         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
6979         (gst_opt_scheduler_pad_link), (group_migrate_connected):
6980         Fix stupid warning when an element is to be migrated but
6981         is already migrated.
6982
6983 2004-07-14  Wim Taymans  <wim@fluendo.com>
6984
6985         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
6986         (gst_opt_scheduler_pad_link), (group_migrate_connected):
6987         Make sure that a single non-loop-based element does not 
6988         end up in a group. This fixes the testsuite again.
6989
6990 2004-07-14  Wim Taymans  <wim@fluendo.com>
6991
6992         * gst/schedulers/gstoptimalscheduler.c: (create_group),
6993         (add_to_group), (merge_groups), (schedule_group),
6994         (gst_opt_scheduler_get_wrapper), (group_elements),
6995         (group_dec_link), (gst_opt_scheduler_pad_link),
6996         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
6997         (gst_opt_scheduler_iterate):
6998         move isolated groups to a new chain.
6999         Emit a warning instead of segfaulting in some error cases.
7000         Fix a bug where the link count between groups was not calculated 
7001         correctly. Fixes #144510.
7002
7003 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7004         * gst/elements/gstfilesrc.c:
7005           Binary files support under Windows now OK
7006       
7007 2004-07-13  Benjamin Otte  <otte@gnome.org>
7008
7009           compatibility fixes for Solaris 8/gcc 2.95
7010         * configure.ac:
7011           include libintl libs in LDFLAGS
7012         * gstvalue.c (gst_value_deserialize_buffer):
7013           cast isxdigit stuff to int to silence compiler warning
7014
7015 2004-07-12  Benjamin Otte  <otte@gnome.org>
7016
7017         * gst/gsttypes.h:
7018           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7019           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7020           just causes support madness
7021         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7022           make it work without this
7023         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7024         (gst_file_index_commit):
7025           glib IO channels don't want binary mode
7026         * testsuite/bytestream/filepadsink.c: (main):
7027         * testsuite/bytestream/test1.c: (read_param_file):
7028           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7029
7030 2004-07-12  Benjamin Otte  <otte@gnome.org>
7031
7032         * gst/gstelement.c: (gst_element_class_init),
7033         (gst_element_set_state), (gst_element_set_state_func):
7034           virutalize gst_element_set_state, use set_state member in class
7035           struct that was already added in 0.7 for this.
7036         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7037         (gst_bin_change_state):
7038           make gst_bin_foreach works similar to other foreach functions, plug
7039           memleaks in it. Make functions using it work with the new approach.
7040           Document gst_bin_foreach, so it can be exported if we want to
7041         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7042           use virtualized set_state to make set_state on bins set the state of
7043           all its children.
7044
7045 2004-07-12  Benjamin Otte  <otte@gnome.org>
7046
7047         * configure.ac:
7048           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7049           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7050         * gst/gstpad.c: (gst_pad_alloc_buffer):
7051           allow buffer_alloc functions to return NULL and allocate a normal
7052           buffer in that case
7053
7054 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7055         * gst/elements/gstfilesink.c:
7056         * gst/elements/gstfilesrc.c:
7057         * gst/indexers/gstfileindex.c:
7058         * gst/gsttypes.h:
7059         * testsuite/bytestream/filepadsink.c:
7060         * testsuite/bytestream/test1.c:
7061           Handle binary files under Windows
7062
7063 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7064         * docs/manual/win32.xml:
7065         * win32/config.h:
7066         * win32/gst-register.vcproj:
7067         * win32/gstreamer.def:
7068           Update to another gettext public build
7069
7070 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7071         * gst/gstplugin.c:
7072           Fix an impossible C syntax
7073         * win32/config.h:
7074           Disable i18n under Windows for the moment
7075         * win32/gst-register.vcproj:
7076           Use this configuration
7077
7078 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7079         * docs/manual/quotes.xml:
7080           Keep the quotes file alive
7081         * docs/random/ds/0.9-suggested-changes:
7082           Add the suggestion of including a 'rowstride' as part of video
7083           format caps
7084
7085 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7086
7087         * gst/gstelement.c: (gst_element_set_state),
7088         (gst_element_change_state):
7089           d'oh.  Set PENDING state correctly before forcing bin to change.
7090         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7091         (gst_structure_parse_fixed_list):
7092         * gst/schedulers/gstoptimalscheduler.c:
7093         (gst_opt_scheduler_state_transition):
7094         * testsuite/states/parent.c: (main):
7095           remove comment now that it's fixed.
7096
7097 2004-07-11  Benjamin Otte  <otte@gnome.org>
7098
7099         * gst/gstclock.h:
7100           GST_SECOND shouldn't cause a conversion to unsigned.
7101         * testsuite/clock/.cvsignore:
7102         * testsuite/clock/Makefile.am:
7103         * testsuite/clock/signedness.c: (main):
7104           make sure it never will again
7105
7106 2004-07-11  Andy Wingo  <wingo@pobox.com>
7107
7108         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7109         whose state is higher than the bin state, raise the bin state to
7110         ensure that bin state := highest child state.
7111         
7112 2004-07-11  Andy Wingo  <wingo@pobox.com>
7113
7114         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7115         procedure on the children of a bin. Assumes that the procedure can
7116         change the set of children.
7117         (set_kid_state_func): New static function.
7118         (gst_bin_change_state): Use gst_bin_foreach to call
7119         set_kid_state_func. Fixes a bug: if a child had a state-change
7120         handler that removes it from the bin, there would be a segfault.
7121         Hopefully it should also work in the case where the state-change
7122         handler on one child adds or removes other children. In any case,
7123         fixes should go to gst_bin_foreach.
7124
7125 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7126
7127         * gst/gstelement.c: (gst_element_set_state):
7128           compatibility fix for latest plugins release.  Change loop back
7129           to while {}
7130
7131 2004-07-09  Wim Taymans  <wim@fluendo.com>
7132
7133         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7134         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7135         (gst_thread_main_loop):
7136         Since remove is virtual in GstBin we must not assume the 
7137         elements GList to have anothing useful.
7138         Add some more logging to GstThread and be a bit more paranoid
7139         when resetting the scheduler.
7140         Set the state of the bin to NULL before removing the children.
7141
7142 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7143
7144         * testsuite/threads/Makefile.am:
7145         * testsuite/threads/threadg.c:
7146           added test to check if problem when removing all elements from a
7147           GstThread before setting GstThread state to NULL
7148
7149 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7150
7151         * docs/gst/tmpl/gstelement.sgml:
7152         * docs/gst/tmpl/gsttypes.sgml:
7153         * gst/gstbin.c: (gst_bin_change_state):
7154         * gst/gstelement.c: (gst_element_set_state),
7155         (gst_element_change_state):
7156           rework so that for bins we try to set the state on all children
7157           as well even if the bin is in the correct state already.
7158           change while to do so at least one iteration is done.
7159           For regular elements, we fall back to the previous behaviour for
7160           now since we first need a new plugins release.
7161         * testsuite/states/parent.c: (main):
7162           test for this case
7163           Fixes #123774
7164
7165 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7166
7167         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7168         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7169         (gst_queue_release_locks), (gst_queue_change_state),
7170         (gst_queue_set_property):
7171           add proper lock debugging.  Change dispose to finalize, since
7172           we're freeing mutexes and other stuff which should happen only once.
7173
7174 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7175
7176         * docs/gst/tmpl/gstelement.sgml:
7177         * docs/gst/tmpl/gstplugin.sgml:
7178         * docs/gst/tmpl/gsttypes.sgml:
7179         * docs/pwg/building-state.xml:
7180         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7181         * gst/gstelement.c: (gst_element_change_state):
7182         * gst/gstthread.c: (gst_thread_change_state):
7183           catch wrong state changes in element base class.
7184
7185 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7186
7187         * gst/gstinfo.h:
7188           clean up layout a little.
7189
7190 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7191
7192         * configure.ac:
7193         * testsuite/Makefile.am:
7194         * testsuite/states/Makefile.am:
7195         * testsuite/states/parent.c: (main):
7196           re-enable states testsuite dir.  Add test for state changes and
7197           parent behaviour
7198
7199 2004-07-09  Wim Taymans  <wim@fluendo.com>
7200
7201         * gst/schedulers/gstoptimalscheduler.c:
7202         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7203         (element_get_reachables_func), (element_get_reachables),
7204         (debug_element), (rechain_group), (group_migrate_connected),
7205         (gst_opt_scheduler_pad_unlink):
7206         Do not try to migrate decoupled elements to a new group since
7207         they are not added to groups.
7208
7209 2004-07-08  Benjamin Otte  <otte@gnome.org>
7210
7211         * gst/gstelement.c: (gst_element_error_func):
7212           make reentrant (= allow removing elements in error handler)
7213
7214 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7215
7216         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7217         (gst_pad_send_event), (gst_pad_call_chain_function):
7218           events sent to elements below PAUSED cannot be handled, so
7219           don't try to
7220
7221 2004-07-08  Wim Taymans  <wim@fluendo.com>
7222
7223         * gst/schedulers/gstoptimalscheduler.c:
7224         (chain_recursively_migrate_group), (create_group),
7225         (schedule_group), (gst_opt_scheduler_pad_link),
7226         (group_elements_set_visited), (element_get_reachables_func),
7227         (element_get_reachables), (group_can_reach_group), (debug_element),
7228         (rechain_group), (group_migrate_connected),
7229         (gst_opt_scheduler_pad_unlink):
7230         * testsuite/schedulers/Makefile.am:
7231         Implemented group splitting and rechaining.
7232         Fixes 143777 and 143777-2 in the testsuite.
7233
7234 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7235
7236         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7237           extra debugging
7238         * gst/gstevent.h:
7239         * gst/gstinfo.c: (gst_debug_log_default):
7240           print time nicely.  add thread pointer until someone figures out
7241           a completely portable way of getting at thread id's.
7242         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7243         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7244         (gst_pad_call_chain_function):
7245           extra debugging
7246         * gst/schedulers/gstoptimalscheduler.c:
7247         (get_group_schedule_function), (loop_group_schedule_function),
7248         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7249         (pad_clear_queued), (gst_opt_scheduler_iterate):
7250           rename BUFPEN and friends to DATAPEN since that's what they are.
7251
7252 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7253
7254         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7255         * gst/gstbuffer.h:
7256         * gst/gstpad.c:
7257           cleanups and debugging
7258
7259 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7260
7261         * configure.ac:
7262         * gst/gstvalue.c: (gst_value_compare_enum),
7263         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7264         (gst_value_can_compare), (gst_value_compare):
7265         * testsuite/Makefile.am:
7266         * testsuite/enumcaps/Makefile.am:
7267         * testsuite/enumcaps/enumcaps.c:
7268           Fix enum serialization, deserialization, comparison in caps, add
7269           a test to ensure that this continues working in the future.
7270
7271 2004-07-06  David Schleef  <ds@schleef.org>
7272
7273         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7274         Fix memleak.
7275
7276 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7277
7278         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7279         * gst/gstplugin.h:
7280         * gst/registries/gstxmlregistry.c:
7281         (plugin_times_older_than_recurse), (plugin_times_older_than),
7282         (gst_xml_registry_parse_padtemplate):
7283           only rebuild registry when actual plugins have a newer time than
7284           the registry.  Fixes #145520
7285
7286 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7287
7288         * docs/manual/manual.xml:
7289         * docs/manual/win32.xml:
7290           add chapter on win32 building.  fixes #142422
7291
7292 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7293
7294         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7295
7296         * gst/autoplug/gstspider.c: (gst_spider_init),
7297         (gst_spider_dispose):
7298           fix spider memleaks.  fixes #137863
7299
7300 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7301
7302         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7303
7304         * gst/schedulers/gstoptimalscheduler.c:
7305         (gst_opt_scheduler_pad_unlink):
7306           fix SIGBUS error, fixes #145338
7307
7308 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7309
7310         * gst/gstobject.c: (gst_object_replace):
7311         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7312         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7313           clean up clock lifecycle.  Fixes #109831
7314
7315 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7316
7317         * po/LINGUAS:
7318         * po/cs.po:
7319           added Czech translation (Miloslav Trmac)
7320
7321 2004-07-04  David Schleef  <ds@schleef.org>
7322
7323         * tools/Makefile.am:
7324         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7325
7326 2004-07-04  David Schleef  <ds@schleef.org>
7327
7328         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7329
7330 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7331
7332         * gst/gstbin.c: (gst_bin_restore_thyself):
7333           chain to parent restore so the bins get restored correctly
7334           in the editor
7335
7336 2004-07-03  David Schleef  <ds@schleef.org>
7337
7338         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7339         Actually do something in these functions, like before the big
7340         caps change.  (bug #145137)
7341
7342 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7343
7344         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7345         (gst_element_get_compatible_pad_filtered):
7346         * gst/gstthread.c: (gst_thread_main_loop):
7347           more debugging
7348
7349 2004-07-02  David Schleef  <ds@schleef.org>
7350
7351         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7352         * gst/gstobject.h:
7353         * gst/gstparse.h:
7354         * gst/gsttrace.h:
7355         * gst/gstxml.h:
7356
7357 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7358
7359         * gst/gstpad.c: (gst_pad_check_schedulers),
7360         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7361         (gst_pad_link_prepare):
7362           revert until testsuite is fixed
7363
7364 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7365
7366         * testsuite/Makefile.am:
7367         * testsuite/caps/filtercaps.c: (main):
7368         * testsuite/clock/clock1.c: (main):
7369         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7370           fix some more tests
7371
7372 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7373
7374         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7375         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7376         * testsuite/cleanup/cleanup4.c: (main):
7377           fix testsuite
7378
7379 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7380
7381         * libs/gst/control/control.c:
7382         * libs/gst/control/dparam.c:
7383         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
7384         * libs/gst/control/dparammanager.c:
7385         * libs/gst/control/dparammanager.h:
7386         * testsuite/dynparams/Makefile.am:
7387         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
7388         (gst_dptest_change_state), (gst_dptest_chain), (main):
7389           fix testcase for dparams
7390           add debugging category
7391
7392 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7393
7394         * testsuite/Rules:
7395           change path
7396
7397 2004-07-02  Benjamin Otte  <otte@gnome.org>
7398
7399         * tests/.cvsignore:
7400         * tests/Makefile.am:
7401         * tests/mass_elements.c: (gst_get_current_time), (main):
7402           add simple benchmark to test various speeds of fakesrc ! identity !
7403           identity ! ... ! fakesink.
7404           Usage: mass_elements [num_identities] [num_buffers]
7405           If not specified they default to 1000.
7406
7407 2004-07-02  Benjamin Otte  <otte@gnome.org>
7408
7409         * gst/gstpad.c: (gst_pad_check_schedulers),
7410         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7411         (gst_pad_link_prepare):
7412           check that pads that get linked belong to the same manager. The old
7413           code allowed linking elements before putting them into bins, so it
7414           worked to link them and then put them in different threads, which
7415           lead to weird behaviour.
7416           Since this effectively disallows linking elements before putting
7417           them in a bin, some applications might not work after this and error
7418           out. If these applications are too critical, we might need to revert
7419           that patch. Please test this before the next release...
7420
7421 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7422
7423         * gst/gstpad.c: (gst_pad_get_caps):
7424           throw an error if the getcaps function does not return a subset of
7425           the template caps.
7426         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
7427           make disconts without position info an error in debugging
7428         * tests/spidey_bench.c: (handoff), (main):
7429           don't count first try when averaging
7430
7431 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7432
7433         * gst/gstplugin.c: (gst_plugin_load_file):
7434           figure out problem with dynamic test
7435
7436 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7437
7438         * docs/gst/Makefile.am:
7439           fix docs build
7440
7441 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7442
7443         * po/POTFILES.in:
7444         * po/af.po:
7445         * po/az.po:
7446         * po/en_GB.po:
7447         * po/fr.po:
7448         * po/nl.po:
7449         * po/sr.po:
7450         * po/sv.po:
7451         * po/tr.po:
7452         * po/uk.po:
7453         * tools/gst-register.c: (plugin_added_func), (main):
7454           i18n-ize -register, fix plural
7455
7456 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7457
7458         * gst/elements/gstidentity.c: (gst_identity_class_init),
7459         (gst_identity_init), (gst_identity_chain),
7460         (gst_identity_set_property), (gst_identity_get_property):
7461         * gst/elements/gstidentity.h:
7462           check for perfect stream
7463
7464 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7465
7466         * gst/elements/gstidentity.c: (gst_identity_chain):
7467           print offset_end
7468
7469 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7470
7471         * docs/gst/Makefile.am:
7472         * docs/gst/gstreamer-docs.sgml:
7473           doc fixes
7474
7475 2004-06-24  David Schleef  <ds@schleef.org>
7476
7477         * autogen.sh:  Remove call to env, since the buildbot isn't
7478         broken anymore.
7479
7480 2004-06-24  Wim Taymans  <wim@fluendo.com>
7481
7482         * gst/elements/Makefile.am:
7483         * gst/elements/gstelements.c:
7484         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
7485         (gst_multifdsink_class_init), (gst_multifdsink_init),
7486         (gst_multifdsink_add), (gst_multifdsink_remove),
7487         (gst_multifdsink_clear), (gst_multifdsink_chain),
7488         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
7489         * gst/elements/gstmultifdsink.h:
7490         Added an element that writes to multiple filedescriptors at once.
7491
7492 2004-06-24  Benjamin Otte  <otte@gnome.org>
7493
7494         * gst/parse/grammar.y:
7495           don't try to link elements before they have been added to bins
7496
7497 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7498
7499         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
7500         (gst_file_pad_get_length):
7501         * libs/gst/bytestream/filepad.h:
7502           add 2 new functions
7503
7504 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7505
7506         * docs/gst/gstreamer-sections.txt:
7507         remove from docs, the define that Benjamin removed from gstelement.h
7508
7509 2004-06-22  Benjamin Otte  <otte@gnome.org>
7510
7511         * gst/gstelement.h:
7512           remove define that referenced a nonexisting GstElement struct member
7513
7514 2004-06-20  Benjamin Otte  <otte@gnome.org>
7515
7516         * gst/gstdata.c: (gst_data_is_writable):
7517           whoops, return values were wrong, so writable data was marked as
7518           non-writable and vice versa. (fixes #143953, spotted by Francis
7519           Labonte)
7520           Shows how rarely we need to copy data ;)
7521
7522 2004-06-20  Benjamin Otte  <otte@gnome.org>
7523
7524         * testsuite/schedulers/.cvsignore:
7525         * testsuite/schedulers/Makefile.am:
7526         * testsuite/schedulers/143777-2.c: (main):
7527           add test for opt breakage in bug #143777
7528
7529 2004-06-20  Benjamin Otte  <otte@gnome.org>
7530
7531         * gst/gstpad.c: (gst_pad_call_chain_function):
7532           check for if we were unlinked while inside the chainfunction (fixes
7533           entrygthread having issues with #143777)
7534         * testsuite/schedulers/143777.c: (main):
7535         * testsuite/schedulers/Makefile.am:
7536           add a test for that fix
7537
7538 2004-06-20  Benjamin Otte  <otte@gnome.org>
7539
7540         * gst/gstvalue.c: (gst_value_set_int_range):
7541           test that start is smaller then end
7542         * libs/gst/bytestream/Makefile.am:
7543         * libs/gst/bytestream/filepad.c: 
7544         * libs/gst/bytestream/filepad.h:
7545           add GstFilePad - a pad that behaves like a FILE*
7546         * testsuite/bytestream/.cvsignore:
7547         * testsuite/bytestream/Makefile.am:
7548         * testsuite/bytestream/filepadsink.c: 
7549           test for the GstFilePad
7550
7551 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7552
7553         * gst/elements/gstidentity.c: (gst_identity_class_init),
7554         (gst_identity_init), (gst_identity_set_clock),
7555         (gst_identity_chain), (gst_identity_set_property),
7556         (gst_identity_get_property):
7557         * gst/elements/gstidentity.h:
7558         * gst/gstclock.c: (gst_clock_id_wait):
7559           add a "sync" property to sync to the clock
7560
7561 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7562
7563         * gst/gstelementfactory.c: (gst_element_factory_create):
7564           make the freakin "elementfactory bla has no type" message more
7565           useful. So we actually can do something when someone shows up
7566           complaining about it.
7567
7568 2004-06-15  Johan Dahlin  <johan@gnome.org>
7569
7570         * tools/gst-inspect.c (main): Fallback to plugin if no element is
7571         found. This matches the old behavior better. Thanks to Thomas for
7572         pointing out.
7573
7574 2004-06-14  David Schleef  <ds@schleef.org>
7575
7576         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
7577         -fomit-frame-pointer.  Appears to generate correct code in
7578         other cases as well.
7579
7580 2004-06-14  Johan Dahlin  <johan@gnome.org>
7581
7582         * tools/gst-inspect.c (main): Add two new command line options: -a
7583         to print all elements and -n to print the name on each line. Also
7584         fix some error reporting.
7585         (main): Simplify, remove -n and always print names if -a is specified
7586
7587 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
7588
7589         * win32/gstconfig.h:
7590         * win32/GSTreamer.vcproj:
7591         * win32/Makefile:
7592         * gst/gstconfig.h.in:
7593         * gst/gst.h:
7594         * gst/gstbin.h:
7595         * gst/gstelement.h:
7596         * gst/gstevent.h:
7597         * gst/gstobject.h:
7598         * gst/gstpad.h:
7599         * docs/gst/gstreamer-sections.txt:
7600         * docs/gst/tmpl/gstconfig.sgml:
7601           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
7602
7603 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7604         * docs/gst/gstreamer-sections.txt:
7605         * docs/gst/tmpl/gstconfig.sgml:
7606         Add the GSTREAMER_EXPORT macro to the docs
7607
7608 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7609
7610         * tools/gst-compprep.c: (handle_xmlerror), (main):
7611         Add a check for the version that introduced SetStructuredError to fix
7612         the build on FC1
7613
7614 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7615
7616         * win32/msvc71.sln:
7617         * win32/testsuite/:
7618           prepare to compile the testsuite with MSVC
7619
7620 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7621
7622         * docs/manual/win32.xml:
7623           attempt to transform the Win32 README into an XML doc
7624
7625 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7626
7627         * gst/gst.c:
7628         * gst/gstbin.*:
7629         * gst/config.h.in:
7630         * gst/gstelement.*:
7631         * gst/gstevent.h:
7632         * gst/gstobject.*:
7633         * gst/gstpad.h:
7634         * tools/gst-register.c:
7635         * win32/gstreamer.def:
7636           extern symbols are now exported for the Windows DLL
7637
7638 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7639
7640         * gst/gstinfo.h:
7641           fix a problem to enable/disable DEBUG under MSVC
7642
7643 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7644
7645         * win32/:
7646           enable more debug code in DEBUG build
7647
7648 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7649
7650         * win32/config.h:
7651         * gst/gst-i18n-app.h:
7652           enable NLS under Windows
7653
7654 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
7655         * tools/gst-compprep.c: (handle_xmlerror), (main):
7656           Make an error that baffled me a bit clearer
7657
7658 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7659
7660         * gst/gstqueue.c:
7661           don't use g_queue_get_length () because it's 2.4, use ->length
7662
7663 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
7664
7665         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
7666
7667         * tools/gst-inspect.c: (print_signal_info):
7668           don't free random data twice. (fixes #144185)
7669
7670 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7671
7672         * gst/gstqueue.c:
7673         * gst/gstqueue.h:
7674           fix removing from the wrong queue on event timeout
7675           fix disposing of the event queue by casting correctly
7676           add mutexes for handling the event queue
7677           someone was sleeping when fixing queue last time around :)
7678
7679 2004-06-10  Johan Dahlin  <johan@gnome.org>
7680
7681         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
7682         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
7683
7684 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7685
7686         * docs/random/gdp:
7687         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
7688         * libs/gst/dataprotocol/dataprotocol.c:
7689         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7690         (gst_dp_buffer_from_header):
7691         * libs/gst/dataprotocol/dataprotocol.h:
7692         * libs/gst/dataprotocol/dp-private.h:
7693           rev version to 0.1, add buffer flags and copy them
7694
7695 2004-06-09  Johan Dahlin  <johan@gnome.org>
7696
7697         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
7698         the flags from the buffer we're copying.
7699
7700 2004-06-09  Wim Taymans  <wim@fluendo.com>
7701
7702         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
7703         * gst/elements/gstidentity.c: (gst_identity_init),
7704         (gst_identity_chain):
7705         Print more buffer info in fakesink.
7706         Make identity output similar to fakesink.
7707
7708 2004-06-07  Daniel Gazard  <dany42@free.fr>
7709
7710         reviewed by Benjamin Otte  <otte@gnome.org>
7711
7712         * configure.ac:
7713           fix cross compiling not working. (fixes #143741)
7714
7715 2004-06-07  Benjamin Otte  <otte@gnome.org>
7716
7717         * gst/gstelement.c: (gst_element_set_time_delay):
7718           add failure check
7719         * gst/gstinfo.h:
7720           put brackets around macro arguments of GST_TIME_ARGS, add note to
7721           move it to correct header in 0.9
7722
7723 2004-06-07  Benjamin Otte  <otte@gnome.org>
7724
7725         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
7726         (gst_file_index_load), (_file_index_id_save_entries),
7727         (gst_file_index_commit), (gst_file_index_add_association),
7728         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
7729         (gst_file_index_plugin_init):
7730           make debugging use a default category
7731
7732 2004-06-06  David Moore  <dcm@acm.org>
7733
7734         reviewed by Benjamin Otte  <otte@gnome.org>
7735
7736         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7737         (gst_fdsrc_change_state):
7738           reset offset counter when going READY => PAUSED. (fixes #142903)
7739
7740 2004-06-06  ed@catmur.co.uk
7741
7742         reviewed by Benjamin Otte  <otte@gnome.org>
7743
7744         * gst/registries/gstxmlregistry.c:
7745         (gst_xml_registry_rebuild_recurse):
7746           don't rely on g_dir_open to figure out if a file is a directory, use
7747           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
7748           directories. (fixes #142850)
7749
7750 2004-06-06  Benjamin Otte  <otte@gnome.org>
7751
7752         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
7753           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
7754         * libs/gst/bytestream/adapter.c:
7755         * libs/gst/bytestream/adapter.h:
7756           fix copyright in header and typo in debugging category name
7757
7758 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7759
7760         * configure.ac:
7761           bump nano to cvs
7762
7763 === release 0.8.3 ===
7764
7765 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7766
7767         * configure.ac:
7768           update libtool versioning
7769           do a new release
7770         * docs/gst/tmpl/gstelement.sgml:
7771         * docs/gst/tmpl/gsttypes.sgml:
7772         * gst/gstinfo.c: (_gst_debug_init):
7773           put back GST_CAT_DATAFLOW to fix API breakage
7774
7775 2004-06-04  David Schleef  <ds@schleef.org>
7776
7777         * autogen.sh: Add a temporary 'env' to test buildbot problems.
7778
7779 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7780
7781         * configure.ac:
7782           bump nano to cvs
7783
7784 === release 0.8.2 ===
7785
7786 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7787
7788         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
7789           check GST_DEBUG environment variable which is parsed the same way
7790           as --gst-debug=
7791
7792 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7793
7794         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
7795                             gstmd5sink.c gstshaper.c gsttee.c
7796                             gsttypefindelement.c
7797         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
7798
7799           - removing trailing commas at end of enums
7800             it is correct C99 code but C90 compilers would complain
7801             (AIX, Forte, ...)
7802             ('should' fix #143290, at least partially)
7803
7804 2004-05-27  Wim Taymans  <wim@fluendo.com>
7805
7806         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
7807         (chain_group_set_enabled), (create_group), (add_to_group),
7808         (merge_groups), (setup_group_scheduler), (group_elements),
7809         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
7810         Don't try to follow the pad connections with other groups
7811         when a loop based element is added to the scheduler because
7812         the bin will inform the scheduler about the pad links a little
7813         later.
7814
7815 2004-05-27  Wim Taymans  <wim@fluendo.com>
7816
7817         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7818         (remove_from_chain), (chain_group_set_enabled),
7819         (setup_group_scheduler), (group_element_set_enabled),
7820         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
7821         (gst_opt_scheduler_show):
7822         Elements without a group can do a state change as well, just wait
7823         with the setup of the scheduling function when it is added to a
7824         chain.
7825
7826 2004-05-27  Wim Taymans  <wim@fluendo.com>
7827
7828         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7829         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
7830         (merge_groups), (setup_group_scheduler),
7831         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
7832         (gst_opt_scheduler_show):
7833         Fixes to maintain internal consistency of the scheduler data
7834         structures. 
7835          - adding an enabled group to a chain should increment the
7836            number of enabled elements in that chain.
7837          - removing an enabled group from a chain could disable the
7838            chain.
7839          - removing a disabled group from a chain could enable the
7840            chain.
7841          - add g_assert when internal inconsistency is detected.
7842          - adding an element to a group could increase the number of
7843            links this group has with other groups.
7844          - merging two groups also merges the chains.
7845          - also show group links in the _show method.
7846            
7847
7848 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7849
7850         * gst/gstcaps.c: (gst_caps_structure_simplify):
7851           don't print error messages when there is no error
7852         * gst/gstvalue.c: (gst_value_compare_int_range):
7853           compare the second value, too
7854         * testsuite/caps/Makefile.am:
7855         * testsuite/caps/random.c: (assert_on_error), (main):
7856           add tests to make sure the two things above are checked for
7857
7858 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7859
7860         * configure.ac:
7861         * libs/gst/dataprotocol/Makefile.am:
7862         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
7863         * libs/gst/dataprotocol/dataprotocol.h:
7864           wrap header in GST_ENABLE_NEW.  make code use it
7865
7866 2004-05-23  Johan Dahlin  <johan@gnome.org>
7867
7868         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
7869         so verbose and print GstElement signal names all the time.
7870
7871 2004-05-22  David Schleef  <ds@schleef.org>
7872
7873         * gst/registries/gstxmlregistry.c:
7874         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
7875         (bug #142957)
7876
7877 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7878
7879         * configure.ac:
7880           scrub cflags for glib2 so gcc doesn't complain when glib is in
7881           /usr/local
7882
7883 2004-05-21  Johan Dahlin  <johan@gnome.org>
7884
7885         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
7886         __GNUC__, patch from Brian Cameron, fixes bug #142804
7887
7888 2004-05-20  David Schleef  <ds@schleef.org>
7889
7890         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
7891         comparison code.  (bug #142819)
7892
7893 2004-05-20  Wim Taymans  <wim@fluendo.com>
7894
7895         * gst/gstbuffer.c: (gst_buffer_default_copy):
7896         * gst/gstbuffer.h:
7897         Added Comment to a flag.
7898         copy relevant flags in _buffer_copy.
7899
7900 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7901
7902         reviewed by: Wim Taymans <wim at fluendo dot com>
7903
7904         * gst/gstbuffer.h:
7905           add GST_BUFFER_IN_CAPS buffer flag
7906         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7907         (gst_structure_parse_any_list), (gst_structure_parse_list),
7908         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
7909         * gst/gstvalue.c: (gst_value_serialize_any_list),
7910         (gst_value_transform_any_list_string),
7911         (gst_value_list_prepend_value), (gst_value_list_append_value),
7912         (gst_value_list_get_size), (gst_value_list_get_value),
7913         (gst_value_transform_list_string),
7914         (gst_value_transform_fixed_list_string),
7915         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
7916         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
7917         (_gst_value_initialize):
7918         * gst/gstvalue.h:
7919           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
7920           < , > as a format.
7921         * testsuite/caps/string-conversions.c: (main):
7922           add regression tests for < >
7923
7924 2004-05-20  Johan Dahlin  <johan@gnome.org>
7925
7926         * docs/gst/Makefile.am (all-local): Re-add
7927
7928 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7929
7930         * docs/gst/Makefile.am:
7931         * docs/gst/gstreamer-docs.sgml:
7932         * docs/libs/Makefile.am:
7933         * docs/libs/gstreamer-libs-docs.sgml:
7934           fix distcheck issues
7935
7936 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7937
7938         * libs/gst/dataprotocol/Makefile.am:
7939           add to autotest
7940
7941 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7942
7943         * libs/gst/dataprotocol/Makefile.am:
7944         * libs/gst/dataprotocol/dataprotocol.c:
7945         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7946         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
7947         * libs/gst/dataprotocol/dp-private.h:
7948           use GST macros to read/write fixed length ints
7949           add some more asserts
7950
7951 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7952
7953         * docs/libs/gstreamer-libs-docs.sgml:
7954         * docs/libs/gstreamer-libs-sections.txt:
7955           remove idct and putbits
7956         * configure.ac:
7957         * docs/libs/tmpl/gstdataprotocol.sgml:
7958         * libs/gst/Makefile.am:
7959         * libs/gst/dataprotocol/Makefile.am:
7960         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
7961         (buffer_test), (caps_test), (event_test), (main):
7962         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
7963         (gst_dp_dump_byte_array), (gst_dp_init),
7964         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
7965         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7966         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
7967         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
7968         (gst_dp_validate_header), (gst_dp_validate_payload),
7969         (gst_dp_validate_packet), (plugin_init):
7970         * libs/gst/dataprotocol/dataprotocol.h:
7971         * libs/gst/dataprotocol/dp-private.h:
7972           add dataprotocol
7973
7974 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7975
7976         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7977           fix int variable deserialization and add a helper so we can actually
7978           debug this.
7979
7980 2004-05-18  David Schleef  <ds@schleef.org>
7981
7982         * testsuite/debug/commandline.c: (main): Call ./commandline, not
7983           argv[0].  Calling yourself is probably not the best way to
7984           construct a test like this, btw.
7985
7986 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7987
7988         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
7989           don't claim to be more intelligent than a scheduler when the
7990           scheduler claims the pipeline is stopped
7991         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
7992         (safe_cothread_destroy),
7993         (gst_entry_scheduler_remove_all_cothreads),
7994         (gst_entry_scheduler_reset), (_remove_cothread),
7995         (gst_entry_scheduler_state_transition):
7996           hold off cothread destruction if we're not in main cothread
7997         * configure.ac:
7998         * testsuite/Makefile.am:
7999           add new test dir
8000         * testsuite/schedulers/.cvsignore:
8001         * testsuite/schedulers/Makefile.am:
8002           add tests
8003         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8004           check relinking and adding/removing elements from a running pipeline
8005         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8006           check unlinking in a running pipeline
8007         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8008           check unreffing a running pipeline
8009         * testsuite/schedulers/useless_iteration.c: (main):
8010           check iterating a pipeline that contains running threads works
8011
8012 2004-05-18  David Schleef  <ds@schleef.org>
8013
8014         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8015           is false.
8016
8017 2004-05-18  Wim Taymans  <wim@fluendo.com>
8018
8019         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8020         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8021         Fixed an error introduced with patch for 1.63. When setting
8022         a get based element as the entry point in a group, make sure
8023         to mark the group as GET based.
8024
8025 2004-05-18  Wim Taymans  <wim@fluendo.com>
8026
8027         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8028         (setup_group_scheduler), (loop_group_schedule_function),
8029         (gst_opt_scheduler_pad_link):
8030         Added some more debug info and fixed a bug where the group
8031         type was set to LOOP but it was in fact unknown.
8032
8033 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8034
8035         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8036           make resetting scheduler work twice in a row
8037
8038 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8039
8040         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8041         (CREATE_USERIALIZATION), (_gst_value_initialize),
8042         (gst_value_compare_float), (gst_value_serialize_float),
8043         (gst_value_deserialize_float), (gst_value_compare_enum),
8044         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8045           add serialization and comparison functions for long, int64, enum and
8046           float values
8047         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8048           use best serialization function in type hierarchy instead of only a
8049           matching one. This is required for enums to work.
8050         * gst/parse/grammar.y:
8051           use gst_caps_deserialize
8052         * testsuite/parse/Makefile.am:
8053           parse1 now works
8054         * testsuite/parse/parse1.c: (main):
8055           remove aggregator check, aggregator is broken, this test works now
8056           but fails because of bug #138012
8057         * testsuite/parse/parse2.c: (main):
8058           s/xvideosink/xvimagesink - this test looks a lot like we should
8059           disable it
8060
8061 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8062
8063         * gst/gstelement.c: (gst_element_class_init):
8064           whoops, store the signal id correctly
8065         * gst/schedulers/gstbasicscheduler.c:
8066         (gst_basic_scheduler_chain_wrapper):
8067           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8068           chain function isn't linked
8069
8070 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8071         * configure.ac:
8072         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8073         support until we decide where the flags should be used
8074         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8075         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8076         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8077         Output refused caps in the debug info
8078
8079 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8080
8081         * gst/elements/gstidentity.c: (gst_identity_chain):
8082           add duration debug
8083         * gst/gstinfo.c: (gst_debug_log_default):
8084           add timestamp
8085
8086 2004-05-13  Benjamin Otte  <otte@gnome.org>
8087
8088         * gst/gstpipeline.c: (gst_pipeline_dispose),
8089         (gst_pipeline_change_state):
8090           call gst_scheduler_reset on dispose (fixes #141416)
8091
8092 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8093
8094         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8095           compute mapsize correctly
8096         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8097           use correct datatypes when calling a varargs function
8098         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8099           push a DISCONT event as first thing
8100         * gst/gst_private.h:
8101         * gst/gstinfo.c: (_gst_debug_init):
8102           remove GST_DATAFLOW debugging category
8103         * gst/gstbin.c: (gst_bin_iterate):
8104           use GST_SCHEDULING category
8105         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8106         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8107         (gst_pad_call_get_function):
8108           add GST_DATAFLOW to easily track flow of buffers or events.
8109         * gst/gstqueue.c: (gst_queue_get_type),
8110         (gst_queue_handle_pending_events), (gst_queue_chain),
8111         (gst_queue_get), (gst_queue_handle_src_event):
8112           use own static debugging category GST_DATAFLOW for dataflow,
8113           use DEBUG category for showing which path events go, use LOG
8114           category for buffers.
8115
8116 2004-05-10  David Schleef  <ds@schleef.org>
8117
8118         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8119
8120 2004-05-10  David Schleef  <ds@schleef.org>
8121
8122         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8123         symbols, because otherwise we don't know what they are.  Thanks,
8124         the GStreamer team.
8125         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8126
8127 2004-05-10  David Schleef  <ds@schleef.org>
8128
8129         (from Steve Lhomme)
8130         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8131         are deleted.  Fix.
8132         * win32/Makefile.inspect:
8133         * win32/Makefile.launch:
8134         * win32/Makefile.register:
8135
8136 2004-05-10  David Schleef  <ds@schleef.org>
8137
8138         * gst/gstinfo.h: Add missing inline function.
8139         * gst/gsttrace.c: add include
8140         * gst/parse/grammar.y: remove unused code
8141         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8142         more portable.
8143         * tools/gst-register.c: wrap unistd.h
8144         
8145         More additions/fixes from Steve for the MSVC build.
8146         * win32/GStreamer.vcproj:
8147         * win32/Makefile:
8148         * win32/Makefile.inspect:
8149         * win32/Makefile.launch:
8150         * win32/Makefile.register:
8151         * win32/README.txt:
8152         * win32/gst-inspect.vcproj:
8153         * win32/gst-launch.vcproj:
8154         * win32/gst-register.vcproj:
8155         * win32/gstbytestream.def:
8156         * win32/gstbytestream.vcproj:
8157         * win32/gstconfig.h:
8158         * win32/gstelements.def:
8159         * win32/gstelements.vcproj:
8160         * win32/gstenumtypes.c:
8161         * win32/gstenumtypes.h:
8162         * win32/gstoptimalscheduler.def:
8163         * win32/gstoptimalscheduler.vcproj:
8164         * win32/gstreamer.def:
8165         * win32/gstspider.def:
8166         * win32/gstspider.vcproj:
8167         * win32/gstversion.h:
8168         * win32/msvc71.sln:
8169
8170 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8171
8172         * gst/gstelement.c: (gst_element_class_init),
8173         (gst_element_no_more_pads):
8174         * gst/gstelement.h:
8175           add gst_element_no_more_pads and the "no-more-pads" signal
8176
8177 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8178
8179         * gst/gstregistry.c: (gst_registry_add_plugin):
8180           refuse to add plugins when a plugin with same name is already
8181           registered. Fixes a bunch of "How to remove plugins?" issues.
8182           May lead to other problems though, let's test
8183
8184 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8185
8186         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8187         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8188         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8189
8190 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8191
8192         * tests/Makefile.am: fix am16 issue
8193
8194 2004-05-09  Benjamin Otte  <otte@gnome.org>
8195
8196         * libs/gst/bytestream/Makefile.am:
8197           we should indeed add .c files to makefiles or they won't be built
8198           (d'oh)
8199
8200 2004-05-08  Benjamin Otte  <otte@gnome.org>
8201
8202         * gst/gstpad.c: (gst_pad_proxy_fixate):
8203           really reduce the set of caps
8204
8205 2004-05-08  Benjamin Otte  <otte@gnome.org>
8206
8207         * tests/Makefile.am:
8208         * tests/spidey_bench.c: (handoff), (main):
8209           add benchmark to test how long spider needs to create a pipeline
8210
8211 2004-05-08  Benjamin Otte  <otte@gnome.org>
8212
8213         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8214           mark links as unengaged when unnegotiating instead of deactivating.
8215           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8216
8217 2004-05-08  Benjamin Otte  <otte@gnome.org>
8218
8219         * docs/manual/helloworld.xml:
8220           s/audiosink/osssink (patch by Patrick Guimond)
8221
8222 2004-05-07  David Schleef  <ds@schleef.org>
8223
8224         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8225         since it contains important stuff.
8226
8227 2004-05-07  David Schleef  <ds@schleef.org>
8228
8229         * testsuite/caps/caps.c: (test3), (main): A check for appending
8230         ANY caps.
8231
8232 2004-05-07  David Schleef  <ds@schleef.org>
8233
8234         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8235         which may contain commas.  Fixes detection of -Wa,-mregnames
8236
8237 2004-05-06  David Schleef  <ds@schleef.org>
8238
8239         Changes to handle compilers that don't have variadic macro
8240         support.  In particular, glib headers define some inlines
8241         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8242         builds.
8243         * gst/Makefile.am:
8244         * gst/cothreads.c:
8245         * gst/elements/gstfdsink.c:
8246         * gst/elements/gstfdsrc.c:
8247         * gst/elements/gstfilesink.c:
8248         * gst/elements/gstfilesrc.c:
8249         * gst/gst_private.h:
8250         * gst/gstatomic.c:
8251         * gst/gstcaps.c: (gst_caps_append):
8252         * gst/gstcpu.c: (gst_cpuid_i386):
8253         * gst/gstelement.c:
8254         * gst/gsterror.c:
8255         * gst/gstfilter.c:
8256         * gst/gstinfo.h:
8257         * gst/gstprobe.c:
8258         * gst/gstquery.c:
8259         * gst/gstregistry.c:
8260         * gst/gststructure.c:
8261         * gst/gsttaginterface.c:
8262         * gst/gsttrace.c: (gst_trace_new):
8263         * gst/gsttrashstack.c:
8264         * gst/gsturi.c:
8265         * gst/gstvalue.c:
8266         * gst/parse/grammar.y:
8267         * gst/parse/parse.l:
8268         * tools/gst-inspect.c: (main):
8269         * tools/gst-launch.c: (main):
8270         * tools/gst-xmlinspect.c: (PUT_STRING):
8271
8272 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8273
8274         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8275         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8276         * gst/elements/gstfilesrc.h:
8277           send NEW_MEDIA events correctly
8278         * gst/elements/gsttypefindelement.c: (start_typefinding),
8279         (gst_type_find_element_handle_event):
8280           restart typefinding when we get a NEW_MEDIA event
8281         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8282         (gst_bin_dispose):
8283           don't die when someone removes elements in callbacks
8284         * gst/gstelement.c: (gst_element_change_state):
8285           improve debugging
8286         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8287           we need a NEW_MEDIA event to engage a link
8288         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8289           don't g_print debugging stuff
8290         * testsuite/caps/simplify.c: (check_caps):
8291
8292 2004-05-04  Benjamin Otte  <otte@gnome.org>
8293
8294         * gst/parse/grammar.y:
8295           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8296
8297 2004-05-04  Benjamin Otte  <otte@gnome.org>
8298
8299         * testsuite/caps/renegotiate.c: (main):
8300           improve output in error case
8301
8302 2004-05-04  Benjamin Otte  <otte@gnome.org>
8303
8304         * gst/parse/grammar.y:
8305           fix assert to not trigger when there's no error argument
8306         * gst/parse/parse.l:
8307           fix definition of caps to allow more than two structures
8308         * testsuite/caps/Makefile.am:
8309         * testsuite/caps/renegotiate.c: (main):
8310           it's sinesrc and works in that case
8311
8312 2004-05-04  Wim Taymans  <wim@fluendo.com>
8313
8314         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8315         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8316         when removing an element from a group, we always need to
8317         decrement the link count that this group had with other 
8318         groups through the element.
8319         added an extra assert to catch inconsistencies when decrementing
8320         the link count.
8321
8322 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8323
8324         * configure.ac:
8325         * docs/gst/Makefile.am:
8326         * docs/gst/gstreamer-sections.txt:
8327         * docs/gst/tmpl/gstcompat.sgml:
8328         * examples/appreader/Makefile.am:
8329         * examples/cutter/Makefile.am:
8330         * examples/events/Makefile.am:
8331         * examples/helloworld/Makefile.am:
8332         * examples/helloworld2/Makefile.am:
8333         * examples/launch/Makefile.am:
8334         * examples/manual/Makefile.am:
8335         * examples/mixer/Makefile.am:
8336         * examples/pingpong/Makefile.am:
8337         * examples/plugins/Makefile.am:
8338         * examples/queue/Makefile.am:
8339         * examples/queue2/Makefile.am:
8340         * examples/queue3/Makefile.am:
8341         * examples/queue4/Makefile.am:
8342         * examples/retag/Makefile.am:
8343         * examples/thread/Makefile.am:
8344         * examples/typefind/Makefile.am:
8345         * examples/xml/Makefile.am:
8346         * gst/Makefile.am:
8347         * gst/autoplug/Makefile.am:
8348         * gst/elements/Makefile.am:
8349         * gst/gstcompat.h:
8350         * gst/indexers/Makefile.am:
8351         * gst/parse/Makefile.am:
8352         * gst/registries/Makefile.am:
8353         * gst/schedulers/Makefile.am:
8354         * libs/gst/bytestream/Makefile.am:
8355         * libs/gst/control/Makefile.am:
8356         * libs/gst/getbits/Makefile.am:
8357         * po/af.po:
8358         * po/az.po:
8359         * po/en_GB.po:
8360         * po/fr.po:
8361         * po/nl.po:
8362         * po/sr.po:
8363         * po/sv.po:
8364         * po/tr.po:
8365         * po/uk.po:
8366         * tests/Makefile.am:
8367         * tests/bufspeed/Makefile.am:
8368         * tests/instantiate/Makefile.am:
8369         * tests/memchunk/Makefile.am:
8370         * tests/muxing/Makefile.am:
8371         * tests/negotiation/Makefile.am:
8372         * tests/probes/Makefile.am:
8373         * tests/sched/Makefile.am:
8374         * tests/seeking/Makefile.am:
8375         * tests/threadstate/Makefile.am:
8376         * testsuite/caps/Makefile.am:
8377         * testsuite/cleanup/Makefile.am:
8378         * testsuite/dlopen/Makefile.am:
8379         * testsuite/dynparams/Makefile.am:
8380         * testsuite/plugin/Makefile.am:
8381         * testsuite/states/Makefile.am:
8382         * tools/Makefile.am:
8383           reorganize compile/link flags to be consistent
8384           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
8385
8386 2004-05-04  David Schleef  <ds@schleef.org>
8387
8388         The "once more, with feeling" check-in.
8389         * testsuite/caps/Makefile.am: dist caps_strings
8390         * testsuite/caps/renegotiate.c: (main): This test triggers a
8391           segfault in the core.  Marking as failing.
8392
8393 2004-05-03  David Schleef  <ds@schleef.org>
8394
8395         * testsuite/caps/deserialize.c: (main): Fix problems noticed
8396           by the build bots.
8397         * testsuite/caps/renegotiate.c: (main): Same.
8398
8399 2004-05-03  David Schleef  <ds@schleef.org>
8400
8401         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
8402
8403 2004-05-03  David Schleef  <ds@schleef.org>
8404
8405         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
8406           variable to find our source file.
8407
8408 2004-05-03  David Schleef  <ds@schleef.org>
8409
8410         * configure.ac:  Link plugins with libgstreamer and dependent
8411           libraries
8412         * testsuite/caps/Makefile.am:
8413         * testsuite/caps/caps_strings:
8414         * testsuite/caps/deserialize.c: (main): Add a little test to slog
8415           through a file of caps strings and test each one
8416
8417 2004-05-04  Benjamin Otte  <otte@gnome.org>
8418
8419         * libs/gst/bytestream/Makefile.am:
8420         * libs/gst/bytestream/adapter.c: 
8421         * libs/gst/bytestream/adapter.h:
8422           add GstAdapter, similar to bytestream, but doesn't require ugly event
8423           handling or uglier loopbased elements
8424
8425 2004-05-03  David Schleef  <ds@schleef.org>
8426
8427         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
8428         * testsuite/caps/erathostenes.c:
8429         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
8430
8431 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8432
8433         * docs/pwg/pwg.xml:
8434           remove hardcoded stylesheet path (duh)
8435         * docs/random/release:
8436         * docs/gst/gstreamer-sections.txt:
8437         * gst/Makefile.am:
8438         * gst/gst.h:
8439         * gst/gst_private.h:
8440         * gst/gstcaps.c:
8441         * gst/gstevent.c:
8442         * gst/gstformat.c:
8443         * gst/gstinfo.c:
8444         * gst/gstinfo.h:
8445         * gst/gstinterface.c:
8446         * gst/gstmemchunk.c:
8447         * gst/gstprobe.c:
8448         * gst/gstquery.c:
8449         * gst/gstregistry.c:
8450         * gst/gstregistrypool.c:
8451         * gst/gststructure.c:
8452         * gst/gsttaginterface.c:
8453         * gst/gstthread.c:
8454         * gst/gsttrace.c:
8455         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
8456         * gst/gsturi.c:
8457         * gst/gstvalue.c:
8458           deprecate gst_info; remove gstlog.h
8459    
8460
8461 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8462
8463         * Makefile.am:
8464         * po/en_GB.po:
8465         * po/sv.po:
8466         * po/uk.po:
8467           updated translations
8468
8469 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8470
8471         * gst/gstbin.c: (gst_bin_dispose):
8472           better debugging
8473
8474 2004-05-03  Johan Dahlin  <johan@gnome.org>
8475
8476         * gst/schedulers/gstoptimalscheduler.c
8477         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
8478         really is a GstElement. Avoids critical when running gst-launch -v
8479         and a oggdemux/decoding pipeline.
8480
8481 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8482
8483         * docs/gst/tmpl/gstpipeline.sgml :
8484         * docs/manual/elements-api.xml :
8485                 doc fix by Patrick Guimond (Protector) from devel ML
8486                 reviewed by ronald
8487
8488 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8489
8490         * docs/gst/Makefile.am :
8491         * docs/libs/Makefile.am :
8492                 apply a patch from Arwed v. Merkatz so that gtk-doc
8493                 generated docs install (same for .devhelp file)
8494                 (fixes part 1 of #138836)
8495
8496 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8497
8498         * docs/faq/dependencies.xml: typo
8499         * docs/faq/getting.xml :
8500             - fix download URL for new gstreamer site
8501             - hide sf.net download page as latest version aren't there
8502             - fix apt URLs
8503             - fill "get via CVS" paragraph (link to dev page on the site)
8504         * docs/faq/general.xml:
8505             hide status tables as they no more exists
8506             change case on plugins license file to reflect reality
8507         * docs/faq/troubleshooting.xml:
8508             remove the wiki question/answer as there is no more wiki
8509
8510 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8511
8512         * gst/gsterror.h:
8513           include the headers needed for declarations used in this header
8514
8515 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8516
8517         * docs/random/uraeus/gstreamer_and_midi.txt :
8518           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
8519           (fixes #132288)
8520
8521 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
8522
8523         reviewed by Benjamin Otte  <otte@gnome.org>
8524
8525         * gst/schedulers/gthread-cothreads.h:
8526           free allocated data for main cothread, too when destroying context
8527           (fixes #141417)
8528
8529 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8530
8531         * docs/manual/goals.xml : remove duplicated paragraph at end 
8532         of doc page (fixes #141448)
8533
8534 2004-04-29  David Schleef  <ds@schleef.org>
8535
8536         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
8537         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
8538
8539 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8540
8541         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8542           fix property
8543         * gst/gstcaps.c:
8544           fix doc string
8545         * po/POTFILES.in:
8546           rename typefind source file
8547
8548 2004-04-28  David Schleef  <ds@schleef.org>
8549
8550         Several new files from Steve Lhomme's MSVC patch (bug #141317):
8551         * win32/GStreamer.vcproj:
8552         * win32/Makefile:
8553         * win32/config.h:
8554         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8555         (_trewinddir), (_ttelldir), (_tseekdir):
8556         * win32/dirent.h:
8557         * win32/gst-inspect.vcproj:
8558         * win32/gst-launch.vcproj:
8559         * win32/gst-register.vcproj:
8560         * win32/gstbytestream.vcproj:
8561         * win32/gstelements.vcproj:
8562         * win32/gstoptimalscheduler.vcproj:
8563         * win32/gstspider.vcproj:
8564         * win32/gtchar.h:
8565         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
8566         * win32/mman.h:
8567         * win32/mman.inl:
8568         * win32/msvc71.sln:
8569
8570 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8571
8572         * gst/gst.c: (init_post):
8573         * gst/gstinfo.c:
8574           remove useless _gst_progname stuff
8575         * tools/gst-inspect.c: (print_field), (print_caps):
8576           improve caps output
8577
8578 2004-04-28  David Schleef  <ds@schleef.org>
8579
8580         Disable parsing of a lot of files that aren't part of the
8581         exported API.  Move corresponding template files to old/,
8582         waiting for removal when they don't contain anything
8583         interesting.
8584         * docs/gst/Makefile.am:
8585         * docs/gst/gstreamer-sections.txt:
8586         * docs/gst/tmpl/cothreads.sgml:
8587         * docs/gst/tmpl/cothreads_compat.sgml:
8588         * docs/gst/tmpl/gettext.sgml:
8589         * docs/gst/tmpl/gobject2gtk.sgml:
8590         * docs/gst/tmpl/grammar.tab.sgml:
8591         * docs/gst/tmpl/gst-i18n-app.sgml:
8592         * docs/gst/tmpl/gst-i18n-lib.sgml:
8593         * docs/gst/tmpl/gst_private.sgml:
8594         * docs/gst/tmpl/gstaggregator.sgml:
8595         * docs/gst/tmpl/gstarch.sgml:
8596         * docs/gst/tmpl/gstatomic_impl.sgml:
8597         * docs/gst/tmpl/gstbufferstore.sgml:
8598         * docs/gst/tmpl/gstdata_private.sgml:
8599         * docs/gst/tmpl/gstdisksink.sgml:
8600         * docs/gst/tmpl/gstdisksrc.sgml:
8601         * docs/gst/tmpl/gstelementfactory.sgml:
8602         * docs/gst/tmpl/gstextratypes.sgml:
8603         * docs/gst/tmpl/gstfakesink.sgml:
8604         * docs/gst/tmpl/gstfakesrc.sgml:
8605         * docs/gst/tmpl/gstfdsink.sgml:
8606         * docs/gst/tmpl/gstfdsrc.sgml:
8607         * docs/gst/tmpl/gstfilesink.sgml:
8608         * docs/gst/tmpl/gstfilesrc.sgml:
8609         * docs/gst/tmpl/gsthttpsrc.sgml:
8610         * docs/gst/tmpl/gstidentity.sgml:
8611         * docs/gst/tmpl/gstindexfactory.sgml:
8612         * docs/gst/tmpl/gstmarshal.sgml:
8613         * docs/gst/tmpl/gstmd5sink.sgml:
8614         * docs/gst/tmpl/gstmultidisksrc.sgml:
8615         * docs/gst/tmpl/gstmultifilesrc.sgml:
8616         * docs/gst/tmpl/gstpadtemplate.sgml:
8617         * docs/gst/tmpl/gstpipefilter.sgml:
8618         * docs/gst/tmpl/gstschedulerfactory.sgml:
8619         * docs/gst/tmpl/gstsearchfuncs.sgml:
8620         * docs/gst/tmpl/gstshaper.sgml:
8621         * docs/gst/tmpl/gstspider.sgml:
8622         * docs/gst/tmpl/gstspideridentity.sgml:
8623         * docs/gst/tmpl/gststatistics.sgml:
8624         * docs/gst/tmpl/gsttee.sgml:
8625         * docs/gst/tmpl/gsttimecache.sgml:
8626         * docs/gst/tmpl/gsttypefind.sgml:
8627         * docs/gst/tmpl/gsttypefindfactory.sgml:
8628         * docs/gst/tmpl/gstxmlregistry.sgml:
8629         * docs/gst/tmpl/gthread-cothreads.sgml:
8630         * docs/gst/tmpl/old/cothreads.sgml:
8631         * docs/gst/tmpl/old/cothreads_compat.sgml:
8632         * docs/gst/tmpl/old/gettext.sgml:
8633         * docs/gst/tmpl/old/gobject2gtk.sgml:
8634         * docs/gst/tmpl/old/grammar.tab.sgml:
8635         * docs/gst/tmpl/old/gst-i18n-app.sgml:
8636         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
8637         * docs/gst/tmpl/old/gst_private.sgml:
8638         * docs/gst/tmpl/old/gstaggregator.sgml:
8639         * docs/gst/tmpl/old/gstarch.sgml:
8640         * docs/gst/tmpl/old/gstatomic_impl.sgml:
8641         * docs/gst/tmpl/old/gstbufferstore.sgml:
8642         * docs/gst/tmpl/old/gstdata_private.sgml:
8643         * docs/gst/tmpl/old/gstdisksink.sgml:
8644         * docs/gst/tmpl/old/gstdisksrc.sgml:
8645         * docs/gst/tmpl/old/gstelementfactory.sgml:
8646         * docs/gst/tmpl/old/gstextratypes.sgml:
8647         * docs/gst/tmpl/old/gstfakesink.sgml:
8648         * docs/gst/tmpl/old/gstfakesrc.sgml:
8649         * docs/gst/tmpl/old/gstfdsink.sgml:
8650         * docs/gst/tmpl/old/gstfdsrc.sgml:
8651         * docs/gst/tmpl/old/gstfilesink.sgml:
8652         * docs/gst/tmpl/old/gstfilesrc.sgml:
8653         * docs/gst/tmpl/old/gsthttpsrc.sgml:
8654         * docs/gst/tmpl/old/gstidentity.sgml:
8655         * docs/gst/tmpl/old/gstindexfactory.sgml:
8656         * docs/gst/tmpl/old/gstmarshal.sgml:
8657         * docs/gst/tmpl/old/gstmd5sink.sgml:
8658         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
8659         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
8660         * docs/gst/tmpl/old/gstpadtemplate.sgml:
8661         * docs/gst/tmpl/old/gstpipefilter.sgml:
8662         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
8663         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
8664         * docs/gst/tmpl/old/gstshaper.sgml:
8665         * docs/gst/tmpl/old/gstspider.sgml:
8666         * docs/gst/tmpl/old/gstspideridentity.sgml:
8667         * docs/gst/tmpl/old/gststatistics.sgml:
8668         * docs/gst/tmpl/old/gsttee.sgml:
8669         * docs/gst/tmpl/old/gsttimecache.sgml:
8670         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
8671         * docs/gst/tmpl/old/gstxmlregistry.sgml:
8672         * docs/gst/tmpl/old/gthread-cothreads.sgml:
8673         * docs/gst/tmpl/old/types.sgml:
8674         * docs/gst/tmpl/types.sgml:
8675
8676         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
8677         gtkdoc-scan doesn't like files with the same name in different
8678         directories.
8679         * gst/elements/Makefile.am:
8680         * gst/elements/gstelements.c:
8681         * gst/elements/gsttypefind.c: 
8682         * gst/elements/gsttypefind.h:
8683         * gst/elements/gsttypefindelement.c:
8684         * gst/elements/gsttypefindelement.h:
8685
8686 2004-04-28  David Schleef  <ds@schleef.org>
8687
8688         A bunch of portability fixes, derived from Steve Lhomme's MSVC
8689         patch (bug #141317):
8690         * gst/gst-i18n-lib.h: Allow disabling gettext.
8691         * gst/gstatomic_impl.h: disable warning when it's dumb.
8692         * gst/gstclock.c: fix include
8693         * gst/gstcompat.h: fix variadic macro
8694         * gst/gstinfo.c: fix include
8695         * gst/gstmacros.h: add defines for inlines on MSVC
8696         * gst/gstplugin.c: fix includes
8697         * gst/gstregistry.c: fix includes
8698         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
8699         * gst/gstsystemclock.c: fix include
8700         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
8701         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
8702         * gst/registries/gstxmlregistry.c:
8703         (gst_xml_registry_parse_element_factory): fix use of non-portable
8704         functions
8705         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
8706         * libs/gst/control/dparammanager.h: same
8707
8708 2004-04-28  David Schleef  <ds@schleef.org>
8709
8710         Move a bunch of unused files to old/ with names that are
8711         not case-insensitive-unique.  These files still contain some
8712         useful information that needs to be merged into gstbin.sgml,
8713         etc., so they shouldn't be deleted yet.
8714         * docs/gst/tmpl/GstBin.sgml:
8715         * docs/gst/tmpl/GstBuffer.sgml:
8716         * docs/gst/tmpl/GstCaps.sgml:
8717         * docs/gst/tmpl/GstClock.sgml:
8718         * docs/gst/tmpl/GstCompat.sgml:
8719         * docs/gst/tmpl/GstData.sgml:
8720         * docs/gst/tmpl/GstElement.sgml:
8721         * docs/gst/tmpl/GstEvent.sgml:
8722         * docs/gst/tmpl/GstIndex.sgml:
8723         * docs/gst/tmpl/GstStructure.sgml:
8724         * docs/gst/tmpl/GstTag.sgml:
8725         * docs/gst/tmpl/old/GstBin.sgml:
8726         * docs/gst/tmpl/old/GstBuffer.sgml:
8727         * docs/gst/tmpl/old/GstCaps.sgml:
8728         * docs/gst/tmpl/old/GstClock.sgml:
8729         * docs/gst/tmpl/old/GstCompat.sgml:
8730         * docs/gst/tmpl/old/GstData.sgml:
8731         * docs/gst/tmpl/old/GstElement.sgml:
8732         * docs/gst/tmpl/old/GstEvent.sgml:
8733         * docs/gst/tmpl/old/GstIndex.sgml:
8734         * docs/gst/tmpl/old/GstStructure.sgml:
8735         * docs/gst/tmpl/old/GstTag.sgml:
8736
8737 2004-04-28  David Schleef  <ds@schleef.org>
8738
8739         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
8740         (gst_caps_append), (gst_caps_append_structure),
8741         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
8742         (gst_caps_set_simple), (gst_caps_set_simple_valist),
8743         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
8744         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
8745         (gst_caps_intersect), (gst_caps_normalize),
8746         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
8747         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
8748         * gst/gstcaps.h: use GST_IS_CAPS().
8749
8750 2004-04-26  David Schleef  <ds@schleef.org>
8751
8752         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
8753         assembly.  gcc doesn't handle it correctly. (bug #141083)
8754         * gst/gsttrashstack.h: same
8755
8756 2004-04-25  Benjamin Otte  <otte@gnome.org>
8757
8758         * gst/gstelement.c: (gst_element_change_state):
8759           fix assertion to do an int comparison
8760
8761 2004-04-25  Benjamin Otte  <otte@gnome.org>
8762
8763         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8764           better debugging output on error
8765
8766 2004-04-25  Benjamin Otte  <otte@gnome.org>
8767
8768         * gst/gstcaps.c: (gst_caps_subtract):
8769           fix memleak
8770
8771 2004-04-23  Benjamin Otte  <otte@gnome.org>
8772
8773         * gst/gstvalue.c: (gst_value_compare_buffer),
8774         (_gst_value_initialize):
8775           add comparison function for buffers
8776
8777 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8778
8779         * docs/pwg/pwg.xml:
8780           Just found out that this so-called "ima-wav" format is really
8781           just "dvi adpcm" (according to the MS WAV documentation). So
8782           renaming it. We didn't use it yet anyway.
8783
8784 2004-04-23  Benjamin Otte  <otte@gnome.org>
8785
8786         * gst/gstcaps.c: (gst_caps_is_always_compatible):
8787           call gst_caps_is_subset
8788
8789 2004-04-23  Benjamin Otte  <otte@gnome.org>
8790
8791         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
8792         (gst_caps_is_subset):
8793           add documentation
8794
8795 2004-04-23  Benjamin Otte  <otte@gnome.org>
8796           
8797         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
8798         (gst_caps_structure_subtract), (gst_caps_subtract),
8799         (gst_caps_structure_figure_out_union),
8800         (gst_caps_structure_simplify), (gst_caps_do_simplify):
8801           fix simplifying and subtracting not working correctly with optional
8802           properties
8803           solve assorted problems that make it now simplify ebven more
8804         * docs/gst/tmpl/gstcaps.sgml:
8805         * gst/gstcaps.h:
8806           make gst_caps_do_simplify return a bool to indicate if it simplified
8807         * testsuite/caps/simplify.c: (main):
8808           add more checks. The tests is quite a bit useless right now because
8809           the core is heavily simplifying itself.
8810         * testsuite/caps/caps.h:
8811           fix caps to contain all optional properties
8812
8813 2004-04-22  Benjamin Otte  <otte@gnome.org>
8814
8815         * docs/gst/tmpl/gstcaps.sgml:
8816         * docs/gst/tmpl/gstfilesrc.sgml:
8817         * docs/gst/tmpl/gststructure.sgml:
8818         * docs/gst/tmpl/gstvalue.sgml:
8819           update for recent API changes
8820         * gst/gstcaps.c: (gst_caps_do_simplify):
8821           fix to stop trying with a freed structure
8822         * gst/gstpad.c: (gst_pad_link_fixate):
8823           simplify caps
8824         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
8825           remove C++ comment
8826         * gst/gstpad.h:
8827           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
8828         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8829         (gst_structure_to_string):
8830           keep the correct type when using lists of ranges
8831         * gst/gstvalue.c: (gst_value_list_prepend_value),
8832         (gst_value_list_append_value):
8833           copy the value before adding to the list (d'oh)
8834         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
8835         (gst_value_subtract_int_range_int_range):
8836           handle overflows correctly
8837         * gst/gstvalue.c: (gst_value_subtract_from_list):
8838           fix memleak
8839         * testsuite/caps/caps.h:
8840           add a caps that caused segfaults
8841
8842 2004-04-22  Benjamin Otte  <otte@gnome.org>
8843
8844         * testsuite/refcounting/pad.c: (main):
8845           fix test
8846
8847 2004-04-22  Benjamin Otte  <otte@gnome.org>
8848
8849         * gst/gstcaps.c: (gst_caps_subtract):
8850           allow subtracting ANY and EMPTY from ANY caps
8851
8852 2004-04-22  Benjamin Otte  <otte@gnome.org>
8853
8854         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
8855         (gst_caps_union):
8856           only simplify in functions that create new caps. Simplifying in
8857           gst_caps_append breaks tests.
8858
8859 2004-04-22  Benjamin Otte  <otte@gnome.org>
8860
8861         * gst/gstcaps.c: (gst_caps_structure_simplify):
8862           unset GValue after use
8863         * gst/gstcaps.c: (gst_caps_append), 
8864         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
8865           use gst_caps_simplify (reduces registry size by 30%)
8866         * gst/gstpad.c: (gst_pad_template_new):
8867           don't allow NULL caps
8868
8869 2004-04-22  Benjamin Otte  <otte@gnome.org>
8870
8871         * docs/gst/gstreamer-sections.txt:
8872           add gst_caps_do_simplify
8873         * gst/gstcaps.c:
8874           add documentation for gst_caps_do_simplify
8875         * gst/gstvalue.h:
8876           fix typo in gst_value_register_subtract_func declaration for gst-doc
8877
8878 2004-04-22  Benjamin Otte  <otte@gnome.org>
8879
8880         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8881           fix bug when converting from empty string.
8882         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
8883         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
8884           use gst_caps_new_empty to allocate a new caps. Only that function
8885           allocates memory for caps now.
8886         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
8887         (gst_caps_remove_structure):
8888           add ability to remove one structure (but not to header yet)
8889         * gst/gstcaps.c: (gst_caps_compare_structures),
8890         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
8891         (gst_caps_structure_simplify), (gst_caps_do_simplify),
8892         * gst/gstcaps.h:
8893           add gst_caps_do_simplify that tries to simplify a caps in place.
8894           Deprecate old gst_caps_simplify function.
8895         * testsuite/caps/caps.h:
8896           add caps.h containing a common set of caps to test against.
8897         * testsuite/caps/sets.c: (check_caps), (main):
8898           use it.
8899         * testsuite/caps/.cvsignore:
8900         * testsuite/caps/Makefile.am:
8901         * testsuite/caps/simplify.c: (check_caps), (main):
8902           add test to check correctness and efficency of caps simplification.
8903
8904 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
8905
8906         reviewed by Benjamin Otte  <otte@gnome.org>
8907
8908         * gst/gstparse.c: (_gst_parse_escape):
8909           Free the GString used in _gst_parse_escape()
8910
8911 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8912
8913         * gst/gstpad.c: (gst_pad_link_negotiate):
8914           refuse to link if the link is not possible
8915         * configure.ac:
8916         * testsuite/Makefile.am:
8917         * testsuite/negotiation/.cvsignore:
8918         * testsuite/negotiation/Makefile.am:
8919         * testsuite/negotiation/pad_link.c: (main):
8920           add test that checks the above behaviour
8921
8922 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8923
8924         * docs/gst/gstreamer-sections.txt:
8925           add newly added API
8926
8927 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8928
8929         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8930         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
8931         (gst_filesrc_open_file), (gst_filesrc_close_file),
8932         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
8933         * gst/elements/gstfilesrc.h:
8934           add support for non-regular files (#140734)
8935
8936 2004-04-21  Benjamin Otte  <otte@gnome.org>
8937
8938         * gst/gstpad.c: (gst_pad_link_fixate):
8939           add sophisticated error checking code to see if fixation functions
8940           did their fixation right
8941
8942 2004-04-21  Benjamin Otte  <otte@gnome.org>
8943
8944         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
8945           check for ANY caps before appending/unioning
8946         * gst/gstcaps.c: (gst_caps_is_subset),
8947         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
8948         (gst_caps_structure_subtract), (gst_caps_subtract):
8949         * gst/gstcaps.h:
8950           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
8951           the API. deprecate gst_caps_is_equal_fixed
8952         * gst/gstpad.c: (gst_pad_try_set_caps):
8953         * gst/gstqueue.c: (gst_queue_link):
8954           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
8955         * gst/gststructure.c: (gst_structure_get_name_id):
8956         * gst/gststructure.h:
8957           add function gst_structure_get_name_id
8958         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
8959         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
8960         (gst_value_subtract_int_range_int_range),
8961         (gst_value_subtract_double_double_range),
8962         (gst_value_subtract_double_range_double),
8963         (gst_value_subtract_double_range_double_range),
8964         (gst_value_subtract_from_list), (gst_value_subtract_list),
8965         (gst_value_can_intersect), (gst_value_subtract),
8966         (gst_value_can_subtract), (gst_value_register_subtract_func),
8967         (_gst_value_initialize):
8968         * gst/gstvalue.h:
8969           add support for subtracting values from each other. Note that
8970           subtracting means subtracting as in set theory. Required for caps
8971           stuff above.
8972         * testsuite/caps/.cvsignore:
8973         * testsuite/caps/Makefile.am:
8974         * testsuite/caps/erathostenes.c: (erathostenes), (main):
8975         * testsuite/caps/sets.c: (check_caps), (main):
8976         * testsuite/caps/subtract.c: (check_caps), (main):
8977           add tests for subtraction and equality code.
8978
8979 2004-04-20  David Schleef  <ds@schleef.org>
8980
8981         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
8982         * gst/indexers/Makefile.am:
8983         * gst/schedulers/Makefile.am:
8984         * libs/gst/bytestream/Makefile.am:
8985         * libs/gst/control/Makefile.am:
8986         * libs/gst/getbits/Makefile.am:
8987
8988 2004-04-20  David Schleef  <ds@schleef.org>
8989
8990         * common/as-libtool.mak: Fine-tune DLL building.
8991         * configure.ac: Link plugins against libgstreamer.  Define plugindir
8992         (like gst-plugins)
8993         * examples/plugins/Makefile.am: remove plugindir
8994         * gst/autoplug/Makefile.am: DLL building fixes
8995         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
8996         Windows.
8997         * gst/elements/gstelements.c: Conditionally disable pipefilter.
8998         * gst/indexers/Makefile.am: DLL building fixes
8999         * gst/schedulers/Makefile.am: DLL building fixes.
9000         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9001         * libs/gst/control/Makefile.am: same
9002         * libs/gst/getbits/Makefile.am: same
9003         * testsuite/Makefile.am: New dlopen directory
9004         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9005         when dlopened.
9006         * testsuite/dlopen/dlopen_gst.c: (main): same
9007         * testsuite/dlopen/loadgst.c: (do_test): same
9008
9009 2004-04-20  David Schleef  <ds@schleef.org>
9010
9011         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9012         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9013
9014 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9015
9016         * gst/gstelement.c: (gst_element_wait),
9017         (gst_element_set_time_delay), (gst_element_change_state):
9018           Use GST_TIME_*
9019
9020 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9021
9022         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9023         (gst_spider_identity_plug):
9024           improve debugging messages
9025         * gst/gstbin.c: (gst_bin_remove_func):
9026           make sure the state_change function is only called with simple state
9027           transitions
9028
9029 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9030
9031         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9032         (gst_fakesink_set_property), (gst_fakesink_chain):
9033         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9034         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9035         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9036         * gst/elements/gstidentity.c: (gst_identity_chain),
9037         (gst_identity_set_property):
9038         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9039         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9040           add warnings to _set_property for unknown arguments
9041           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9042
9043 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9044
9045         * Makefile.am:
9046         * docs/manuals.mak:
9047           add .po file download snippet
9048           fix a bug in the doc makefile
9049
9050 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9051
9052         * Makefile.am:
9053         * po/LINGUAS:
9054         * po/en_GB.po:
9055           Added en_GB translation (Gareth Owen)
9056
9057 2004-04-20  Johan Dahlin  <johan@gnome.org>
9058
9059         * gst/gstpad.c (_invent_event): Clean up
9060
9061 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9062
9063         * testsuite/caps/filtercaps.c: (main):
9064           fix test to test things correctly (caps are complicated)
9065
9066 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9067
9068         * testsuite/caps/Makefile.am:
9069         * testsuite/caps/filtercaps.c: (main):
9070           add test (that doesn't work right now, but should)
9071
9072 2004-04-19  David Schleef  <ds@schleef.org>
9073
9074         * configure.ac: Add test for allowing unaligned access.  Add define
9075         to put in gstconfig.h.
9076         * docs/gst/gstreamer-sections.txt: New symbols
9077         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9078         * docs/gst/tmpl/gstfilesrc.sgml:
9079         * docs/gst/tmpl/gstparse.sgml:
9080         * docs/gst/tmpl/gsttypes.sgml:
9081         * docs/gst/tmpl/gstutils.sgml:
9082         * docs/gst/tmpl/gstvalue.sgml:
9083         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9084         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9085         on most !i386/!powerpc architectures.  From Daniel Gazard
9086         <daniel.gazard@free.fr>.  (bug #140156)
9087         * po/af.po: Check in changes made by gettext.
9088         * po/az.po:
9089         * po/fr.po:
9090         * po/nl.po:
9091         * po/sr.po:
9092         * po/sv.po:
9093
9094 2004-04-20  Benjamin Otte  <otte@gnome.org>
9095
9096         * gst/schedulers/entryscheduler.c: 
9097         (gst_entry_scheduler_yield):
9098           refuse to yield when decoupled elements insist on doing that.
9099           At least it's better than crashing
9100
9101 2004-04-19  David Schleef  <ds@schleef.org>
9102
9103         * docs/libs/Makefile.am: Change sinclude to include
9104         * docs/gst/Makefile.am: same
9105         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9106
9107 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9108
9109         * po/LINGUAS:
9110         * po/uk.po:
9111           Added Ukrainian translation (Maxim V. Dziumanenko)
9112
9113 2004-04-19  Johan Dahlin  <johan@gnome.org>
9114
9115         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9116         checking here, do it before calling the function.
9117         Clean up, use for loops instead of while loops while iterating
9118         over lists.
9119
9120         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9121         in debug message.
9122         (gst_spider_create_and_plug): Improve debug message.
9123         General: Replace while loops which iterates over GLists with for
9124         loops. Which are much cleaner, improves readability, especially
9125         for gst_spider_identity_plug
9126
9127         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9128         fixes bug 140477
9129
9130 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9131
9132         * po/LINGUAS:
9133         * po/tr.po:
9134           Added Turkish translation (Baris Cicek)
9135
9136 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9137
9138         * docs/faq/troubleshooting.xml:
9139           Mention gst-register in the FAQ (fixes 139045).
9140
9141 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9142
9143         * docs/gst/gstreamer-sections.txt:
9144
9145 2004-04-17  Benjamin Otte  <otte@gnome.org>
9146
9147         * gst/gstelement.c: (gst_element_dispose):
9148           simplify
9149         * gst/gstpad.c: (gst_pad_call_chain_function):
9150           don't create loads of events due to bad macro usage
9151
9152 2004-04-16  David Schleef  <ds@schleef.org>
9153
9154         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9155         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9156         * gst/gstvalue.c: (gst_value_serialize_buffer),
9157         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9158         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9159         to indicate types that are fixed wrt caps or not.  Switching to
9160         this function fixes (bug #140298).
9161         * gst/gstvalue.h:
9162
9163 2004-04-16  David Schleef  <ds@schleef.org>
9164
9165         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9166         for GST_UNALIGNED_ACESS, since we essentially know which archs
9167         are ok.
9168
9169 2004-04-17  Benjamin Otte  <otte@gnome.org>
9170
9171         * docs/gst/Makefile.am:
9172           ignore gst/parse directory when building docs (fixes #140205)
9173
9174 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9175
9176         * testsuite/refcounting/mem.c: (vmsize):
9177           do error checking
9178
9179 2004-04-16  Johan Dahlin  <johan@gnome.org>
9180
9181         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9182         and gst_pad_call_get_function.
9183
9184 2004-04-15  David Schleef  <ds@schleef.org>
9185
9186         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9187         checks if we can access unaligned memory.
9188         * configure.ac: Use it.
9189
9190 2004-04-16  Benjamin Otte  <otte@gnome.org>
9191
9192         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9193         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9194         * gst/elements/gstfilesrc.h:
9195           s/seek_happened/need_discont/ and require discont before sending any
9196           data
9197
9198 2004-04-15  David Schleef  <ds@schleef.org>
9199
9200         * gst/gstvalue.c: (gst_value_serialize_buffer),
9201         (gst_value_deserialize_buffer), (_gst_value_initialize):
9202         Register these types as fundamental types. (bug #140015)
9203
9204 2004-04-16  Benjamin Otte  <otte@gnome.org>
9205
9206         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9207         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9208         (gst_pad_pull):
9209           implement enforcing discont events before buffers are passed. This
9210           allows state changes of only some elements and later correctly going
9211           on where they left off (or in short: you can now set audio sinks to
9212           NULL to release the device when the pipeline is paused)
9213         * gst/gstpad.c: (gst_pad_call_chain_function),
9214         (gst_pad_call_get_function):
9215         * gst/gstpad.h:
9216           add gst_pad_call_chain_function and gst_pad_call_get_function for
9217           scheduler interaction. They are required because of the changes
9218           above.
9219         * gst/schedulers/entryscheduler.c: (get_buffer),
9220         (gst_entry_scheduler_chain_wrapper),
9221         (gst_entry_scheduler_get_wrapper),
9222         (gst_entry_scheduler_state_transition),
9223         (gst_entry_scheduler_pad_link):
9224         * gst/schedulers/gstbasicscheduler.c:
9225         (gst_basic_scheduler_chain_wrapper),
9226         (gst_basic_scheduler_src_wrapper),
9227         (gst_basic_scheduler_chainhandler_proxy),
9228         (gst_basic_scheduler_gethandler_proxy),
9229         (gst_basic_scheduler_cothreaded_chain),
9230         (gst_basic_scheduler_chain_elements):
9231         * gst/schedulers/gstoptimalscheduler.c:
9232         (get_group_schedule_function), (pad_clear_queued),
9233         (gst_opt_scheduler_pad_link):
9234           use the new functions instead of calling get/chain-functions
9235           directly.
9236
9237 2004-04-15  David Schleef  <ds@schleef.org>
9238
9239         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9240         * docs/gst/tmpl/gstinfo.sgml: same
9241         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9242         gtk-doc put here.
9243         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9244         * examples/queue/queue.c: (main):  We iterate pipelines, not
9245         bins.  (bug #139996)
9246
9247 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9248
9249         * docs/pwg/advanced-types.xml:
9250           Add MS RLE support. Also document Qt RLE although I have no sample
9251           files for that yet. And document an extra property for ADPCM.
9252
9253 2004-04-15  David Schleef  <ds@schleef.org>
9254
9255         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9256         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9257         Windows.
9258
9259 2004-04-15  David Schleef  <ds@schleef.org>
9260
9261         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9262         symbol names to not conflict with new gstinfo.h symbols.
9263         * gst/gstinfo.h: Add inline functions for all those crazy
9264         compilers that don't know how to handle variadic macros (MSVC).
9265
9266 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9267
9268         * configure.ac: bump nano to 1
9269
9270 === release 0.8.1 ===
9271
9272 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9273
9274         * NEWS:
9275         * RELEASE:
9276         * configure.ac:
9277           releasing 0.8.1, "Snow Brigade"
9278
9279 2004-04-14  David Schleef  <ds@schleef.org>
9280
9281         * testsuite/Makefile.am: define tests_ignore
9282         * testsuite/Rules: Added new tests_ignore, which get compiled,
9283         but not run (generally because they're inconsistent or have
9284         heisenbugs).  Now we can ensure all the .c files compile in
9285         testsuite/.
9286         * testsuite/bins/Makefile.am: define tests_ignore
9287         * testsuite/bytestream/Makefile.am:
9288         * testsuite/caps/Makefile.am:
9289         * testsuite/clock/Makefile.am:
9290         * testsuite/debug/Makefile.am:
9291         * testsuite/debug/global.c: (gst_debug_log_one),
9292         (gst_debug_log_two): Fix compilation problem.
9293         * testsuite/dynparams/Makefile.am:
9294         * testsuite/elements/Makefile.am:
9295         * testsuite/ghostpads/Makefile.am:
9296         * testsuite/indexers/Makefile.am:
9297         * testsuite/parse/Makefile.am:
9298         * testsuite/plugin/Makefile.am:
9299         * testsuite/refcounting/Makefile.am:
9300         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9301         results, because it's not calculated correctly.
9302         * testsuite/refcounting/pad.c: (main): same
9303         * testsuite/states/Makefile.am:
9304         * testsuite/tags/Makefile.am:
9305         * testsuite/threads/Makefile.am:
9306
9307 2004-04-14  David Schleef  <ds@schleef.org>
9308
9309         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9310         generating bad code around the cpu detection asm code.
9311
9312 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9313
9314         * tools/gst-inspect.c: (print_element_info):
9315           print numeric version of rank as well, since we added some - 1
9316           rank values to elements
9317
9318 2004-04-13  David Schleef  <ds@schleef.org>
9319
9320         * configure.ac:  Disable various code when compiling for MinGW.
9321         * gst/elements/Makefile.am:
9322         * gst/elements/gstelements.c:
9323         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9324         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9325         * gst/registries/gstxmlregistry.c: (make_dir):
9326
9327 2004-04-13  David Schleef  <ds@schleef.org>
9328
9329         * gst/Makefile.am:
9330         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9331         assembly.
9332         * gst/gstcpuid_i386.s: remove
9333
9334 2004-04-13  David Schleef  <ds@schleef.org>
9335
9336         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9337         seems to think it needs to be done.
9338         * docs/gst/tmpl/gstfakesink.sgml:
9339         * docs/gst/tmpl/gstfakesrc.sgml:
9340         * docs/gst/tmpl/gstfdsink.sgml:
9341         * docs/gst/tmpl/gstfdsrc.sgml:
9342         * docs/gst/tmpl/gstfilesink.sgml:
9343         * docs/gst/tmpl/gstfilesrc.sgml:
9344         * docs/gst/tmpl/gstidentity.sgml:
9345         * docs/gst/tmpl/gstmd5sink.sgml:
9346         * docs/gst/tmpl/gstmultifilesrc.sgml:
9347         * docs/gst/tmpl/gstpipefilter.sgml:
9348         * docs/gst/tmpl/gstshaper.sgml:
9349         * docs/gst/tmpl/gstspider.sgml:
9350         * docs/gst/tmpl/gstspideridentity.sgml:
9351         * docs/gst/tmpl/gststatistics.sgml:
9352         * docs/gst/tmpl/gsttee.sgml:
9353         * docs/gst/tmpl/gsttypefind.sgml:
9354         * docs/gst/tmpl/gstutils.sgml:
9355
9356 2004-04-13  David Schleef  <ds@schleef.org>
9357
9358         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9359         and to build DLLs on Windows.
9360         * gst/Makefile.am:
9361         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9362         (gst_filesrc_open_file):
9363         * gst/schedulers/Makefile.am:
9364
9365 2004-04-13  David Schleef  <ds@schleef.org>
9366
9367         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9368         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9369         fixating lists.
9370
9371 2004-04-12  David Schleef  <ds@schleef.org>
9372
9373         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9374         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9375         to using it.
9376         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9377         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9378         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9379         * gst/gststructure.c: (gst_structure_set_valist),
9380         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9381         support for buffers.
9382         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
9383         intended to be const.
9384         * gst/gsttag.h: same
9385         * gst/gstvalue.c: (gst_value_serialize_buffer),
9386         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
9387         to (de)serialize buffers.
9388         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
9389         * testsuite/caps/string-conversions.c: (main):
9390         * testsuite/caps/value_serialize.c: add new test
9391
9392 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9393
9394         * docs/pwg/advanced-types.xml:
9395           Document MS video 1 (video/x-msvideocodec) mimetype/format.
9396
9397 2004-04-11  Benjamin Otte  <otte@gnome.org>
9398
9399         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
9400           rename categories to basic_*
9401         * gst/schedulers/gstbasicscheduler.c: 
9402         (gst_basic_scheduler_chain_wrapper),
9403         (gst_basic_scheduler_chainhandler_proxy),
9404         (gst_basic_scheduler_gethandler_proxy),
9405         (gst_basic_scheduler_eventhandler_proxy):
9406           debugging category fixes - put common stuff in log category
9407         * gst/schedulers/gstbasicscheduler.c: 
9408         (gst_basic_scheduler_chain_elements):
9409           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
9410           active and linking two active chains
9411
9412 2004-04-10  Benjamin Otte  <otte@gnome.org>
9413
9414         * docs/pwg/intro-preface.xml:
9415           fix dead links and remove reference to Wiki
9416
9417 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9418
9419         * gst/schedulers/gstbasicscheduler.c:
9420           make sure we can switch back to the main function if we're still in
9421           the main function (supposed to fix #139617)
9422         * gst/schedulers/gthread-cothreads.h:
9423           don't throw an error when switching to the same cothread
9424
9425 2004-04-09  Benjamin Otte  <otte@gnome.org>
9426
9427         * gst/gstbin.c: (gst_bin_get_type):
9428         * gst/gstclock.c: (gst_clock_get_type):
9429         * gst/gstindex.c: (gst_index_get_type):
9430         * gst/gstobject.c: (gst_object_get_type),
9431         (gst_signal_object_get_type):
9432         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
9433         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
9434         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
9435         * gst/gstqueue.c: (gst_queue_get_type):
9436         * gst/gstregistry.c: (gst_registry_get_type):
9437         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9438         * gst/gstthread.c: (gst_thread_get_type):
9439           don't use memchunks for these objects, use malloc instead
9440
9441 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9442
9443         * docs/gst/.cvsignore:
9444         * docs/gst/Makefile.am:
9445         * docs/gst/gstreamer-sections.txt:
9446         * docs/gst/tmpl/gstaggregator.sgml:
9447         * docs/gst/tmpl/gstbuffer.sgml:
9448         * docs/gst/tmpl/gstclock.sgml:
9449         * docs/gst/tmpl/gstelement.sgml:
9450         * docs/gst/tmpl/gstfakesink.sgml:
9451         * docs/gst/tmpl/gstfakesrc.sgml:
9452         * docs/gst/tmpl/gstfdsink.sgml:
9453         * docs/gst/tmpl/gstfdsrc.sgml:
9454         * docs/gst/tmpl/gstfilesink.sgml:
9455         * docs/gst/tmpl/gstfilesrc.sgml:
9456         * docs/gst/tmpl/gstidentity.sgml:
9457         * docs/gst/tmpl/gstindex.sgml:
9458         * docs/gst/tmpl/gstinfo.sgml:
9459         * docs/gst/tmpl/gstmd5sink.sgml:
9460         * docs/gst/tmpl/gstmultifilesrc.sgml:
9461         * docs/gst/tmpl/gstpad.sgml:
9462         * docs/gst/tmpl/gstpipefilter.sgml:
9463         * docs/gst/tmpl/gstpipeline.sgml:
9464         * docs/gst/tmpl/gstpluginfeature.sgml:
9465         * docs/gst/tmpl/gstqueue.sgml:
9466         * docs/gst/tmpl/gstregistry.sgml:
9467         * docs/gst/tmpl/gstscheduler.sgml:
9468         * docs/gst/tmpl/gstshaper.sgml:
9469         * docs/gst/tmpl/gstspider.sgml:
9470         * docs/gst/tmpl/gstspideridentity.sgml:
9471         * docs/gst/tmpl/gststatistics.sgml:
9472         * docs/gst/tmpl/gstsystemclock.sgml:
9473         * docs/gst/tmpl/gsttee.sgml:
9474         * docs/gst/tmpl/gstthread.sgml:
9475         * docs/gst/tmpl/gsttypefind.sgml:
9476         * docs/gst/tmpl/gstutils.sgml:
9477           further doc build fixes
9478
9479 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9480
9481         * docs/gst/Makefile.am:
9482           make docs exit on scanning problems
9483           fix nonsrcdir build issues
9484         * docs/gst/gstreamer-sections.txt:
9485           adding stuff from -unused
9486         * gst/gstqueue.h:
9487           create GstQueueSize
9488         * gst/schedulers/cothreads_compat.h:
9489           fix cothread warnings
9490
9491 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9492
9493         * docs/gst/gstreamer-sections.txt:
9494           remove defines deprecated by Benjamin
9495
9496 2004-04-07  Benjamin Otte  <otte@gnome.org>
9497
9498         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9499           when the buffer is complete, don't check if other buffers are needed
9500         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
9501           check that the offset is >0 so we don't try to read before the
9502           beginning of the file
9503         * gst/gstpad.c: (gst_pad_set_pad_template):
9504           sink the template, so we don't end up with 130k pad templates
9505
9506 2004-04-06  Benjamin Otte  <otte@gnome.org>
9507
9508         * gst/autoplug/gstspider.c: (gst_spider_link_add):
9509           don't ref the element, adding already reffed it. And we didn't unref
9510           it later anyway... (huge memleak when you used many spider elements)
9511         * gst/gstelement.c: (gst_element_base_class_finalize):
9512         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
9513         (gst_element_register):
9514         * gst/gsturi.c: (gst_element_make_from_uri):
9515           use gst_object_(un)ref instead of g_object(un)ref
9516
9517 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9518
9519         * gst/gstbuffer.h:
9520           remove macro that wouldn't work anymore because struct member has
9521           been removed.
9522         * gst/schedulers/entryscheduler.c: (schedule_forward):
9523           fix segfault for unconnected pads
9524         
9525 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9526
9527         reviewed by David Schleef <ds@schleef.org>
9528
9529         * gst/gstinfo.h:
9530           *_FORMAT modifiers should require putting a % in front of them for
9531           consistency reasons.
9532
9533 2004-04-05  Colin Walters  <walters@redhat.com>
9534
9535         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
9536         space.
9537
9538 2004-04-05  Benjamin Otte  <otte@gnome.org>
9539
9540         * configure.ac:
9541         * gst/Makefile.am:
9542         * gst/gst_private.h:
9543         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
9544           add support for detecting if GStreamer runs inside valgrind.
9545           requires valgrind (d'oh) and --enable-debug for correct cdetection.
9546           print a big message in valgrind that GStreamer has detected it's
9547           running inside and might now use different code.
9548         * gst/gstmemchunk.c: (populate), (free_area),
9549         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
9550         (gst_mem_chunk_free):
9551           flag memchunks for valgrind, so it can detect leaking of chunks.
9552           This allows detecting leaks of GstBuffer and GstEvent correctly
9553           inside valgrind.
9554
9555 2004-04-05  David Schleef  <ds@schleef.org>
9556
9557         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
9558           jensgr@gmx.net (Jens Granseuer)
9559
9560 2004-04-05  David Schleef  <ds@schleef.org>
9561
9562         * gst/gstbuffer.c: (_gst_buffer_sub_free),
9563         (gst_buffer_default_free), (gst_buffer_default_copy),
9564         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
9565         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
9566         structures in one place.
9567
9568 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9569
9570         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
9571           (GST_TIME_FORMAT, GST_TIME_ARGS)
9572
9573 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9574
9575         * testsuite/elements/Makefile.am:
9576           disable test until it stops breaking make distcheck
9577
9578 2004-04-05  Johan Dahlin  <johan@gnome.org>
9579
9580         * po/sv.po: Updated translation
9581
9582 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9583
9584         * gst/gstplugin.c: (gst_plugin_load_file):
9585           fix segfault for when original plugin was loaded statically
9586
9587 2004-04-05  Benjamin Otte  <otte@gnome.org>
9588
9589         * testsuite/debug/category.c: (main):
9590         * testsuite/debug/commandline.c: (main):
9591         * testsuite/debug/output.c: (main):
9592           fix tests to work again with debugging enabled
9593
9594 2004-04-05  Benjamin Otte  <otte@gnome.org>
9595
9596         * gst/schedulers/gstbasicscheduler.c:
9597         (gst_basic_scheduler_pad_link):
9598           fix to work with recent scheduling changes
9599
9600 2004-04-05  Benjamin Otte  <otte@gnome.org>
9601
9602         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
9603         prepareChangeLog doesn't work when cvs indents):
9604           don't throw an error when no element can be scheduled, there's too
9605           many weird reasons why it doesn't work. Return STOPPED instead.
9606           decoupled elemts' schedulability doesn't depend on bufpens.
9607
9608 2004-04-04  Benjamin Otte  <otte@gnome.org>
9609
9610         * gst/schedulers/gstbasicscheduler.c:
9611         (gst_basic_scheduler_pad_select):
9612           fix uninitialized variable warnings
9613
9614 2004-04-04  Benjamin Otte  <otte@gnome.org>
9615
9616         * gst/gstpad.c: (gst_pad_collect_valist):
9617           fix uninitialized variable warning
9618         * gst/schedulers/entryscheduler.c: (schedule_forward):
9619           fix shadowed variable
9620
9621 2004-04-04  Benjamin Otte  <otte@gnome.org>
9622
9623         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
9624         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
9625         (gst_pad_select):
9626         * gst/gstpad.h:
9627         * gst/gstscheduler.c: (gst_scheduler_pad_select),
9628         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
9629         * gst/gstscheduler.h:
9630           implement gst_pad_collect as replacement for gst_pad_select.
9631           deprecate gst_pad_select and gst_scheduler_(un)lock_element
9632           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
9633           new pad_select, lock and unlock calls.
9634         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
9635         * gst/cothreads.h:
9636         * gst/schedulers/cothreads_compat.h:
9637         * gst/schedulers/gthread-cothreads.h:
9638           remove unused cothread_lock and cothread_unlock calls
9639         * gst/schedulers/entryscheduler.c:
9640         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
9641         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
9642         (gst_entry_scheduler_pad_select):
9643           update to new API
9644         * gst/schedulers/gstbasicscheduler.c:
9645         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
9646         (gst_basic_scheduler_pad_select):
9647           remove useless lock and unlock calls, update pad_select to new API
9648           (untested)
9649         * gst/schedulers/gstoptimalscheduler.c:
9650         (gst_opt_scheduler_class_init):
9651           remove useless select, lock and unlock function calls
9652         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
9653           use gst_pad_collect instead of gst_pad_select
9654
9655 2004-04-04  Benjamin Otte  <otte@gnome.org>
9656
9657         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
9658         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
9659         (schedule_next_element), (print_entry):
9660           add can_schedule_pad to handle element states.
9661           add schedule_forward to select the correct entry to schedule next
9662
9663 2004-04-03  Benjamin Otte  <otte@gnome.org>
9664
9665         * gst/schedulers/entryscheduler.c: 
9666           remove unused variable, fix error inside Rb, fix compile warning in
9667           unreachable code
9668
9669 2004-04-03  Benjamin Otte  <otte@gnome.org>
9670
9671         * gst/schedulers/entryscheduler.c:
9672           completely revamp the inner workings, so it's a lot easier to
9673           understand and extend
9674
9675 2004-04-03  Andy Wingo  <wingo@pobox.com>
9676
9677         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
9678         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
9679         This allows better introspection of pipeline topology.
9680         (add_to_chain): Don't do trickery to put loop elements first;
9681         rather, queue a chain sort by marking the chain as dirty.
9682         (remove_from_chain): Mark the chain dirty.
9683         (sort_chain): New function. Sorts the group list so that terminal
9684         sinks are first. This means elements on the sink side will be
9685         preferentially sscheduled before elements on the src side of the
9686         pipeline.
9687         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
9688         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
9689         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
9690         (group_inc_link): Change argument and variable names to match the
9691         new link structure member names (src and sink).
9692         (group_dec_link): Add some description
9693
9694 2004-04-03  Benjamin Otte  <otte@gnome.org>
9695
9696         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9697         * gst/gstinfo.h:
9698         * testsuite/debug/category.c: (main):
9699         * testsuite/debug/commandline.c: (main):
9700         * testsuite/debug/output.c: (main):
9701         * testsuite/debug/printf_extension.c: (main):
9702           fix to successfully build and test with --disable-gst-debug
9703           configure switch (fixes #138705)
9704
9705 2004-04-03  Benjamin Otte  <otte@gnome.org>
9706
9707         * docs/pwg/building-boiler.xml:
9708           add cvs login line and s/anonymous/anoncvs/
9709
9710 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
9711
9712         reviewed by Benjamin Otte  <otte@gnome.org>
9713
9714         * gst/gststructure.c: (gst_structure_free):
9715           memleak fix: free fields array (partial fix for #134839)
9716
9717 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9718
9719         * docs/random/ds/0.9-suggested-changes:
9720           Add a note to change handoff use in fakesrc to be usable in
9721           a more generic way (fakesrc should be renamed to appsrc or so).
9722         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9723           Change signal type to scope, so we can fill the buffer in the
9724           handoff handler (that's the whole use of this signal...).
9725
9726 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9727
9728         * docs/pwg/other-ntoone.xml:
9729           Document muxers and n-to-1 elements.
9730
9731 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
9732
9733         * gst/registries/gstxmlregistry.c
9734         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
9735         determine if a file is a G_MODULE. The old one discards paths
9736         containing "so" somewhere in the middle. My home directory is
9737         called "soto". Go figure...
9738
9739 2004-03-31  David Schleef  <ds@schleef.org>
9740
9741         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
9742         to eventually deprecate gst_buffer_merge().  (bug: #136408)
9743         * gst/gstbuffer.h:
9744
9745 2004-03-31  David Schleef  <ds@schleef.org>
9746
9747         * gst/gstvalue.c: (gst_value_union_int_int_range),
9748         (gst_value_union_int_range_int_range), (gst_value_can_union),
9749         (gst_value_union), (_gst_value_initialize):  Add some union
9750         implementations.  We didn't have any previously.
9751         * testsuite/caps/Makefile.am:
9752         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
9753         (gst_audioscale_getcaps), (test_caps), (main): A little test
9754         that is the same as the caps manipulation in audioscale.
9755
9756 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9757
9758         * docs/faq/general.xml:
9759           add entry about "does gst support format X?"
9760
9761 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9762
9763         * gst/gstthread.c:
9764           fix docs
9765         * gst/gstutils.h:
9766           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
9767
9768 2004-03-30  Benjamin Otte  <otte@gnome.org>
9769
9770         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9771           set the offset of the buffer to the requested offset
9772         * gst/elements/gsttypefind.c: (stop_typefinding):
9773           revert patch 1.18 (which I unfortunately don't know the reason for).
9774           This is needed to allow downstream elements to seek. Otherwise
9775           typefind might overwrite a previous seek by downstream elements.
9776           This lead to errors with id3tag and typefind on some mp3s.
9777         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9778         (gst_entry_scheduler_iterate):
9779           be more verbose when debugging
9780
9781 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9782
9783         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9784           make sure we don't get NULL strings
9785
9786 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9787
9788         * gst/gstcaps.c:
9789         * gst/gstelement.c:
9790         * gst/gstelementfactory.c: (gst_element_factory_get_type):
9791         * gst/gstindex.c: (gst_index_resolver_get_type),
9792         (gst_index_get_type), (gst_index_factory_get_type):
9793         * gst/gstinfo.c:
9794         * gst/gstpad.c:
9795         * gst/gstplugin.c:
9796         * gst/gsturi.c: (gst_uri_handler_get_type):
9797         * gst/gstvalue.c:
9798           first batch of documentation fixes
9799
9800 2004-03-29  David Schleef  <ds@schleef.org>
9801
9802         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
9803         * docs/gst/gstreamer-docs.sgml:  More hacking
9804         * docs/gst/gstreamer-sections.txt:
9805         * docs/gst/tmpl/cothreads_compat.sgml:
9806         * docs/gst/tmpl/gstcaps.sgml:
9807         * docs/gst/tmpl/gstclock.sgml:
9808         * docs/gst/tmpl/gstelement.sgml:
9809         * docs/gst/tmpl/gstevent.sgml:
9810         * docs/gst/tmpl/gstpad.sgml:
9811         * docs/gst/tmpl/gstutils.sgml:
9812         * docs/gst/tmpl/gstxml.sgml:
9813         * docs/gst/tmpl/gthread-cothreads.sgml:
9814         * docs/random/ds/0.9-suggested-changes:
9815         * gst/elements/gstfakesink.h: doc fixes
9816         * gst/elements/gstfakesrc.h: doc fixes
9817         * gst/gstcaps.c: doc fixes
9818         * gst/gstcaps.h: doc fixes
9819         * gst/gstelement.c: doc fixes
9820         * gst/gstelement.h: doc fixes
9821         * gst/gstindex.c: doc fixes
9822         * gst/gstinfo.c: doc fixes
9823         * gst/gstpad.c: doc fixes
9824         * gst/gstpad.h: doc fixes
9825         * gst/gstplugin.c: doc fixes
9826         * gst/gsttypefind.h: doc fixes
9827         * gst/gsturi.c: doc fixes
9828         * gst/gstvalue.c: doc fixes
9829
9830 2004-03-29  Colin Walters  <walters@redhat.com>
9831
9832         * gst/registries/gstxmlregistry.c (get_time)
9833         (plugin_times_older_than_recurse):
9834         Use the result of stat to determine whether a path is a file,
9835         so we don't attempt to opendir() files.
9836
9837 2004-03-29  Benjamin Otte  <otte@gnome.org>
9838
9839         * gst/gstpad.c: (gst_pad_set_explicit_caps):
9840           print caps in debugging output when setting caps failed
9841         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9842         (schedule_next_element), (get_buffer), (run_chainhandler),
9843         (element_may_start), (gst_entry_scheduler_chain_handler),
9844         (gst_entry_scheduler_get_handler),
9845         (gst_entry_scheduler_state_transition),
9846         (gst_entry_scheduler_pad_link):
9847           make this scheduler a testcase for mandatory
9848           discont-before-first-buffer which is needed if we want to allow apps
9849           to release the sound device.
9850           add SCHED_ASSERT macro to print scheduler state before an assertion
9851           triggers.
9852
9853 2004-03-29  Benjamin Otte  <otte@gnome.org>
9854
9855         * COPYING:
9856           replace by LGPL (former COPYING.LIB). The core is completely
9857           licensed LGPL.
9858         * COPYING.LIB:
9859           remove
9860
9861 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9862
9863         * po/af.po:
9864         * po/sv.po:
9865           updated Afrikaans and Swedish
9866
9867 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9868
9869         * po/LINGUAS:
9870         * po/az.po:
9871           adding Azerbaijani (Mətin Əmirov)
9872
9873 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
9874
9875         * gst/gstelement.h: 
9876         * gst/gstelement.c (gst_element_set_time_delay): New function for
9877         setting element time taking into account a hardware buffering
9878         delay.
9879         (gst_element_set_time): Now just an invocation of
9880         gst_element_set_time_delay.
9881         * gst/gstclock.h: 
9882         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
9883         allowing to set event times in the future.
9884         (gst_clock_get_event_time): Now just an invocation of
9885         gst_clock_get_event_time_delay.
9886
9887 2004-03-28  Benjamin Otte  <otte@gnome.org>
9888
9889         * gst/gstbin.c: (gst_bin_set_element_sched),
9890         (gst_bin_unset_element_sched):
9891           don't add decoupled elements to schedulers - otherwise it's
9892           impossible to control if a link to a decoupled element was already
9893           removed from a scheduler or not.
9894         * gst/schedulers/cothreads_compat.h:
9895         * gst/schedulers/gthread-cothreads.h:
9896           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
9897           is no "unused" warning.
9898         * gst/schedulers/Makefile.am:
9899         * gst/schedulers/entryscheduler.c:
9900           add new scheduler, based on ideas from talking to David and Martin.
9901           It's supposed to be small and correct. Currently it's also slow (but
9902           it's not noticable)
9903         * examples/retag/retag.c: (main):
9904         * testsuite/bytestream/test1.c: (main):
9905           fix missing NULLs at end of variadic functions
9906         * testsuite/elements/.cvsignore:
9907           update
9908
9909 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
9910
9911         * gst/gstevent.h:
9912         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
9913
9914 2004-03-25  David Schleef  <ds@schleef.org>
9915
9916         * docs/gst/gstreamer-sections.txt:  More doc hacking.
9917         * docs/gst/tmpl/gstaggregator.sgml:
9918         * docs/gst/tmpl/gstautoplugfactory.sgml:
9919         * docs/gst/tmpl/gstbin.sgml:
9920         * docs/gst/tmpl/gstbuffer.sgml:
9921         * docs/gst/tmpl/gstbufferstore.sgml:
9922         * docs/gst/tmpl/gstfakesink.sgml:
9923         * docs/gst/tmpl/gstfakesrc.sgml:
9924         * docs/gst/tmpl/gstmd5sink.sgml:
9925         * docs/gst/tmpl/gstreamer-unused.sgml:
9926         * docs/gst/tmpl/gstsearchfuncs.sgml:
9927         * docs/gst/tmpl/gstshaper.sgml:
9928         * docs/gst/tmpl/gstspider.sgml:
9929         * docs/gst/tmpl/gsttee.sgml:
9930         * docs/gst/tmpl/gstutils.sgml:
9931         * docs/gst/tmpl/gstvalue.sgml:
9932         * docs/gst/tmpl/gstxml.sgml:
9933         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
9934         and we don't support it.
9935         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9936         (gst_use_threads), (gst_has_threads): same
9937         * gst/gstthreaddummy.c: same
9938         * gst/autoplug/gstspider.c: Make gst_spider_details static.
9939         * gst/autoplug/gstspider.h: same
9940         * gst/elements/gstaggregator.h: Remove bogus function from header
9941         * gst/elements/gstfakesink.h: same
9942         * gst/elements/gstfakesrc.h: same
9943         * gst/elements/gstmd5sink.h: same
9944         * gst/elements/gstshaper.h: same
9945         * gst/elements/gsttee.h: same
9946         * gst/gstbin.c: doc fixes
9947         * gst/gstbin.h: Remove unused definition.
9948         * gst/gstbuffer.c: doc fixes
9949         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
9950         * gst/gstfilter.c: doc fixes
9951         * gst/gsttag.c: doc fixes
9952         * gst/gstvalue.c: doc fixes
9953
9954 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9955
9956         * docs/pwg/advanced-types.xml:
9957           Document typefinding.
9958         * docs/pwg/other-oneton.xml:
9959           Document one-to-n elements, demuxers and parsers.
9960
9961 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
9962
9963         reviewed by: David Schleef  <ds@schleef.org>
9964
9965         * configure.ac: Check bison version (bug #127838)
9966
9967 2004-03-25  David Schleef  <ds@schleef.org>
9968
9969         * docs/gst/gstreamer-docs.sgml: More fine tuning.
9970         * docs/gst/gstreamer-sections.txt:
9971         * docs/gst/tmpl/gstautoplug.sgml:
9972         * docs/gst/tmpl/gststaticautoplug.sgml:
9973         * docs/gst/tmpl/gststaticautoplugrender.sgml:
9974         * docs/gst/tmpl/gstutils.sgml:
9975         * docs/gst/tmpl/gstxml.sgml:
9976
9977 2004-03-24  David Schleef  <ds@schleef.org>
9978
9979         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
9980         manual being such complete crap, that I decided to do major
9981         hacking of it.  This checkin replaces any fine tuning that
9982         may have been done previously, with the benefit of actually
9983         being complete for much of the API that was changed since
9984         0.6.  Further fine tuning will occur shortly.  (bug #134721)
9985         * docs/gst/gstreamer-sections.txt:
9986         * docs/gst/tmpl/GstBin.sgml:
9987         * docs/gst/tmpl/GstBuffer.sgml:
9988         * docs/gst/tmpl/GstCaps.sgml:
9989         * docs/gst/tmpl/GstClock.sgml:
9990         * docs/gst/tmpl/GstCompat.sgml:
9991         * docs/gst/tmpl/GstData.sgml:
9992         * docs/gst/tmpl/GstElement.sgml:
9993         * docs/gst/tmpl/GstEvent.sgml:
9994         * docs/gst/tmpl/GstIndex.sgml:
9995         * docs/gst/tmpl/GstStructure.sgml:
9996         * docs/gst/tmpl/GstTag.sgml:
9997         * docs/gst/tmpl/cothreads.sgml:
9998         * docs/gst/tmpl/cothreads_compat.sgml:
9999         * docs/gst/tmpl/gettext.sgml:
10000         * docs/gst/tmpl/grammar.tab.sgml:
10001         * docs/gst/tmpl/gst-i18n-app.sgml:
10002         * docs/gst/tmpl/gst-i18n-lib.sgml:
10003         * docs/gst/tmpl/gst.sgml:
10004         * docs/gst/tmpl/gst_private.sgml:
10005         * docs/gst/tmpl/gstaggregator.sgml:
10006         * docs/gst/tmpl/gstarch.sgml:
10007         * docs/gst/tmpl/gstatomic.sgml:
10008         * docs/gst/tmpl/gstatomic_impl.sgml:
10009         * docs/gst/tmpl/gstbin.sgml:
10010         * docs/gst/tmpl/gstbuffer.sgml:
10011         * docs/gst/tmpl/gstbufferstore.sgml:
10012         * docs/gst/tmpl/gstcaps.sgml:
10013         * docs/gst/tmpl/gstclock.sgml:
10014         * docs/gst/tmpl/gstcompat.sgml:
10015         * docs/gst/tmpl/gstconfig.sgml:
10016         * docs/gst/tmpl/gstcpu.sgml:
10017         * docs/gst/tmpl/gstdata.sgml:
10018         * docs/gst/tmpl/gstdata_private.sgml:
10019         * docs/gst/tmpl/gstelement.sgml:
10020         * docs/gst/tmpl/gstenumtypes.sgml:
10021         * docs/gst/tmpl/gsterror.sgml:
10022         * docs/gst/tmpl/gstevent.sgml:
10023         * docs/gst/tmpl/gstfakesink.sgml:
10024         * docs/gst/tmpl/gstfakesrc.sgml:
10025         * docs/gst/tmpl/gstfilesink.sgml:
10026         * docs/gst/tmpl/gstfilter.sgml:
10027         * docs/gst/tmpl/gstindex.sgml:
10028         * docs/gst/tmpl/gstinfo.sgml:
10029         * docs/gst/tmpl/gstinterface.sgml:
10030         * docs/gst/tmpl/gstlog.sgml:
10031         * docs/gst/tmpl/gstmacros.sgml:
10032         * docs/gst/tmpl/gstmarshal.sgml:
10033         * docs/gst/tmpl/gstmd5sink.sgml:
10034         * docs/gst/tmpl/gstmultifilesrc.sgml:
10035         * docs/gst/tmpl/gstobject.sgml:
10036         * docs/gst/tmpl/gstpad.sgml:
10037         * docs/gst/tmpl/gstparse.sgml:
10038         * docs/gst/tmpl/gstpipeline.sgml:
10039         * docs/gst/tmpl/gstplugin.sgml:
10040         * docs/gst/tmpl/gstpluginfeature.sgml:
10041         * docs/gst/tmpl/gstqueue.sgml:
10042         * docs/gst/tmpl/gstreamer-unused.sgml:
10043         * docs/gst/tmpl/gstregistry.sgml:
10044         * docs/gst/tmpl/gstregistrypool.sgml:
10045         * docs/gst/tmpl/gstscheduler.sgml:
10046         * docs/gst/tmpl/gstsearchfuncs.sgml:
10047         * docs/gst/tmpl/gstshaper.sgml:
10048         * docs/gst/tmpl/gstspider.sgml:
10049         * docs/gst/tmpl/gstspideridentity.sgml:
10050         * docs/gst/tmpl/gststructure.sgml:
10051         * docs/gst/tmpl/gstsystemclock.sgml:
10052         * docs/gst/tmpl/gsttag.sgml:
10053         * docs/gst/tmpl/gsttaginterface.sgml:
10054         * docs/gst/tmpl/gsttee.sgml:
10055         * docs/gst/tmpl/gstthread.sgml:
10056         * docs/gst/tmpl/gsttrace.sgml:
10057         * docs/gst/tmpl/gsttrashstack.sgml:
10058         * docs/gst/tmpl/gsttypefind.sgml:
10059         * docs/gst/tmpl/gsttypes.sgml:
10060         * docs/gst/tmpl/gsturi.sgml:
10061         * docs/gst/tmpl/gsturitype.sgml:
10062         * docs/gst/tmpl/gstutils.sgml:
10063         * docs/gst/tmpl/gstvalue.sgml:
10064         * docs/gst/tmpl/gstversion.sgml:
10065         * docs/gst/tmpl/gstxml.sgml:
10066         * docs/gst/tmpl/gstxmlregistry.sgml:
10067         * docs/gst/tmpl/gthread-cothreads.sgml:
10068         * docs/gst/tmpl/types.sgml:
10069
10070 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10071
10072         * docs/pwg/other-sink.xml:
10073         * docs/pwg/other-source.xml:
10074           Documentation on how to write source and sink elements. Other
10075           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10076           manager, autoplugger) are all still pending.
10077
10078 2004-03-25  Benjamin Otte  <otte@gnome.org>
10079
10080         * testsuite/elements/Makefile.am:
10081         * testsuite/elements/gst-compprep-check:
10082           add check to make sure gst-compprep works
10083         * testsuite/elements/gst-inspect-check.in:
10084           improve initialization output
10085         * testsuite/Makefile.am:
10086         * testsuite/gst-inspect-check:
10087           remove old file
10088
10089 2004-03-24  David Schleef  <ds@schleef.org>
10090
10091         * testsuite/elements/Makefile.am:
10092         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10093         to the testsuite.
10094
10095 2004-03-24  Benjamin Otte  <otte@gnome.org>
10096
10097         * libs/gst/control/dparam.c: (gst_dparam_attach),
10098         (gst_dparam_detach):
10099         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10100           fix lvalue casts for real
10101
10102 2004-03-24  Benjamin Otte  <otte@gnome.org>
10103
10104         * gst/schedulers/gstbasicscheduler.c:
10105         (gst_basic_scheduler_src_wrapper):
10106         * gst/schedulers/gstoptimalscheduler.c:
10107         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10108         (pad_clear_queued), (gst_opt_scheduler_add_element),
10109         (gst_opt_scheduler_remove_element):
10110           fix GStreamer to not have issues with lvalue casts anymore (fixes
10111           #136841)
10112
10113 2004-03-24  Benjamin Otte  <otte@gnome.org>
10114
10115         * gst/gstelement.c:
10116           add documentation about a gobject quirk where the object hasn't the
10117           correct class pointer set on initialization
10118         * gst/schedulers/gstbasicscheduler.c:
10119         (gst_basic_scheduler_src_wrapper):
10120           make sure to not run into an infinite loop
10121
10122 2004-03-22  Benjamin Otte  <otte@gnome.org>
10123
10124         * gst/gstutils.c: (gst_util_dump_mem):
10125         * gst/gstutils.h:
10126           first argument of gst_util_dump_mem should be const
10127
10128 2004-03-22  Johan Dahlin  <johan@gnome.org>
10129
10130         * gst/gstvalue.h: Clean up a little bit.
10131
10132 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10133
10134         reviewed by Benjamin Otte  <otte@gnome.org>
10135
10136         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10137         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10138         (gst_aggregator_class_init), (gst_aggregator_init):
10139         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10140         (gst_filesrc_dispose), (gst_filesrc_set_location):
10141         * gst/elements/gstidentity.c: (gst_identity_finalize),
10142         (gst_identity_class_init), (gst_identity_chain):
10143         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10144         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10145         (gst_statistics_class_init):
10146         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10147         (gst_tee_get_property):
10148           clean up used memory in this elements correctly on teardown (closes
10149           #137279)
10150
10151 2004-03-20  Colin Walters  <walters@redhat.com>
10152
10153         * gst/registries/gstxmlregistry.c:
10154         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10155         registry saving atomic.
10156
10157 2004-03-20  Colin Walters  <walters@redhat.com>
10158
10159         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10160         Just use
10161         access() instead of actually creating and deleting files.
10162
10163 2004-03-18  David Schleef  <ds@schleef.org>
10164
10165         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10166         (bug #137625)
10167
10168 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10169
10170         * po/sv.po: updated translation (Christian Rose)
10171
10172 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10173
10174         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10175         (gst_filesink_get_query_types), (_do_init),
10176         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10177           return FALSE silently
10178         * po/af.po: updated translation (Petri Jooste)
10179
10180 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10181
10182         * Makefile.am:
10183         * configure.ac:
10184           dist common properly
10185         * po/af.po:
10186         * po/fr.po:
10187         * po/nl.po:
10188         * po/sr.po:
10189         * po/sv.po:
10190           refreshing translations
10191
10192 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10193
10194         * po/LINGUAS:
10195         * po/sv.po:
10196         * po/af.po:
10197           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10198
10199 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10200
10201         * Makefile.am: use common/release.mak
10202
10203 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10204
10205         * docs/faq/gst-uninstalled:
10206           adding gst-monkeysaudio to the list of possible plugin dirs
10207
10208 2004-03-16  David Schleef  <ds@schleef.org>
10209
10210         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10211         (gst_init_check_with_popt_table):  Fix some gettext strings to
10212         make them easier to translate.  Required making the strings
10213         non-const.
10214
10215 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10216
10217         * configure.ac: bump nano to 1
10218
10219 === release 0.8.0 ===
10220
10221 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10222
10223         * configure.ac: release 0.8.0, "Executive Slacks"
10224
10225 2004-03-16  Johan Dahlin  <johan@gnome.org>
10226
10227         * gst/schedulers/gstoptimalscheduler.c
10228         (gst_opt_scheduler_pad_unlink): Remove double ;,
10229         spotted by Scott Wheeler
10230
10231 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10232
10233         * configure.ac: bump libtool version
10234
10235 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10236
10237         * gst/gstcaps.h:
10238         * gst/gststructure.h:
10239           add reserved padding
10240
10241 2004-03-15  Benjamin Otte  <otte@gnome.org>
10242
10243         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10244           set the first parameter for select call correctly.
10245           (fixes #137230)
10246
10247 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10248
10249         * *.c,*.h: don't mix tabs and spaces
10250
10251 2004-03-15  Johan Dahlin  <johan@gnome.org>
10252
10253         * gst/schedulers/gstoptimalscheduler.c
10254         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10255         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10256
10257         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10258         
10259 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10260
10261         * testsuite/Rules:
10262           fix gst-register rules
10263
10264 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10265
10266         * testsuite/Rules:
10267           use versioned gst-register
10268
10269 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10270
10271         * docs/libs/gstreamer-libs-sections.txt:
10272           remove </SUBSECTION>
10273         * gst/gstplugin.c:
10274         * gst/gstregistry.c: (gst_registry_add_plugin):
10275         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10276         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10277           add debugging and fix some comment blocks
10278
10279 2004-03-15  Johan Dahlin  <johan@gnome.org>
10280
10281         * *.h: Revert indent changes.
10282         
10283 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10284
10285         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10286           g_error_free the g_error
10287         * tools/gst-feedback-m.m:
10288           check for other versions of gstreamer
10289         * tools/gst-indent:
10290           use sh, not bash
10291
10292 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10293
10294         * tools/gst-register.c: do not spill paths when registries are not
10295           writable, until we fix the "user running gst-register" case.
10296
10297 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10298
10299         * *.c, *.h: commit of gst-indent run on core
10300
10301 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10302
10303         * tools/gst-indent:
10304         * tools/Makefile.am:
10305           add our indentation style as a script
10306
10307 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10308
10309         * po/sr.po:
10310         * po/LINGUAS:
10311           added Serbian translation
10312
10313 2004-03-13  Benjamin Otte  <otte@gnome.org>
10314
10315         * gst/gstelement.c:
10316           add documentation note about gst_element_found_tags_for_pad not
10317           being usable in getfunctions. (see #137042)
10318
10319 2004-03-12  David Schleef  <ds@schleef.org>
10320
10321         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10322         change API right now!  Readd gst_caps_is_simple() macro.
10323         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10324         uninitialized variable.  I'd bet this caused crashes.
10325         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10326
10327 2004-03-12  Johan Dahlin  <johan@gnome.org>
10328
10329         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10330         * gst/gstcaps.h: Clean up
10331
10332         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10333         _gst_caps_initalize()
10334
10335         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10336         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10337
10338         * gst/gststructure.c (gst_structure_get_type): Ditto
10339
10340         * gst/gststructure.h: Ditto
10341         
10342 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10343
10344         * gst/gstqueue.c: (gst_queue_init):
10345           Reset default max. values in queues. Reason is simply to avoid
10346           braindead use. If you want wider values, use the properties. The
10347           default is supposed to always work. Wider values would make this
10348           beast a memory hog by default (250 full-PAL RGB32 video frames?
10349           That's 440 MB! No thank you).
10350
10351 2004-03-10  David Schleef  <ds@schleef.org>
10352
10353         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10354         were found.  (bug #136793)
10355
10356 2004-03-10  Johan Dahlin  <johan@gnome.org>
10357
10358         * gst/schedulers/gstoptimalscheduler.c
10359         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10360         links to elements within the same group, so we can finally remove
10361         that annoying warning. Refactor the code a little bit
10362         (group_dec_links_for_element): Split out
10363
10364 2004-03-09  David Schleef  <ds@schleef.org>
10365
10366         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10367         (bug #134863)
10368
10369 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10370
10371         * configure.ac: first bug fix due to major/minor bump
10372
10373 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10374
10375         * configure.ac: bump nano to 1
10376
10377 === release 0.7.6 ===
10378
10379 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10380
10381         * NEWS:
10382         * RELEASE:
10383         * configure.ac:
10384           releasing 0.7.6, "Almost"
10385         * po/fr.po:
10386         * po/nl.po:
10387         * tools/Makefile.am:
10388         * tools/gst-feedback-m.m:
10389           unversioned source
10390
10391 2004-03-09  Johan Dahlin  <johan@gnome.org>
10392
10393         Reviewed by: Thomas Vander Stichele
10394
10395         * gst/gstelement.c (gst_element_class_init): register second
10396         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
10397         language bindings can (de)marshall correctly.
10398
10399         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
10400
10401         * gst/gsterror.c (gst_g_error_get_type): New function
10402
10403         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
10404         with VOID:OBJECT,OBJECT,STRING 
10405
10406 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
10407
10408         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
10409         Free a leaked g_timer on early returns.
10410
10411 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10412
10413         * docs/pwg/advanced-types.xml:
10414           Add cinepak description.
10415
10416 2004-03-07  David Schleef  <ds@schleef.org>
10417
10418         * docs/random/mimetypes:  Added cinepak description
10419
10420 2004-03-07  Andy Wingo  <wingo@pobox.com>
10421
10422         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
10423
10424         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
10425         there are no links to other groups when a group is destroyed.
10426         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
10427         removed from a group, make sure the link count to elements linked
10428         to other pads is appropriately decremented. This really fixes
10429         #135672.
10430
10431         The 1.60->1.61 patch has been reapplied in light of this fix.
10432
10433         * gst/gstelement.c (gst_element_dispose): Really protect against
10434         multiple invocations this time.
10435
10436 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10437
10438         * docs/gst/gstreamer-sections.txt:
10439         * docs/gst/tmpl/gsttag.sgml:
10440           remove some deprecated functions, document some existing ones
10441         * gst/gsttag.c: (gst_tag_get_flag):
10442         * gst/gsttag.h:
10443           add accessor function
10444
10445 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10446
10447         * docs/gst/gstreamer-sections.txt:
10448         * docs/gst/tmpl/gsttag.sgml:
10449         * docs/gst/tmpl/gstxml.sgml:
10450         * gst/gsttag.c: (gst_tag_get_flag):
10451         * gst/gsttag.h:
10452
10453 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
10454
10455         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
10456         leak
10457
10458 2004-03-05  David Schleef  <ds@schleef.org>
10459
10460         * REQUIREMENTS: Add bison and flex.
10461         * configure.ac: Fix comment about bison.
10462         * docs/random/ds/0.9-suggested-changes: yer ma
10463         * tools/gst-inspect.c: (print_element_info):  Fix warning.
10464
10465 2004-03-05  Benjamin Otte  <otte@gnome.org>
10466
10467         * gst/gstelement.c: (gst_element_error_full):
10468           revert recent recursive state changing commit - messing with other
10469           elements' states is evil and should be done by apps only.
10470
10471 2004-03-05  Benjamin Otte  <otte@gnome.org>
10472
10473         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
10474           check for empty intersection instead of NULL caps
10475         (gst_element_get_compatible_pad_filtered):
10476           remove old workaround that is only a bug nowadays
10477
10478 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10479
10480         * gst/gstelement.c: (gst_element_error_full):
10481           make elements try to recursively change state to PAUSED on all
10482           parents after an error to suppress ensuing warnings
10483         * gst/parse/grammar.y:
10484           make it check if it was able to sync the state, and throw an error
10485           if not, so stuff like
10486           oggdemux ! vorbisdec ! osssink gets caught
10487
10488 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10489
10490         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
10491           it contains lib64; use AS_AC_EXPAND to handle it properly
10492
10493 2004-03-05  David Schleef  <ds@schleef.org>
10494
10495         * gst/gstcpuid_i386.s:  Remove unused code
10496         * libs/gst/getbits/getbits.c: (gst_getbits_init),
10497         (gst_getbits_newbuf): Remove MMX code
10498         * libs/gst/getbits/getbits.h: Remove MMX code
10499
10500 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
10501
10502         * debian/.cvsignore:
10503         * debian/README.Debian:
10504         * debian/changelog:
10505         * debian/control:
10506         * debian/control.in:
10507         * debian/copyright:
10508         * debian/gstreamer-core-libs-dev.files:
10509         * debian/gstreamer-core-libs.files:
10510         * debian/gstreamer-core.files:
10511         * debian/gstreamer-core.postinst:
10512         * debian/gstreamer-core.postrm:
10513         * debian/gstreamer-doc.files:
10514         * debian/gstreamer-doc.links:
10515         * debian/gstreamer-doc.lintian:
10516         * debian/gstreamer-runtime.files:
10517         * debian/gstreamer-runtime.manpages:
10518         * debian/gstreamer-runtime.postinst:
10519         * debian/gstreamer-runtime.postrm:
10520         * debian/gstreamer-tools.files:
10521         * debian/gstreamer-tools.manpages:
10522         * debian/libgstreamer-dev.files:
10523         * debian/libgstreamer0.4.1.files:
10524         * debian/libgstreamerVERSION.files:
10525         * debian/rules:
10526         Debian package info not maintained here.
10527
10528 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10529
10530         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10531         * gst/gstbin.c: (gst_bin_class_init):
10532         * gst/gstelement.c: (gst_element_class_init):
10533         * gst/gstindex.c: (gst_index_class_init):
10534         * gst/gstobject.c: (gst_object_class_init),
10535         (gst_signal_object_class_init):
10536         * gst/gstpad.c: (gst_pad_template_class_init):
10537         * gst/gstregistry.c: (gst_registry_class_init):
10538         * gst/gsturi.c: (gst_uri_handler_base_init):
10539         * gst/gstxml.c: (gst_xml_class_init):
10540         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10541         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
10542           make all signal names use dashes instead of underscore
10543
10544 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10545
10546         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
10547
10548 2004-03-03  Benjamin Otte  <otte@gnome.org>
10549
10550         * gst/schedulers/gstoptimalscheduler.c:
10551           revert last commit by Andy Wingo. It causes segfaults on unreffing
10552           in Rhythmbox. (see bug #135672)
10553
10554 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10555
10556         * po/fr.po: fix typo
10557
10558 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10559
10560         * tools/gst-inspect.c: (main): 
10561         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
10562
10563 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10564
10565         * configure.ac:
10566           get GLIB_ONLY and POPT flags for the nonversioned binaries
10567         * tools/Makefile.am:
10568           use them
10569
10570 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10571
10572         * gst/gst.c: (init_post):
10573           change so that GST_REGISTRY now is where the global registry gets
10574           saved, since that is where plugins now get attached to first, and
10575           spilled over to the user registry.  Note that in the case of using
10576           GST_REGISTRY env var, we don't want to affect any real registries
10577           beyond the one given by this var, and thus we don't set a user
10578           registry to spill to.  So make sure GST_REGISTRY is writable.
10579
10580 2004-03-01  David Schleef  <ds@schleef.org>
10581
10582         * AUTHORS:  Added some names.  Add yourself if you're missing.
10583
10584 2004-03-01  David Schleef  <ds@schleef.org>
10585
10586         * MAINTAINERS: Add
10587
10588 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10589
10590         * configure.ac:
10591           remove whitespace
10592         * docs/gst/tmpl/gstbuffer.sgml:
10593         * docs/gst/tmpl/gstdata.sgml:
10594         * docs/gst/tmpl/gstreamer-unused.sgml:
10595         * docs/gst/tmpl/gstxml.sgml:
10596           doc update
10597         * docs/manuals.mak:
10598           add a FIXME
10599         * docs/pwg/intro-preface.xml:
10600         * docs/pwg/pwg.xml:
10601           remove GNOME
10602         * gst/gst.c: (init_post):
10603           try GST_PLUGIN_PATH paths for the _global_registry first
10604         * gst/gstelement.h:
10605           add the error message as well, otherwise (null) debug info doesn't
10606           make much sense
10607         * tools/gst-register.c: (main):
10608           spill paths to next registry if this registry is not writable
10609         * po/fr.po:
10610         * po/nl.po:
10611           translation updates
10612
10613 2004-03-01  Johan Dahlin  <johan@gnome.org>
10614
10615         * gst/gstbuffer.c (_gst_buffer_initialize): 
10616         * gst/gstdata.c (gst_data_get_type): 
10617         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
10618         instead of ref, since some applications that uses GBoxed
10619         routines depends on a function that actually returns a copy.
10620
10621 2004-02-27  Benjamin Otte  <otte@gnome.org>
10622
10623         * gst/gstbuffer.h:
10624           remove gst_buffer_free, use gst_data_unref
10625         * gst/gstdata.c: (gst_data_get_type):
10626           use refcounting in GstData GBoxed registration
10627         * gst/gstdata.h:
10628           remove gst_data_free, use gst_data_unref
10629
10630 2004-02-27  Johan Dahlin  <johan@gnome.org>
10631
10632         * gst/gstdata.c (gst_data_get_type): New function, register
10633         GstData as a GBoxed type.
10634
10635         * gst/gstdata.h (GST_TYPE_DATA): New macro
10636
10637 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10638
10639         * Makefile.am:
10640         * gstreamer.spec.in:
10641           put back RELEASE
10642         * gst/Makefile.am:
10643           clean up non-disting of built files
10644         * testsuite/debug/commandline.c:
10645           test fix for option rename
10646
10647 2004-02-26  David Schleef  <ds@schleef.org>
10648
10649         * configure.ac:  We don't really need glib-2.3.  Also remove
10650         some unneeded checks for library functions.
10651         * gst/Makefile.am:  Instead, we need to not dist files created
10652         by glib-genmarshal.
10653
10654 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10655
10656         * configure.ac:
10657           bump glib required version to 2.3.0 for g_value_takes_boxed
10658
10659  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
10660
10661         * common/m4/gst-docs.m4
10662         change flavour text from enable to disable as enable is our default
10663         closes bug Bug 135304
10664
10665 === release 0.7.5 ===
10666  
10667  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10668  
10669         * NEWS:
10670           instate NEWS file
10671         * Makefile.am:
10672         * gstreamer.spec.in:
10673         * RELEASE:
10674           put back release
10675         * configure.ac:
10676         * docs/random/release:
10677           more updates
10678
10679 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10680
10681         * gst/gsttag.c: (_gst_tag_initialize):
10682         * po/fr.po:
10683         * po/nl.po:
10684           remove hyphen from codec tags
10685
10686 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10687
10688         * gst/parse/Makefile.am:
10689           fix dependency so that a make from a clean build works the first
10690           time
10691
10692 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10693
10694         * docs/random/release:
10695           update release strategy
10696         * po/fr.po:
10697           auto-update po file
10698         * po/nl.po:
10699           update dutch translation
10700
10701 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10702
10703         * docs/manual/debugging.xml:
10704         fix manual for new debugging system
10705
10706 2004-02-25  Andy Wingo  <wingo@pobox.com>
10707
10708         * gst/gstpad.c (gst_pad_link_prepare): Re-add
10709         gst_pad_link_prepare. Please email the list with specific reasons
10710         for reverting.
10711
10712 2004-02-24  Andy Wingo  <wingo@pobox.com>
10713
10714         * gst/gstelement.c (gst_element_dispose): Protect against multiple
10715         invocations.
10716
10717         * gst/schedulers/gstoptimalscheduler.c:
10718         I added a mess of prototypes at the top of the file by way of
10719         documentation. Some of the operations on chains and groups were
10720         re-organized.
10721
10722         (create_group): Added a type argument so if the group is enabled,
10723         the setup_group_scheduler knows what to do.
10724         (group_elements): Added a type argument here, too, to be passed on
10725         to create_group.
10726         (group_element_set_enabled): If an unlinked PLAYING element is
10727         added to a bin, we have to create a new group to hold the element,
10728         and this function will be called before the group is added to the
10729         chain. Thus we have a valid case for group->chain==NULL. Instead
10730         of calling chain_group_set_enabled, just set the flag on the group
10731         (the chain's status will be set when the group is added to it).
10732         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
10733         Setup the group scheduler when the group is enabled, not
10734         specifically when an element goes PAUSED->PLAYING. This means
10735         PLAYING elements can be added, linked, and scheduled into a
10736         PLAYING pipeline, as was intended.
10737         (add_to_group): Don't ref the group twice. I don't know when this
10738         double-ref got in here. Removing it has the potential to cause
10739         segfaults if other parts of the scheduler are buggy. If you find
10740         that the scheduler is segfaulting for you, put in an extra ref
10741         here and see if that hacks over the underlying issue. Of course,
10742         then find out what code is unreffing a group it doesn't own...
10743         (create_group): Make the extra refcount floating, and remove it
10744         after adding the element. This means that...
10745         (unref_group): Destroy when the refcount reaches 0, not 1, like
10746         every other refcounted object in the known universe.
10747         (remove_from_group): When a group becomes empty, set it to be not
10748         active, and remove it from its chain. Don't unref it again,
10749         there's no floating reference any more.
10750         (destroy_group): We have to remove the group from the chain in
10751         remove_from_group (rather than here) to break refcounting cycles
10752         (the chain always has a ref on the group). So assert that
10753         group->chain==NULL.
10754         (ref_group_by_count): Removed, it was commented out anyway.
10755         (merge_chains): Use the remove_from_chain and add_to_chain
10756         primitives to do the reparenting, instead of rolling our own
10757         implementation.
10758         (add_to_chain): The first non-disabled group in the chain's group
10759         list will be the entry point for the chain. Because buffers can
10760         accumulate in loop elements' peer bufpens, we preferentially
10761         schedule loop groups before get groups to avoid unnecessary
10762         execution of get-based groups when the bufpens are already full.
10763         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
10764         (get_group_schedule_function): Ditto.
10765         (loop_group_schedule_function): Ditto.
10766         (gst_opt_scheduler_loop_wrapper): Ditto.
10767         (gst_opt_scheduler_iterate): Ditto.
10768
10769         I understand the opt scheduler now, yippee!
10770
10771         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
10772         (gst_pad_get_name, gst_pad_set_chain_function) 
10773         (gst_pad_set_get_function, gst_pad_set_event_function) 
10774         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
10775         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
10776         (gst_pad_set_query_function, gst_pad_get_query_types) 
10777         (gst_pad_get_query_types_default) 
10778         (gst_pad_set_internal_link_function) 
10779         (gst_pad_set_formats_function, gst_pad_set_link_function) 
10780         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
10781         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
10782         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
10783         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
10784         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
10785         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
10786         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
10787         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
10788         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
10789         (gst_pad_event_default_dispatch, gst_pad_event_default) 
10790         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
10791         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
10792         (gst_pad_get_formats_default, gst_pad_get_formats): Better
10793         argument checks, and some doc fixes.
10794
10795         (gst_pad_custom_new_from_template): Um, does anyone
10796         use these functions? Actually make a custom pad instead of a
10797         normal one.
10798         (gst_pad_try_set_caps): Transpose some checks.
10799         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
10800         the pad is in negotiation.
10801         (gst_pad_try_relink_filtered): Use pad_link_prepare.
10802         
10803         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
10804
10805         * gst/gstelement.h: 
10806         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
10807         on the list.
10808
10809 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10810
10811         * gst/gstbin.c: (gst_bin_add):
10812           add error for not being able to add elements
10813
10814 2004-02-22  Julien MOUTTE <julien@moutte.net>
10815
10816         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
10817         audio-codec and video-codec.
10818
10819 2004-02-22  Benjamin Otte  <otte@gnome.org>
10820
10821         reported by: Padraig O'Briain <padraig.obriain@sun.com>
10822
10823         * autogen.sh:
10824           replace test -e with test -x for mkinstalldirs to be more portable.
10825           (fixes #134816)
10826
10827 2004-02-22  Benjamin Otte  <otte@gnome.org>
10828
10829         * gst/gstpad.c:
10830           revert last patch from Andy, it makes gst_pad_can_link_filtered much
10831           too noisy
10832         * gst/gsttag.c: (_gst_tag_initialize):
10833         * gst/gsttag.h:
10834           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
10835         * libs/gst/control/dparam.c: (gst_dparam_attach):
10836         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
10837           check that types for attached dparams match
10838
10839 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10840
10841         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10842         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10843         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10844           fix errors
10845
10846 2004-02-20  Andy Wingo  <wingo@pobox.com>
10847
10848         * gst/gstbin.c:
10849         * gst/gstbuffer.c:
10850         * gst/gstplugin.c:
10851         * gst/registries/gstxmlregistry.c: 
10852         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
10853
10854         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
10855         (gst_element_add_pad): DEBUG->INFO, some fixes.
10856         (gst_element_get_compatible_pad_template): Just see if the
10857         templates' caps intersect, not if one is a strict subset of the
10858         other. This conforms more to what gst_pad_link_intersect() does.
10859         (gst_element_class_add_pad_template): Don't memcpy the pad
10860         template, just ref it.
10861         (gst_element_get_compatible_pad_filtered): Clean up debug messages
10862
10863         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
10864         (gst_pad_link_filtered): Debug changes.
10865         (gst_pad_link_prepare): New function, consolidated from
10866         can_link_filtered and link_filtered.
10867
10868         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
10869         look more like that of the functions in gstelement.c
10870
10871         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
10872         object, and return the empty string if object is NULL.
10873
10874         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
10875         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
10876         LOG, not DEBUG. We still get flex info on debug.
10877
10878         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
10879         debug string more verbose.
10880         (plugin_times_older_than): DEBUG->LOG.
10881
10882 2004-02-20  Julien MOUTTE <julien@moutte.net>
10883
10884         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
10885         will emit found_tag for each stream they demux with the codec.
10886
10887 2004-02-20  Benjamin Otte  <otte@gnome.org>
10888
10889         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
10890           copy navigation event correctly. Check freeing tag lists. 
10891         * gst/gstthread.c: (gst_thread_change_state):
10892           don't abort() on state changing mess - it might happen because of
10893           bugs.
10894         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
10895           use boxed functions
10896         * gst/gstvalue.h:
10897           fix GST_VALUE_HOLDS_CAPS
10898
10899 2004-02-19  David Schleef  <ds@schleef.org>
10900
10901         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
10902         and use it for GST_FUNCTION.  (bug #134750)
10903
10904 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10905
10906         * po/fr.po:
10907         * po/nl.po:
10908           updating translations
10909
10910 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10911
10912         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
10913
10914 2004-02-18  kost@imn.htwk-leipzig.de
10915
10916         reviewed by: David Schleef  <ds@schleef.org>
10917
10918         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
10919         for libgstcontrol.
10920
10921 2004-02-18  David Schleef  <ds@schleef.org>
10922
10923         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10924         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
10925         (gst_dpsmooth_new): Additional fixes to get double dparams working.
10926         * tools/gst-inspect.c: (print_element_info): Support dumping of
10927         double dparam information.
10928
10929 2004-02-17  David Schleef  <ds@schleef.org>
10930
10931         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10932         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
10933         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
10934         Use GST_TYPE_CAPS in signal prototype.
10935         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
10936         Convert GST_TYPE_CAPS to boxed.
10937         * gst/gstelement.c: (gst_element_class_init):
10938         Use GST_TYPE_TAG_LIST in signal prototype.
10939         * gst/gstindex.c: (gst_index_class_init):
10940         * gst/gstindex.h:
10941         Add GST_TYPE_INDEX_ENTRY type.
10942         * gst/gstmarshal.list:
10943         Add necessary marshal types.
10944         * gst/gstpad.c: (gst_real_pad_class_init),
10945         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
10946         (gst_pad_recover_caps_error):
10947         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
10948         * gst/gststructure.c: (_gst_structure_initialize),
10949         (gst_structure_copy), (_gst_structure_copy_conditional):
10950         * gst/gststructure.h:
10951         Convert GST_TYPE_STRUCTURE to boxed.
10952         * gst/gsttag.c: (gst_tag_list_get_type):
10953         * gst/gsttag.h:
10954         Add GST_TYPE_TAG_LIST type.
10955
10956 2004-02-17  Julien MOUTTE  <julien@moutte.net>
10957
10958         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
10959         to what we agreed with david.
10960         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
10961
10962 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10963
10964         * po/nl.po: update translation
10965
10966 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10967
10968         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10969           throw an error if spider is trying to play a mime type there is
10970           no decoder for
10971         * po/POTFILES.in:
10972           add gst/autoplug/gstspider.c for translation
10973
10974 2004-02-17  Julien MOUTTE  <julien@moutte.net>
10975
10976         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
10977         silently when the pad is negotiating.
10978
10979 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10980
10981         * docs/faq/Makefile.am:
10982           add script to run gstreamer uninstalled 
10983         * docs/faq/faq.xml:
10984         * docs/faq/developing.xml:
10985         * docs/faq/gst-uninstalled:
10986           extract script to run gstreamer uninstalled
10987         * docs/manuals.mak:
10988           add EXTRA_SOURCES variable for Makefile.am's to set to
10989           use additional SOURCE files for the doc build
10990
10991 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10992
10993         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
10994
10995 2004-02-15  Julien MOUTTE  <julien@moutte.net>
10996
10997         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
10998         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
10999         an error was thrown by osssink. Basically a state change failure for
11000         an element in a different scheduling group was considered as
11001         successful, which means that caps nego was going on and weird stuff
11002         happened. Like I wrote in the comment there, if someone wants to
11003         revert that please drop me a mail explaining why because I really see
11004         no point in keeping that broken behaviour there.
11005         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11006         be empty, we then return NULL which will trigger a nice error when 
11007         pulling from the pad.
11008
11009 2004-02-13  David Schleef  <ds@schleef.org>
11010
11011         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11012         (gst_dparam_get_property), (gst_dparam_set_property),
11013         (gst_dparam_do_update_default):
11014         * libs/gst/control/dparam.h:
11015         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11016         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11017         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11018         (gst_dpsmooth_do_update_double):
11019         * libs/gst/control/dparam_smooth.h:
11020         * libs/gst/control/dparammanager.c:
11021         (gst_dpman_inline_direct_update):
11022         Add support for double dparams.
11023
11024 2004-02-13  David Schleef  <ds@schleef.org>
11025
11026         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11027         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11028
11029 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11030
11031         reviewed by: David Schleef  <ds@schleef.org>
11032
11033         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11034         (gst_fdsrc_init), (gst_fdsrc_set_property),
11035         (gst_fdsrc_get_property), (gst_fdsrc_get):
11036         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11037         and sends an EOS event if file descriptor reading times out.
11038
11039 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11040
11041         * configure.ac:
11042           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11043
11044 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11045
11046         * configure.ac: pass required libxml version as argument
11047         (bug reported by Christophe Fergeau)
11048
11049 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11050   
11051         * docs/gst/gstreamer-docs.sgml:
11052         * docs/gst/tmpl/gstxml.sgml:
11053         * docs/libs/gstreamer-libs-docs.sgml:
11054           version API docs
11055
11056 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11057
11058         * gst/gstinfo.c:
11059         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11060         (gst_registry_pool_feature_filter):
11061         * gst/gstthread.c: (gst_thread_class_init):
11062         * gst/gstvalue.c:
11063           add includes exposed by building without libxml
11064         * gst/indexers/Makefile.am:
11065           do not build fileindex when LOADSAVE disabled; we should have
11066           a better libxml check later since fileindex depends on xml, not
11067           LOADSAVE or REGISTRY
11068         * libs/gst/control/Makefile.am:
11069           link with m
11070         * tools/Makefile.am:
11071           fix wrong source code for gst-xmlinspect
11072
11073 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11074
11075         * configure.ac:
11076           fix gcov help output
11077           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11078         * docs/random/release:
11079           some updated releasing notes
11080         * gstreamer.spec.in:
11081           more updates
11082
11083 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11084
11085         * docs/faq/faq.xml:
11086         * docs/manual/manual.xml:
11087         * docs/pwg/pwg.xml:
11088         * docs/pwg/titlepage.xml:
11089           put version in documentation
11090
11091 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11092
11093         * tools/Makefile.am: fix man page installation
11094
11095 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11096
11097         * configure.ac:
11098           don't check for libxml when load/save and registry disabled (#105844)
11099         * gstreamer.spec.in:
11100           sync with fedora candidate spec
11101
11102 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11103
11104         * po/fr.po:
11105         * po/nl.po:
11106           replace multidisksrc with multifilesrc
11107
11108 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11109
11110         * po/POTFILES.in:
11111           update to multidisksrc => multifilesrc file renaming (#134145)
11112
11113 2004-02-11  David Schleef  <ds@schleef.org>
11114
11115         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11116         * docs/gst/tmpl/gstpadtemplate.sgml: same
11117         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11118         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11119         fixing dance.
11120         * gst/gstutils.c: Remove disabled code that uses GstProps.
11121         * gst/registries/gstxmlregistry.h: same
11122         * docs/random/ds/0.9-suggested-changes: random notes
11123
11124 2004-02-11  kost@imn.htwk-leipzig.de
11125
11126         reviewed by: David Schleef  <ds@schleef.org>
11127
11128         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11129         initialisation of clock (bug #134128)
11130
11131 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11132
11133         * configure.ac:
11134         * gst/elements/Makefile.am:
11135         * gst/elements/gstelements.c:
11136         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11137         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11138         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11139         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11140         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11141         * gst/elements/gstmultifilesrc.h:
11142           rename multidisksrc to multifilesrc (part of #122200)
11143
11144 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11145
11146         * docs/manuals.mak:
11147           fix automake complaints
11148         * gst-element-check.m4:
11149           fix unquotedness
11150
11151 2004-02-11  David Schleef  <ds@schleef.org>
11152
11153         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11154         * gst/gstatomic_impl.h: Disable sparc implementation.
11155
11156 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11157
11158         * gst-element-check.m4:
11159           fix underquoted macros as reported by automake 1.8.x (#133800)
11160         * configure.ac:
11161           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11162           by autopoint (fixes #132996)
11163
11164 2004-02-10  Andy Wingo  <wingo@pobox.com>
11165
11166         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11167         way to do inheritance.
11168         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11169         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11170         Routine docs.
11171         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11172         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11173         doc.
11174         (gst_pad_unlink, gst_pad_is_linked): Docs.
11175         (gst_pad_renegotiate): A brief description of capsnego.
11176         (gst_pad_try_set_caps): Document.
11177         (gst_pad_try_set_caps_nonfixed): Document.
11178         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11179         (gst_pad_set_parent): Deprecated (although not out of the API).
11180         (gst_pad_get_parent): Deprecated, although many plugins use this.
11181         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11182         are private and will go away in 0.9.
11183         (gst_pad_perform_negotiate): Doc.
11184         (gst_pad_link_unnegotiate): I think this is meant to be static.
11185         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11186         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11187         (gst_pad_get_peer): Doc updates.
11188         (gst_pad_caps_change_notify): Doc.
11189         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11190         (gst_ghost_pad_new): Doc fixes.
11191
11192         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11193         (gst_object_check_uniqueness): 
11194
11195         * gst/gstelement.c (gst_element_add_pad) 
11196         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11197         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11198         (gst_element_get_static_pad, gst_element_get_pad_list) 
11199         (gst_element_class_get_pad_template_list) 
11200         (gst_element_class_get_pad_template): Work on the docs.
11201         (gst_element_get_pad_template_list): Uses the class method.
11202         (gst_element_get_compatible_pad_template): Docs, and consolidate
11203         some test conditions. 
11204         (gst_element_get_pad_from_template): New static function.
11205         (gst_element_request_compatible_pad): Docs, and work with
11206         non-request compatible templates. 
11207         (gst_element_get_compatible_pad_filtered): Docs and remove
11208         redundant checks.
11209         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11210         (gst_element_link_filtered, gst_element_link_many) 
11211         (gst_element_link, gst_element_link_pads) 
11212         (gst_element_unlink_many): Docs.
11213
11214 2004-02-05  Andy Wingo  <wingo@pobox.com>
11215
11216         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11217         s/pointer/boxed/.
11218
11219         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11220
11221         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11222         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11223         with the type=GST_TYPE_CAPS. This allows language bindings to know
11224         what kind of data they're dealing with.
11225
11226         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11227         to NULL when g_value_init is called. GstCaps, which rolls its own
11228         type implementation, now does the same instead of allocating empty
11229         caps.
11230         (_gst_caps_initialize, _gst_caps_collect_value,
11231         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11232         table methods. This allows G_VALUE_COLLECT to work.
11233
11234 2004-02-05  Andy Wingo  <wingo@pobox.com>
11235
11236         * configure.ac:
11237         * testsuite/Makefile.am (SUBDIRS): 
11238         * testsuite/ghostpads/Makefile.am: 
11239         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11240
11241         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11242         These two routines are the only ones that set
11243         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11244         pad template. They should be made static, depending on ABI needs.
11245         (gst_real_pad_dispose): Handle the case of ghost pads without a
11246         parent. Assert after dealing with ghost pads that the ghost pad
11247         list is empty.
11248         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11249         set after creation.
11250         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11251         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11252         functions. set_property will call add_ghost_pad/remove_ghost_pad
11253         as appropriate.
11254         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11255
11256         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11257         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11258         (gst_element_remove_pad): Handle ghost pads as well.
11259         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11260         depending on API-stability needs).
11261
11262 2004-02-05  Andy Wingo  <wingo@pobox.com>
11263
11264         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11265         of course they're const
11266
11267 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11268
11269         * tools/Makefile.am:
11270         * tools/gst-feedback:
11271         * tools/gst-feedback-0.7:
11272           make gst-feedback versioned too for consistency
11273
11274 2004-02-11  David Schleef  <ds@schleef.org>
11275
11276         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11277         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11278
11279 2004-02-10  Julien MOUTTE <julien@moutte.net>
11280
11281         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11282         the structure does not contain a valid tag list. Adding a safety check
11283         to remove a noisy warning in that case.
11284
11285 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11286
11287         * gst/gst.c: fix name to be in line with others
11288
11289 2004-02-09  Julien MOUTTE <julien@moutte.net>
11290
11291         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11292         not shout that loud when len is 0. Just return 0 silently.
11293
11294 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11295
11296         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11297         because data_unref has one and I prefer the debug to be symetric.
11298         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11299         were refed when added to the queue and unrefed only once when the queue
11300         was flushed. Now the flush handler unref the buffers two times : first
11301         unref for the ref added when pushing in the queue's tail and second
11302         unref to destroy the flushed buffer.
11303
11304 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11305
11306         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11307
11308 2004-02-06  David Schleef  <ds@schleef.org>
11309
11310         * docs/random/ds/0.9-suggested-changes: Random ramblings
11311         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11312         to int before printing.
11313         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11314         * gst/parse/parse.l: same.  See bug #129600
11315
11316 2004-02-06  David Schleef  <ds@schleef.org>
11317
11318         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11319         (gst_index_add_entry), (gst_index_add_associationv),
11320         (gst_index_add_association): Add gst_index_add_associationv()
11321         and clean up gst_index_add_association(). #127133
11322
11323 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11324
11325         * autogen.sh: check out common with right tag if CVS/Tag exists
11326
11327 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11328
11329         * testsuite/ghostpads/ghostpads.c: (main):
11330           fix testsuite from segfaulting
11331
11332 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11333
11334         * Makefile.am: add release target
11335         * configure.ac: bump nano to 1
11336         * docs/random/release:
11337
11338 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11339
11340         * gst/gstcaps.h:
11341         * gst/gstelement.c: (gst_element_base_class_init),
11342         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11343         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11344         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11345         (gst_real_pad_dispose):
11346         * gst/gststructure.c: (gst_structure_free),
11347         (gst_structure_from_string):
11348           put reverted patch back in
11349         * gst/gstelement.c: (gst_element_remove_pad):
11350           free explicit caps if they're set
11351         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11352           copy the structure when fixating
11353
11354 2004-02-05  David Schleef  <ds@schleef.org>
11355
11356         * gst/gstmarshal.list:
11357         * gst/gstpad.c: (gst_real_pad_class_init),
11358         (_gst_real_pad_fixate_accumulator):
11359         Revert POINTER->BOXED change in signal marshaller.
11360
11361 === release 0.7.4 ===
11362                                                                                 
11363 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11364                                                                                 
11365         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11366         * configure.ac: changed for release
11367
11368 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11369
11370         * gstreamer.spec.in:
11371           bump required version of gtk-doc
11372
11373 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11374
11375         * gst/gstcaps.h:
11376         * gst/gstelement.c: (gst_element_base_class_init),
11377         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11378         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11379         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11380         (gst_real_pad_dispose):
11381         * gst/gststructure.c: (gst_structure_free),
11382         (gst_structure_from_string):
11383           revert patch that breaks applications, reapply after release
11384           to get this fixed properly
11385
11386 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11387
11388         * gst/gsttag.c: (_gst_tag_initialize):
11389         * gst/gsttag.h:
11390           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
11391
11392 2004-02-04  David Schleef  <ds@schleef.org>
11393
11394         Fix some memleaks:
11395         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
11396         (gst_spider_plug_from_srcpad):
11397         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
11398
11399 2004-02-04  David Schleef  <ds@schleef.org>
11400
11401         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
11402         a GstRealPad before accessing its structure members.
11403
11404 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11405
11406         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
11407         (gst_clock_get_speed):
11408         * gst/gstclock.h:
11409           reset padding, remove unused fields
11410
11411 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11412
11413         * gst/autoplug/gstspideridentity.c:
11414         (gst_spider_identity_sink_loop_type_finding):
11415           use get_allowed_caps, not get_caps (fixes #132519)
11416         * gst/elements/gsttypefind.c: (stop_typefinding):
11417           use correct order when sending buffers and seeking
11418
11419 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11420
11421         * configure.ac:
11422         * gst/gstelement.h:
11423         * gst/gstpad.h:
11424         * gst/gstqueue.h:
11425           upgrade libtool CURRENT, reset padding
11426
11427 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11428
11429         * configure.ac:
11430           bump to prerelease
11431           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
11432
11433 2004-02-04  David Schleef  <ds@schleef.org>
11434
11435         * docs/random/ds/0.9-suggested-changes: random notes
11436         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
11437         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
11438         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
11439         expansion.
11440         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11441         (gst_filesink_get_query_types): same
11442         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
11443         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
11444         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
11445         to use new GST_PTR_FORMAT.
11446         * gst/gstelement.h: deprecate function factory macros
11447         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
11448         These are our last variadic macros that can't be replaced with
11449         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
11450         attempting to deprecate gst_element_clock_wait().
11451         * gst/gstevent.h: same
11452         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11453         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
11454         * gst/gstpad.h: deprecate function factory macros similar to above.
11455
11456 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11457
11458         * configure.ac:
11459         * tools/Makefile.am:
11460         * tools/gst-run.c: (popt_callback), (hash_print_key),
11461         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
11462         (get_candidates), (main):
11463           add new source file to generate non-versioned wrapper binaries
11464           for our tools.
11465
11466 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11467
11468         * gst/gstevent.c: (_gst_event_free):
11469           actually break; inside the switch statement
11470         * gst/parse/grammar.y:
11471           fix memleak where GValues weren't unset
11472
11473 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11474
11475         * gst/gststructure.c: (gst_structure_from_string):
11476           fix huge memleak
11477         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11478         (new_entry), (gst_type_find_element_chain):
11479         * gst/gstelement.c: (gst_element_base_class_init),
11480         (gst_element_class_set_details):
11481         * gst/gstpad.c: (gst_pad_can_link_filtered):
11482           fix smaller memleaks
11483         * gst/gstpad.c: (gst_real_pad_dispose):
11484           check that explicit caps are gone
11485         * gst/gststructure.c: (gst_structure_free):
11486           actually free the structure
11487         * gst/gstelement.c: (gst_element_clear_pad_caps):
11488           unset explicit caps
11489
11490 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11491
11492         * tools/Makefile.am:
11493           use AM_CFLAGS since all the CFLAGS are the same
11494           use AM_LDFAGS
11495
11496 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11497
11498         * docs/manual/gnome.xml:
11499           expand example a little
11500         * gst/gst.c: (gst_init_with_popt_table),
11501         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
11502           make sure popt option displays are done with right textdomain
11503           use GstPoptOption type
11504         * gst/gst.h:
11505           create GstPoptOption type
11506
11507 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11508
11509         * gst/gsterror.c: (_gst_stream_errors_init):
11510         * gst/gsterror.h:
11511           adding error type for no codec
11512         * po/POTFILES.in:
11513           add gst-inspect
11514         * po/nl.po:
11515           update dutch translation
11516         * tools/gst-inspect.c: (print_element_list), (main):
11517           do proper internationalization
11518         * tools/gst-launch.c: (idle_func):
11519           remove commented out function call
11520
11521 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11522
11523         * docs/README:
11524           add some error fixing notes
11525         * docs/gst/gstreamer-sections.txt:
11526           remove double entries
11527         * docs/gst/tmpl/gstbin.sgml:
11528         * docs/gst/tmpl/gstclock.sgml:
11529           remove override
11530         * docs/gst/tmpl/gstelement.sgml:
11531         * docs/gst/tmpl/gstindex.sgml:
11532         * docs/gst/tmpl/gstobject.sgml:
11533         * docs/gst/tmpl/gstpadtemplate.sgml:
11534         * docs/gst/tmpl/gstreamer-unused.sgml:
11535         * docs/gst/tmpl/gsttag.sgml:
11536         * docs/gst/tmpl/gstthread.sgml:
11537         * docs/gst/tmpl/gstxml.sgml:
11538         * gst/gsttag.h:
11539           sync header prototypes with c decls
11540         * gst/gsttaginterface.c:
11541           fix doc headers
11542
11543 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11544
11545         * gst/parse/Makefile.am:
11546         * gst/gstobject.h:
11547           get rid of gstmarshal.h dependency. It's not needed.
11548         * gst/gst.h:
11549         * gst/elements/gstfakesink.c:
11550         * gst/elements/gstfakesrc.c:
11551         * gst/elements/gstidentity.c:
11552         * gst/gstbin.c:
11553         * gst/gstelement.c:
11554         * gst/gstindex.c:
11555         * gst/gstobject.c:
11556         * gst/gstpad.c:
11557         * gst/gstthread.c:
11558         * gst/gstxml.c:
11559         * libs/gst/control/dparam.c:
11560         * libs/gst/control/dparammanager.c:
11561           include gstmarshal.h.
11562         Fixes #132045
11563
11564 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11565
11566         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11567         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
11568         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
11569         * gst/elements/gstfilesrc.h:
11570           don't ref the filesrc when creating mmaped buffers. Don't keep a
11571           list of not-yet-destroyed buffers.
11572         * gst/gstbuffer.h:
11573           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
11574
11575 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11576
11577         * gst/gst.c: (init_pre):
11578           remove textdomain
11579
11580 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11581
11582         * docs/pwg/advanced-events.xml:
11583         * docs/pwg/advanced-scheduling.xml:
11584         * docs/pwg/intro-basics.xml:
11585         * docs/pwg/other-manager.xml:
11586         * docs/pwg/other-nton.xml:
11587         * docs/pwg/other-ntoone.xml:
11588         * docs/pwg/other-oneton.xml:
11589         * docs/pwg/pwg.xml:
11590           All sort of documentation... Forgot what. Point is that I want this
11591           in before I leave. The 'other-*' will be the last section and will
11592           explain issues specific to these type of elements.
11593
11594 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11595
11596         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11597         (gst_filesrc_get_read):
11598           set all the values on buffers that we can
11599
11600 2004-02-02  David Schleef  <ds@schleef.org>
11601
11602         Change usage of isblah() to g_ascii_isblah() to be more locale
11603         independent.  (#133076)
11604         * gst/gsturi.c: (gst_uri_protocol_check_internal):
11605         * gst/gstutils.c:
11606         * gst/parse/parse.l:
11607
11608 2004-02-02  Jon Trowbridge  <trow@gnu.org>
11609
11610         reviewed by: David Schleef  <ds@schleef.org>
11611
11612         Fix memory leaks:
11613         * gst/gstcaps.c: (gst_caps_to_string):
11614         * gst/registries/gstxmlregistry.c:
11615         (gst_xml_registry_add_path_list_func),
11616         (gst_xml_registry_parse_padtemplate):
11617
11618 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11619
11620         * gst/gstelement.c: (gst_element_default_error):
11621           suffix error messages with period
11622
11623 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11624
11625         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11626         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11627         * gst/gsterror.c: (gst_error_get_message):
11628           Suffix with dots
11629         * po/fr.po:
11630         * po/nl.po:
11631           Update translation files
11632
11633 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11634
11635         * gst/autoplug/gstspideridentity.c:
11636         (gst_spider_identity_sink_loop_type_finding):
11637         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11638         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11639         (gst_filesink_close_file), (gst_filesink_handle_event),
11640         (gst_filesink_chain):
11641         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11642         (gst_filesrc_get_read), (gst_filesrc_open_file):
11643         * gst/elements/gstidentity.c: (gst_identity_chain):
11644         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11645         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11646         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11647         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11648         * gst/gsterror.c: (_gst_core_errors_init),
11649         (_gst_library_errors_init), (_gst_resource_errors_init),
11650         (_gst_stream_errors_init), (gst_error_get_message):
11651         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11652         (gst_pad_recover_caps_error), (gst_pad_pull):
11653         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11654         * gst/schedulers/gstbasicscheduler.c:
11655         (gst_basic_scheduler_chainhandler_proxy),
11656         (gst_basic_scheduler_gethandler_proxy),
11657         (gst_basic_scheduler_cothreaded_chain):
11658           Suffix error messages with period.
11659           Use (NULL) instead of NULL
11660
11661 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11662
11663         * docs/gst/tmpl/gstelement.sgml:
11664         * docs/gst/tmpl/gstxml.sgml:
11665         * gst/gstelement.c: (gst_element_error_full):
11666           add element path to error
11667
11668 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11669
11670         * docs/random/mimetypes:
11671           update raw int/float info
11672         * gst/gsttag.c: (_gst_tag_initialize):
11673         * gst/gsttag.h:
11674           add GST_TAG_ENCODER
11675
11676 2004-01-30  David Schleef  <ds@schleef.org>
11677
11678         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
11679           missing (#132991)
11680
11681 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
11682
11683         reviewed by Benjamin Otte 
11684           parts of the patch submitted in bug #113913
11685
11686         * configure.ac:
11687           use AC_C_INLINE. Use = instead of == with test
11688         * examples/plugins/example.c:
11689         * gst/autoplug/gstspideridentity.c:
11690         * gst/elements/gstfdsrc.c:
11691         * gst/elements/gstfilesrc.c:
11692         * gst/elements/gstidentity.c:
11693         * gst/elements/gstmultidisksrc.c:
11694         * gst/elements/gststatistics.c:
11695         * gst/gstelement.c:
11696         * gst/gstobject.c:
11697         * gst/gstpad.c:
11698         * gst/gstpipeline.c:
11699         * gst/gstthread.c:
11700           don't end enums with a comma
11701         * gst/gstindex.c: (gst_index_compare_func):
11702           do explicit casting to gint
11703         * gst/gsttrace.c: (gst_trace_text_flush):
11704           #define strsize as a macro
11705
11706 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11707
11708         * docs/README:
11709         * docs/gst/gstreamer-docs.sgml:
11710         * docs/gst/gstreamer-sections.txt:
11711         * docs/gst/tmpl/gstelement.sgml:
11712         * docs/gst/tmpl/gsterror.sgml:
11713         * docs/gst/tmpl/gstinterface.sgml:
11714         * docs/gst/tmpl/gstreamer-unused.sgml:
11715         * docs/gst/tmpl/gststructure.sgml:
11716         * docs/gst/tmpl/gsttag.sgml:
11717         * docs/gst/tmpl/gsttaginterface.sgml:
11718         * docs/gst/tmpl/gstvalue.sgml:
11719         make sure all API ends up in the built docs
11720         * gst/gstinterface.c:
11721         * gst/gststructure.c: (gst_structure_id_set_value),
11722         (gst_structure_set_value), (gst_structure_id_get_value):
11723         * gst/gststructure.h:
11724         * gst/gstvalue.h:
11725         sync .h with .c declarations
11726
11727 2004-01-30  Julien Moutte  <julien@moutte.net>
11728
11729         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
11730         Ronald will fix riffread.
11731
11732 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11733
11734         * docs/pwg/advanced-interfaces.xml:
11735           Added tuner interface docs.
11736
11737 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11738
11739         * docs/random/mimetypes:
11740           correct Theora information
11741         * gst/gstelement.h:
11742           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
11743
11744 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11745
11746         * gst/gstelement.c: (gst_element_error_full):
11747         * gst/gstelement.h:
11748           GST_ELEMENT_ERROR in enum -> _IN_ERROR
11749
11750 2004-01-29  Julien MOUTTE  <julien@moutte.net>
11751
11752         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
11753         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
11754         again and even before DISCONT.
11755         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
11756         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
11757         bytestream so that it's not stopping to fill the bytestream if events
11758         different than EOS or DISCONT are received. Instead it process them so
11759         that they go downstream.
11760
11761 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11762
11763         * docs/gst/tmpl/gstelement.sgml:
11764         * docs/gst/tmpl/gstreamer-unused.sgml:
11765         * docs/gst/tmpl/gstxml.sgml:
11766         * gst/autoplug/gstspideridentity.c:
11767         (gst_spider_identity_sink_loop_type_finding):
11768         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11769         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11770         (gst_filesink_close_file), (gst_filesink_handle_event),
11771         (gst_filesink_chain):
11772         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11773         (gst_filesrc_get_read), (gst_filesrc_open_file):
11774         * gst/elements/gstidentity.c: (gst_identity_chain):
11775         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11776         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11777         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11778         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11779         * gst/gstelement.h:
11780         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11781         (gst_pad_recover_caps_error), (gst_pad_pull):
11782         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11783         * gst/schedulers/gstbasicscheduler.c:
11784         (gst_basic_scheduler_chainhandler_proxy),
11785         (gst_basic_scheduler_gethandler_proxy),
11786         (gst_basic_scheduler_cothreaded_chain):
11787           gst_element_error -> GST_ELEMENT_ERROR
11788
11789 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11790
11791         * docs/Makefile.am:
11792         * docs/gst/tmpl/gstelement.sgml:
11793         * docs/gst/tmpl/gstxml.sgml:
11794         * docs/manuals.mak:
11795         * docs/pwg/advanced-request.xml:
11796         * docs/pwg/advanced-scheduling.xml:
11797         * docs/pwg/advanced-tagging.xml:
11798           fix non-validating docbook using CDATA
11799           make sure make check-local gets run first to check if it validates
11800
11801 2004-01-29  Julien MOUTTE <julien@moutte.net>
11802
11803         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
11804         handling (up and downstream).
11805         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
11806         my_filter thing.
11807
11808 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11809
11810         * docs/pwg/advanced-tagging.xml:
11811           Add docs about tag writing.
11812
11813 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11814
11815         * docs/pwg/advanced-tagging.xml:
11816           Add a part about tag reading and application signalling... Tag
11817           writing still needs to be documented.
11818         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11819           We can set file locations in READY, too.
11820
11821 2004-01-29  Julien MOUTTE <julien@moutte.net>
11822
11823         * docs/random/ds/element-checklist: Adding some notes about src
11824         events.
11825
11826 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11827
11828         * docs/random/mimetypes:
11829           Update docs to point to correct elements for various mimetypes, and
11830           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
11831           <stephane.loeuillet@tiscali.fr>.
11832
11833 2004-01-28  David Schleef  <ds@schleef.org>
11834
11835         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
11836
11837 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11838
11839         * docs/random/mimetypes:
11840           update docs for audio/x-raw-float. Add "buffer-frames=0 means
11841           undefined"
11842         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11843           make it only work in NULL.
11844         * gst/gstcaps.c:
11845           don't posion NULL caps
11846         * gst/gstelement.c: (gst_element_set_time):
11847           add debugging statement
11848         * gst/gstelement.c: (gst_element_emit_found_tag),
11849         (gst_element_found_tag_func), (gst_element_found_tags):
11850         * gst/gstelement.h:
11851           These functions take const taglists
11852         * gst/gstpad.c: (gst_pad_proxy_getcaps):
11853           fix memleak
11854         * gst/gstpad.c: (gst_pad_event_default):
11855           make more effort on handling discont and clocks, g_warn if everything
11856           fails
11857         * gst/gststructure.c: (gst_structure_remove_fields),
11858         (gst_structure_remove_fields_valist):
11859         * gst/gststructure.h:
11860           add gst_structure_remove_fields(_valist)
11861         * gst/gsttag.c:
11862           fix doc glitch
11863
11864 2004-01-28  David Schleef  <ds@schleef.org>
11865
11866         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
11867         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
11868         Fix memory leakage of gst_caps_to_string().
11869
11870         Use GST_PTR_FORMAT instead of gst_caps_to_string():
11871         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
11872         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
11873         (gst_spider_identity_sink_loop_type_finding):
11874         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11875         (find_suggest):
11876         * gst/gstpad.c: (gst_pad_try_relink_filtered),
11877         (gst_pad_set_explicit_caps):
11878         * gst/parse/grammar.y:
11879
11880 2004-01-28  David Schleef  <ds@schleef.org>
11881
11882         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
11883         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
11884         * docs/random/ds/0.9-suggested-changes: Notes from Company.
11885         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
11886         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
11887         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
11888         (gst_debug_log_default), (_gst_info_printf_extension),
11889         (_gst_info_printf_extension_arginfo):  Add printf extension.
11890         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
11891         * gst/gststructure.c: (gst_structure_to_string),
11892         (_gst_structure_parse_value): Use gst_value_deserialize() and
11893         remove old code.
11894         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
11895         (gst_value_deserialize_boolean), (gst_strtoi),
11896         (gst_value_deserialize_int), (gst_value_deserialize_double),
11897         (gst_value_deserialize_string), (gst_value_deserialize): Implement
11898         a bunch of deserialize functions and gst_value_deserialize.
11899         * gst/gstvalue.h: er, _de_serialize, not unserialize
11900         * testsuite/caps/string-conversions.c: (main): We don't currently
11901         handle (float) in caps, so convert these to (double).
11902         * testsuite/debug/Makefile.am: Add new test for the printf extension
11903         * testsuite/debug/printf_extension.c: (main): same
11904
11905 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11906
11907         * docs/random/company/time:
11908           Add some docs about clocking and time
11909
11910 2004-01-28  Julien MOUTTE <julien@moutte.net>
11911
11912         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
11913
11914 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11915
11916         * docs/pwg/advanced-clock.xml:
11917         * docs/pwg/advanced-dparams.xml:
11918         * docs/pwg/advanced-events.xml:
11919         * docs/pwg/advanced-interfaces.xml:
11920         * docs/pwg/advanced-midi.xml:
11921         * docs/pwg/advanced-request.xml:
11922         * docs/pwg/advanced-scheduling.xml:
11923         * docs/pwg/advanced-tagging.xml:
11924         * docs/pwg/advanced-types.xml:
11925         * docs/pwg/appendix-checklist.xml:
11926         * docs/pwg/building-boiler.xml:
11927         * docs/pwg/building-chainfn.xml:
11928         * docs/pwg/building-filterfactory.xml:
11929         * docs/pwg/building-pads.xml:
11930         * docs/pwg/building-props.xml:
11931         * docs/pwg/building-signals.xml:
11932         * docs/pwg/building-state.xml:
11933         * docs/pwg/building-testapp.xml:
11934         * docs/pwg/intro-basics.xml:
11935         * docs/pwg/intro-preface.xml:
11936         * docs/pwg/other-autoplugger.xml:
11937         * docs/pwg/other-sink.xml:
11938         * docs/pwg/other-source.xml:
11939         * docs/pwg/titlepage.xml:
11940           fix up id's
11941
11942 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11943
11944         * docs/95NonPath:
11945         * docs/HACKING:
11946         * docs/README:
11947         * docs/building-the-docs-on-debian:
11948           collect relevant bits of doc info
11949
11950 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11951
11952         * docs/pwg/advanced_tagging.xml:
11953           Half-assed commit so Thomas can re-arrange document IDs here to be
11954           consistent, too.
11955
11956 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11957
11958         * docs/manual/autoplugging.xml:
11959         * docs/manual/bins-api.xml:
11960         * docs/manual/bins.xml:
11961         * docs/manual/buffers-api.xml:
11962         * docs/manual/buffers.xml:
11963         * docs/manual/clocks.xml:
11964         * docs/manual/components.xml:
11965         * docs/manual/cothreads.xml:
11966         * docs/manual/debugging.xml:
11967         * docs/manual/dparams-app.xml:
11968         * docs/manual/dynamic.xml:
11969         * docs/manual/elements-api.xml:
11970         * docs/manual/elements.xml:
11971         * docs/manual/factories.xml:
11972         * docs/manual/gnome.xml:
11973         * docs/manual/goals.xml:
11974         * docs/manual/helloworld.xml:
11975         * docs/manual/helloworld2.xml:
11976         * docs/manual/init-api.xml:
11977         * docs/manual/intro.xml:
11978         * docs/manual/links-api.xml:
11979         * docs/manual/links.xml:
11980         * docs/manual/manual.xml:
11981         * docs/manual/motivation.xml:
11982         * docs/manual/pads-api.xml:
11983         * docs/manual/pads.xml:
11984         * docs/manual/plugins-api.xml:
11985         * docs/manual/plugins.xml:
11986         * docs/manual/programs.xml:
11987         * docs/manual/queues.xml:
11988         * docs/manual/quotes.xml:
11989         * docs/manual/schedulers.xml:
11990         * docs/manual/states-api.xml:
11991         * docs/manual/states.xml:
11992         * docs/manual/threads.xml:
11993         * docs/manual/typedetection.xml:
11994         * docs/manual/xml.xml:
11995           use chapter, part, section or misc as id starts for all bits
11996
11997 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11998
11999         * docs/gst/gstreamer-sections.txt:
12000           Fix up TITLE of the sections
12001
12002 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12003
12004         * docs/pwg/advanced_interfaces.xml:
12005           Add documentation on propertyprobing.
12006         * docs/pwg/advanced_events.xml:
12007         * docs/pwg/advanced_tagging.xml:
12008         * docs/pwg/building_boiler.xml:
12009         * docs/pwg/building_filterfactory.xml:
12010         * docs/pwg/pwg.xml:
12011           Move filterfactory and tagging into their own chapter, add a chapter
12012           on events. all these are empty placeholders that will be filled in
12013           some day.
12014
12015 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12016
12017         * docs/pwg/advanced_interfaces.xml:
12018           Docs for mixer interface. Also a check for website uploading.
12019
12020 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12021
12022         * docs/HACKING:
12023         * docs/Makefile.am:
12024         * docs/faq/Makefile.am:
12025         * docs/gst/Makefile.am:
12026         * docs/gst/tmpl/gstelement.sgml:
12027         * docs/gst/tmpl/gstplugin.sgml:
12028         * docs/gst/tmpl/gstreamer-unused.sgml:
12029         * docs/libs/Makefile.am:
12030         * docs/manual/Makefile.am:
12031         * docs/manuals.mak:
12032         * docs/pwg/Makefile.am:
12033         * docs/upload.mak:
12034           Separate out upload target and make it similar for
12035           both docbook and gtk-doc docs
12036
12037 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12038
12039         * docs/manuals.mak:
12040           Fix upload target to work with freedesktop
12041
12042 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12043
12044         * docs/pwg/advanced_types.xml:
12045           Add notes on creating your own types.
12046         * docs/pwg/building_boiler.xml:
12047         * docs/pwg/building_pads.xml:
12048         * docs/pwg/building_state.xml:
12049           Add some stuff about how to retrieve values from structures, how
12050           that relates to types and change layout slightly again to be almost
12051           perfect.
12052
12053 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12054
12055         * docs/pwg/advanced_dparams.xml:
12056         * docs/pwg/advanced_scheduling.xml:
12057           Change index layout slightly.
12058
12059 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12060
12061         * docs/pwg/advanced_clock.xml:
12062         * docs/pwg/advanced_interfaces.xml:
12063         * docs/pwg/advanced_midi.xml:
12064           General placeholders for now.
12065         * docs/pwg/advanced_request.xml:
12066           Explanation about sometimes and request pads.
12067         * docs/pwg/advanced_scheduling.xml:
12068           Concept of bytestream, loopfunctions and schedulers.
12069         * docs/pwg/building_boiler.xml:
12070           Add something about plugin-init.
12071
12072 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12073
12074         * docs/pwg/building_pads.xml:
12075           Fix broken docbook
12076
12077 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12078
12079         * docs/pwg/advanced_interfaces.xml:
12080         * docs/pwg/pwg.xml:
12081           Add as a placeholder for future filling-in.
12082         * docs/pwg/basics_autoplugging.xml:
12083         * docs/pwg/basics_buffers.xml:
12084         * docs/pwg/basics_elements.xml:
12085         * docs/pwg/basics_events.xml:
12086         * docs/pwg/basics_plugins.xml:
12087         * docs/pwg/basics_types.xml:
12088           Remove, because unused (this is all in intro_basics.xml).
12089         * docs/pwg/building_signals.xml:
12090           Short intro to signals + reference to GObject docs - we really
12091           shouldn't go into these sort of things to deply because we don't
12092           use them that extensively anyway.
12093         * docs/pwg/building_state.xml:
12094           Explanation of states. Benjamin, please check.
12095         * docs/pwg/building_testapp.xml:
12096           Put everything in one page - putting only a few lines of content
12097           per page doesn't really make sense.
12098
12099           Time to get into the advanced topics. ;).
12100
12101 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12102
12103         * docs/pwg/advanced_types.xml:
12104           Finish documenting the current state of mimetypes.
12105         * docs/pwg/building_boiler.xml:
12106         * docs/pwg/building_chainfn.xml:
12107         * docs/pwg/building_pads.xml:
12108         * docs/pwg/building_props.xml:
12109         * docs/pwg/building_testapp.xml:
12110           Start documenting the "how to build a simple audio filter" part
12111           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12112           states and (maybe?) a short introduction to capsnego in the chapter
12113           on pads (building_pads.xml). Capsnego should probably be explained
12114           fully in advanced_capsnego.xml or so.
12115
12116 2004-01-26  David Schleef  <ds@schleef.org>
12117
12118         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12119         * gst/gstpad.h: Add new function to allow element to (somewhat)
12120         specify non-fixed caps on a pad.
12121         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12122         that I added a few weeks ago.
12123
12124 2004-01-26  David Schleef  <ds@schleef.org>
12125
12126         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12127           making try_set_caps() work with non-fixed caps.
12128
12129 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12130
12131         * docs/pwg/advanced_types.xml:
12132         * docs/pwg/intro_basics.xml:
12133         * docs/pwg/intro_preface.xml:
12134         * docs/pwg/pwg.xml:
12135         * docs/pwg/titlepage.xml:
12136           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12137           in here (docs/random/mimetypes), and will from there on work on both
12138           updating outdated parts and adding missing parts.
12139           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12140
12141 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12142
12143         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12144           policy is set
12145
12146 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12147
12148         * gst/gstelement.h:
12149           remove gst_element_factory_get_version. It doesn't exist anymore.
12150         * gst/gstplugin.c:
12151         * gst/gstplugin.h:
12152           remove gst_plugin_set_name and change gst_plugin_get_longname to
12153           gst_plugin_get_description to match code.
12154         * gst/gsterror.h:
12155           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12156         * gst/gstpad.c: (gst_pad_try_set_caps):
12157           make it work with nonfixed caps.
12158           Note that even in the nonfixed case the link function of the pad
12159           that tries to set caps isn't called.
12160
12161 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12162
12163         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12164           fix bug where buffer was not assembled correctly
12165         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12166           silence by default
12167         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12168           only seek if there's no more buffers that could work without seeking
12169
12170 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12171
12172         * gst/gsttag.c: (_gst_tag_initialize):
12173         * gst/gsttag.h:
12174           Add application tag (for encoding/muxing app).
12175
12176 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12177
12178         * autogen.sh:
12179           make autopoint force, and libtoolize not copy
12180         * common/m4/as-docbook.m4:
12181           added docbook xml catalog setup check
12182         * common/m4/gst-doc.m4:
12183           use docbook check
12184
12185 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12186
12187         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12188         * gst/gsttag.h:
12189           add GstTagFlag
12190
12191 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12192
12193         * docs/gst/gstreamer-sections.txt:
12194         * docs/gst/tmpl/gst.sgml:
12195         * docs/gst/tmpl/gstbuffer.sgml:
12196         * docs/gst/tmpl/gstclock.sgml:
12197         * docs/gst/tmpl/gstelement.sgml:
12198         * docs/gst/tmpl/gstreamer-unused.sgml:
12199         * docs/gst/tmpl/gstxml.sgml:
12200           sync latest API changes to docs
12201
12202 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12203
12204         * gst/gstpluginfeature.c:
12205           fix doc snippet
12206         * tools/gst-inspect.c: (print_element_list):
12207           fix output of typefind
12208           add GPL header
12209         * tools/gst-launch.c:
12210           add GPL header
12211
12212 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12213
12214         * gst/elements/Makefile.am:
12215         * gst/elements/gstelements.c:
12216         * gst/elements/gsttypefindelement.c:
12217         * gst/elements/gsttypefindelement.h:
12218         * po/POTFILES.in:
12219         * po/fr.po:
12220         * po/nl.po:
12221           renamed gsttypefindelement to gsttypefind, conserving CVS history
12222
12223 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12224
12225         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12226         * gst/gsttag.h:
12227           add some tags used in ogg as well
12228           fix _ in replaygain tags
12229
12230 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12231
12232         * gst/gsterror.h:
12233           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12234
12235 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12236
12237         * gst/gstelement.c: (gst_element_error_full):
12238         * gst/gstelement.h:
12239           change _extended to _full
12240
12241 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12242
12243         reviewed by: <delete if not using a buddy>
12244
12245         * docs/gst/tmpl/gst.sgml:
12246         * docs/gst/tmpl/gstbuffer.sgml:
12247         * docs/gst/tmpl/gstclock.sgml:
12248         * docs/gst/tmpl/gstelement.sgml:
12249         * docs/gst/tmpl/gstreamer-unused.sgml:
12250         * docs/gst/tmpl/gstxml.sgml:
12251         * gst/gstelement.c: (gst_element_error_full):
12252         * gst/gstelement.h:
12253
12254 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12255
12256         * gst/gstelement.h: fix _gst_element_error_printf prototype
12257
12258 2004-01-20  David Schleef  <ds@schleef.org>
12259
12260         * gst/gststructure.c: (gst_structure_to_string):
12261         Convert function to use gst_value_serialize().
12262         * gst/gstvalue.c: (gst_value_serialize_list),
12263         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12264         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12265         (gst_value_serialize_int), (gst_value_serialize_double),
12266         (gst_string_wrap), (gst_value_serialize_string),
12267         (gst_value_serialize), (gst_value_deserialize):
12268         * gst/gstvalue.h:
12269         Add implementations for serialize.
12270
12271 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12272
12273         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12274         we want to keep that one in the future or change xvidenc.c to use 
12275         another error.
12276
12277 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12278
12279         * gst/gstelement.c: (_gst_element_error_printf):
12280         * gst/gstelement.h:
12281           privatise function
12282
12283 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12284
12285         * docs/random/error:
12286           doc explaining error system
12287         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12288           cleanup
12289
12290 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12291
12292         * gst/gst-i18n-app.h:
12293         * gst/gst-i18n-lib.h:
12294           remove inclusion of config.h
12295         * po/POTFILES.in:
12296         * po/nl.po:
12297           add gst/gstelement.c
12298
12299 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12300
12301         * po/nl.po: updated Dutch translation
12302
12303 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12304
12305         * gst/gsterror.c: (_gst_core_errors_init),
12306         (_gst_library_errors_init), (_gst_resource_errors_init),
12307         (_gst_stream_errors_init):
12308         remove ending punctuation dots
12309
12310 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12311
12312         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12313         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12314         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12315         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12316         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12317         use GST_ERROR_SYSTEM
12318
12319 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12320
12321         * gst/gstelement.c: (gst_element_error_printf),
12322         (gst_element_error_extended):
12323         * gst/gstelement.h:
12324           add a helper printf function so we can have NULL values passed.
12325
12326 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12327
12328         * gst/gstelement.h:
12329           add G_STMT macros to gst_element_error, which isn't strictly
12330           necessary but people tell me to anyway.
12331
12332 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12333
12334         * gst/Makefile.am:
12335         * gst/autoplug/gstspideridentity.c:
12336         (gst_spider_identity_sink_loop_type_finding):
12337         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12338         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12339         (gst_filesink_close_file), (gst_filesink_handle_event),
12340         (gst_filesink_chain):
12341         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12342         (gst_filesrc_map_region), (gst_filesrc_get_read),
12343         (gst_filesrc_open_file):
12344         * gst/elements/gstidentity.c: (gst_identity_chain):
12345         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12346         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12347         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12348         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12349         * gst/gst.h:
12350         * gst/gst_private.h:
12351         * gst/gstelement.c: (gst_element_class_init),
12352         (gst_element_default_error), (gst_element_error_func),
12353         (gst_element_error_extended):
12354         * gst/gstelement.h:
12355         * gst/gsterror.c: (_gst_core_errors_init),
12356         (_gst_library_errors_init), (_gst_resource_errors_init),
12357         (_gst_stream_errors_init), (gst_error_get_message):
12358         * gst/gsterror.h:
12359         * gst/gstinfo.c: (_gst_debug_init):
12360         * gst/gstmarshal.list:
12361         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12362         (gst_pad_recover_caps_error), (gst_pad_pull):
12363         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12364         * gst/schedulers/gstbasicscheduler.c:
12365         (gst_basic_scheduler_chainhandler_proxy),
12366         (gst_basic_scheduler_gethandler_proxy),
12367         (gst_basic_scheduler_cothreaded_chain):
12368         * po/POTFILES.in:
12369         * po/fr.po:
12370         * po/nl.po:
12371           change error signal
12372           add error categories
12373
12374 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12375
12376         * gst/gsttag.c: (_gst_tag_initialize):
12377         * gst/gsttag.h:
12378         Add replaygain tag
12379
12380 2004-01-18  Colin Walters  <walters@verbum.org>
12381
12382         * examples/retag/retag.c: Call gst_init before processing
12383         program args.  Add g_assert to _link_many call.
12384
12385 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12386
12387         * gst/gstpad.c: (gst_pad_alloc_buffer):
12388           Return a newly allocated buffer when the pad has no peer.
12389
12390 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12391
12392         * gst/gstclock.c: (gst_clock_get_time):
12393           make it compile with gcc 2.95 again.
12394           Patch by Scott Wheeler
12395
12396 2004-01-15  David Schleef  <ds@schleef.org>
12397
12398         * gst/gstcaps.h:
12399         Added gst_caps_is_simple() macro.
12400         * testsuite/caps/caps.c: (test1):
12401         * testsuite/caps/intersect2.c: (main):
12402         * testsuite/caps/intersection.c: (main):
12403         Fixes to make 'make check' work again after removing
12404         gst_caps_is_chained().
12405
12406 2004-01-15  Leif Johnson <leif@ambient.2y.net>
12407
12408         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
12409         and additions to the MIDI document.
12410
12411 2004-01-15  David Schleef  <ds@schleef.org>
12412
12413         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
12414         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
12415         of GST_RPAD_, since we don't know if it's a real or ghost pad.
12416
12417 2004-01-15  David Schleef  <ds@schleef.org>
12418
12419         * gst/gstqueue.c:
12420         * gst/gstqueue.h:
12421         Fix the spelling of "treshold" and make min_threshold actually
12422         affect the queue.
12423
12424 2004-01-15  David Schleef  <ds@schleef.org>
12425
12426         * gst/gstcaps.c:
12427         Add lots of documentation.
12428         * gst/gstcaps.h:
12429         Deprecate a few functions.
12430         * gst/gstpad.c:
12431         Removed use of deprecated functions.
12432
12433 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12434
12435         * gst/gstpad.c: (gst_pad_is_linked):
12436         * gst/gstpad.h:
12437           implement gst_pad_is_linked
12438         * gst/gstelement.h:
12439           reserve space for initiate_state_change
12440
12441 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12442
12443         * gst/autoplug/gstspideridentity.c:
12444         (gst_spider_identity_sink_loop_type_finding):
12445           break infinite loop by just returning instead of looping
12446         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
12447           set event time difference correctly. Set it to 1 second instead
12448           of 100ms to be more tolerant
12449         * gst/gstelement.c: (gst_element_set_time):
12450           add debugging output
12451
12452 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12453
12454         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
12455           query if buffers are inside the pool, ignore events
12456
12457 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12458
12459         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
12460         (gst_clock_set_speed), (gst_clock_set_active),
12461         (gst_clock_is_active), (gst_clock_reset),
12462         (gst_clock_handle_discont):
12463         * gst/gstclock.h:
12464           deprecate old interface and disable functions that aren't in use
12465           anymore.
12466         * gst/gstelement.h:
12467         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
12468         (gst_element_set_time), (gst_element_adjust_time):
12469           add concept of "element time" and functions to get/set this time.
12470         * gst/gstelement.c: (gst_element_change_state):
12471           update element time correctly.
12472         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12473           This is a debug message, not a g_critical.
12474         * gst/gstpad.c: (gst_pad_event_default):
12475           handle discontinuous events right with element time.
12476         * gst/gstscheduler.c: (gst_scheduler_state_transition):
12477           update to clocking fixes.
12478           set clocks on elements in READY=>PAUSED. The old behaviour caused
12479           a wrong element time on the first element that started playing.
12480         * gst/schedulers/gstbasicscheduler.c:
12481         (gst_basic_scheduler_class_init):
12482         * gst/schedulers/gstoptimalscheduler.c:
12483         (gst_opt_scheduler_class_init):
12484           remove code that just implements the default behaviour.
12485         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
12486           update to use new clocking functions
12487         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
12488         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
12489           update to test new element time.
12490         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
12491           use _get_allowed_caps instead of _get_caps. This catches filtered
12492           caps correctly.
12493         * testsuite/debug/commandline.c:
12494           update for new GST_DEBUG syntax.
12495         * testsuite/threads/Makefile.am:
12496           disable a test that only works sometimes.
12497
12498 2004-01-13  Julien MOUTTE <julien@moutte.net>
12499
12500         * po/LINGUAS: Adding fr.
12501         * po/fr.po: Adding french translation.
12502
12503 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12504
12505         * gst/parse/grammar.y:
12506         * po/POTFILES.in:
12507         * po/nl.po:
12508         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
12509           translate parsing error messages
12510
12511 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12512
12513         * po/POTFILES.in: adding gst-launch
12514         * po/nl.po: updated translation, all 99 strings translated
12515         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
12516         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
12517           fix strings for translation
12518
12519 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12520
12521         * gst/gst.c:
12522           - capitalize beginnings of popt options
12523           - fix strings for translation
12524           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
12525
12526 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12527
12528         * po/README: add some notes on how to update translations
12529
12530 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12531
12532         * ABOUT-NLS: removed, is autogenerated from autopoint
12533         * autogen.sh: add autopoint stuff
12534         * configure.ac: fix up gettext stuff
12535         * gst/Makefile.am: add i18n headers to noinst_HEADERS
12536         * gst/elements/gsttypefindelement.c: add header include
12537         * gst/gettext.h: add header, copy from system-installed header
12538         * gst/gst-i18n-app.h: to be included by each app having translations
12539         * gst/gst-i18n-lib.h: to be included by each lib having translations
12540         * gst/gst.c: (init_pre): fix up gettext calls
12541         * gst/gst_private.h: remove i18n stuff, moving to separate headers
12542         * po/LINGUAS: the new way to specify translations present
12543         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
12544         * po/Makevars: the variables filled in for GStreamer
12545         * po/POTFILES.in: added new files with translations
12546         * po/de.po: has new strings
12547         * po/nl.po: readded, has new strings
12548
12549 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12550
12551         * gst/gsttag.c: fix some strings marked for translation
12552
12553 2004-01-13  Iain <iain@prettypeople.org>
12554
12555         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
12556         group when we add an element to it, cos we unref it when we remove one
12557
12558 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12559
12560         * testsuite/debug/commandline.c: (debug_not_reached):
12561         * testsuite/debug/output.c: (check_message):
12562           fix testsuite
12563
12564 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12565
12566         * examples/cutter/.cvsignore:
12567         * examples/helloworld/.cvsignore:
12568         * examples/launch/.cvsignore:
12569         * examples/manual/.cvsignore:
12570         * examples/mixer/.cvsignore:
12571         * examples/pingpong/.cvsignore:
12572         * examples/plugins/.cvsignore:
12573         * examples/queue/.cvsignore:
12574         * examples/queue2/.cvsignore:
12575         * examples/queue3/.cvsignore:
12576         * examples/queue4/.cvsignore:
12577         * examples/retag/.cvsignore:
12578         * examples/thread/.cvsignore:
12579         * examples/typefind/.cvsignore:
12580         * examples/xml/.cvsignore:
12581         * gst/.cvsignore:
12582         * gst/autoplug/.cvsignore:
12583         * gst/elements/.cvsignore:
12584         * gst/indexers/.cvsignore:
12585         * gst/parse/.cvsignore:
12586         * gst/registries/.cvsignore:
12587         * gst/schedulers/.cvsignore:
12588         * libs/gst/bytestream/.cvsignore:
12589         * libs/gst/control/.cvsignore:
12590         * libs/gst/getbits/.cvsignore:
12591         * tests/.cvsignore:
12592         * tests/bufspeed/.cvsignore:
12593         * tests/instantiate/.cvsignore:
12594         * tests/memchunk/.cvsignore:
12595         * tests/muxing/.cvsignore:
12596         * tests/sched/.cvsignore:
12597         * tests/seeking/.cvsignore:
12598         * tests/threadstate/.cvsignore:
12599         * testsuite/.cvsignore:
12600         * testsuite/caps/.cvsignore:
12601         * testsuite/cleanup/.cvsignore:
12602         * testsuite/dynparams/.cvsignore:
12603         * testsuite/plugin/.cvsignore:
12604         * tools/.cvsignore:
12605           update - this is huge, because it includes *.bb, *.bbg and *.da files
12606           which are generated for gcov.
12607
12608 2004-01-11  David Schleef  <ds@schleef.org>
12609
12610         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
12611         a function to parse integers in ways that strto[u]l() does not.
12612
12613 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12614
12615         * tools/gst-inspect.c: (print_caps):
12616           improve output of caps a bit
12617
12618 2004-01-11  David Schleef  <ds@schleef.org>
12619
12620         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
12621         inherit correct flags (READONLY and DONTKEEP).
12622
12623 2004-01-11  David Schleef  <ds@schleef.org>
12624
12625         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
12626         (gst_filesrc_map_region):
12627         * gst/gstbuffer.c: (_gst_buffer_initialize),
12628         (_gst_buffer_sub_free), (gst_buffer_default_copy),
12629         (gst_buffer_new), (gst_buffer_create_sub),
12630         (gst_buffer_is_span_fast), (gst_buffer_span):
12631         * gst/gstbuffer.h:
12632         Change GstBuffer private structure element names. (all files)
12633         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12634         (gst_queue_link):
12635         * gst/gstqueue.h:
12636         Implement getcaps/pad_link functions that handle the case where
12637         there are data in the queue.
12638
12639 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12640
12641         * gst/elements/gstbufferstore.c:
12642           initialize debugging structure correctly
12643         * gst/elements/gsttee.c: (gst_tee_set_property):
12644           g_object_notify when property was changed
12645         * gst/elements/gsttypefindelement.c:
12646         (gst_type_find_element_change_state):
12647           clear caps correctly
12648
12649 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12650
12651         * gst/gstqueue.c: (gst_queue_init):
12652           Use better defaults for when a queue should block. This
12653           gets rid of jerky playback for quite a few files.
12654           It takes more memory.
12655
12656 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12657
12658         (gst_xml_registry_parse_padtemplate):
12659           make critical message slightly more useful
12660
12661 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12662
12663         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
12664         (gst_debug_message_get), (gst_debug_log_default):
12665         * gst/gstinfo.h:
12666           Change gst_debug_log(_valist) to take a const format string.
12667           Change prototype of log function and functions using those to 
12668           take a GstDebugMessage instead of a string that requires using
12669           gst_debug_message_get.
12670
12671 2004-01-08  David Schleef  <ds@schleef.org>
12672
12673         * Makefile.am:
12674         * configure.ac:
12675         Add option --enable-gcov to build GStreamer with -fprofile-arcs
12676         and -ftest-coverage, which allows gcov to show information about
12677         testsuite coverage.
12678
12679 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12680
12681         * gst/gstutils.h:
12682           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
12683           GST_PARENT_CALL_WITH_DEFAULT
12684         * gst/elements/gstaggregator.c: 
12685         * gst/elements/gstbufferstore.c: 
12686         * gst/elements/gstfakesink.c: 
12687         * gst/elements/gstfakesrc.c: 
12688         * gst/elements/gstfdsink.c: 
12689         * gst/elements/gstfdsrc.c: 
12690         * gst/elements/gstfilesink.c: 
12691         * gst/elements/gstfilesrc.c: 
12692         * gst/elements/gstidentity.c: 
12693         * gst/elements/gstmd5sink.c: 
12694         * gst/elements/gstmultidisksrc.c:
12695         * gst/elements/gstpipefilter.c: 
12696         * gst/elements/gstshaper.c:
12697         * gst/elements/gststatistics.c:
12698         * gst/elements/gsttee.c:
12699         * gst/elements/gsttypefindelement.c:
12700           use them.
12701
12702 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12703
12704         * docs/gst/gstreamer-docs.sgml: remove props
12705         * docs/gst/gstreamer-sections.txt: remove props
12706         * docs/gst/tmpl/gst.sgml:
12707         * docs/gst/tmpl/gstbin.sgml:
12708         * docs/gst/tmpl/gstbuffer.sgml:
12709         * docs/gst/tmpl/gstcaps.sgml:
12710         * docs/gst/tmpl/gstclock.sgml:
12711         * docs/gst/tmpl/gstelement.sgml:
12712         * docs/gst/tmpl/gstindex.sgml:
12713         * docs/gst/tmpl/gstobject.sgml:
12714         * docs/gst/tmpl/gstpad.sgml:
12715         * docs/gst/tmpl/gstpadtemplate.sgml:
12716         * docs/gst/tmpl/gstreamer-unused.sgml:
12717         * docs/gst/tmpl/gstthread.sgml:
12718         * docs/gst/tmpl/gstxml.sgml:
12719           sync with code reorganization
12720
12721 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
12722
12723         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12724         Make the 'Could not find compatible pad' message more informative.
12725
12726 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12727                                                                                 
12728         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
12729           Fix for if we pass NULL as property to location.
12730         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
12731         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
12732           Fix for instantiate-test (see below).
12733         * gst/gststructure.c: (_gst_structure_parse_value):
12734           Fix compile error on gcc-2.96.
12735         * configure.ac:
12736         * tests/Makefile.am:
12737         * tests/instantiate/Makefile.am:
12738         * tests/instantiate/create.c: (create_all_elements), (main):
12739           Add a test that instantiates all elements. This makes it easy to
12740           track dead code for old API/design (like setting event functions
12741           on sink pads and so on).
12742
12743 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
12744
12745         * gst/gstcaps.c: (gst_caps_append_structure):
12746           Move the poisoning to allow a NULL structure
12747         * gst/gstevent.c: (_gst_event_free):
12748           When freeing a navigation event, free the structure
12749           also
12750
12751 2004-01-04  David Schleef  <ds@schleef.org>
12752
12753         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12754         Remove usage of gst_pad_proxy_fixate.
12755         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
12756         (gst_caps_split_one), (gst_caps_replace):
12757         Add poisoning code.
12758         * gst/gstmarshal.list:
12759         Add pointer__pointer for fixate signal
12760         * gst/gstpad.c: (gst_real_pad_class_init),
12761         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12762         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
12763         (gst_pad_set_explicit_caps), (gst_pad_template_new):
12764         Add poisoning code. Add fixate signal on RealPad. Change
12765         set_explicit_caps() to take const GstCaps, like try_set_caps().
12766         * gst/gstpad.h:
12767         * testsuite/caps/Makefile.am:
12768         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
12769
12770 2004-01-03  David Schleef  <ds@schleef.org>
12771
12772         * gst/elements/gsttypefindelement.c:
12773         (gst_type_find_element_have_type), (gst_type_find_element_init):
12774         Use gst_pad_use_explicit_caps for src pad.
12775         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
12776         before using it.
12777
12778 2004-01-03  David Schleef  <ds@schleef.org>
12779
12780         * gst/gstelement.c: (gst_element_link_pads_filtered),
12781         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
12782         that linking was successful.
12783         * gst/gstpad.c: (gst_pad_link_free),
12784         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
12785         (gst_pad_link_try), (gst_pad_link_unnegotiate),
12786         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
12787         GstPadLinkReturn correctly between functions, and don't fail
12788         when DELAYED is used (DELAYED is very important).  Better
12789         cleanup on unlinking and unnegotiation.  Should fix some spider
12790         bugs.
12791
12792 2004-01-02  David Schleef  <ds@schleef.org>
12793
12794         * gst/gstelement.c: (gst_element_class_init),
12795         (gst_element_base_class_init): ->padtemplates should be cleared
12796         in base_init, since we need to have a fresh list for every
12797         class.  (Alternately, we chould copy the list and share the
12798         actual pad templates (not the list), but that would require
12799         changing every plugin to move pad template registration from
12800         base_init to class_init.)
12801
12802 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12803
12804         * gst/gstelement.c: (gst_element_class_add_pad_template):
12805           Refuse registering a pad template if another pad template
12806           with the same name already exists (#114715).
12807
12808 2004-01-02  David Schleef  <ds@schleef.org>
12809
12810         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
12811         (gst_caps_is_equal_fixed): Add new function.
12812         * gst/gstcaps.h: ditto.
12813         * gst/gstpad.c: (gst_real_pad_class_init),
12814         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
12815         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
12816         check new caps against existing caps -- if they're the same, return
12817         OK without renegotiating.  caps-nego-failed signal fixed so that
12818         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
12819         to save an extra caps copy.  Don't complete negotiation if a pad
12820         link function returns DELAYED.
12821
12822 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12823
12824         * gst/gstpad.c: (gst_pad_try_relink_filtered):
12825           Fix wrong g_return_if_fail
12826
12827 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
12828
12829         * gst/gstbin.c: (gst_bin_class_init):
12830         Change the marshalling of element_added/element_removed
12831         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
12832         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
12833
12834 2004-01-01  David Schleef  <ds@schleef.org>
12835
12836         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12837         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
12838         (gst_pad_use_explicit_caps):
12839         * gst/gstpad.h:
12840         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
12841         to use an internal getcaps and link fuction so that negotiation
12842         always results in the explicitly set caps.
12843         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
12844         are particularly useful for decoders.
12845
12846 2003-12-31  David Schleef  <ds@schleef.org>
12847
12848         * gst/elements/gstidentity.c: (gst_identity_class_init),
12849         (gst_identity_init), (gst_identity_chain),
12850         (gst_identity_set_property), (gst_identity_get_property):
12851         * gst/elements/gstidentity.h:
12852         * gst/gstqueue.c: (gst_queue_init):
12853           Negotiation fixes.
12854
12855 2003-12-31  David Schleef  <ds@schleef.org>
12856
12857         * gst/gstcaps.c: (gst_caps_intersect),
12858         (_gst_caps_normalize_foreach), (gst_caps_normalize):
12859           Implement gst_caps_normalize().
12860         * testsuite/caps/normalisation.c: (main):
12861           Add an additional test
12862
12863 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12864
12865         * gst/gstqueue.c: (gst_queue_init):
12866           use gst_pad_proxy_getcaps()
12867
12868 2003-12-31  David Schleef  <ds@schleef.org>
12869
12870         * gst/elements/gstshaper.c: (gst_shaper_link):
12871         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12872         * gst/gstqueue.c: (gst_queue_link):
12873           Negotiation fixes.
12874
12875 2003-12-31  David Schleef  <ds@schleef.org>
12876
12877         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
12878         * gst/gstpad.h: Add functions that are useful as default pad
12879         link and fixate functions for elements.
12880
12881 2003-12-30  David Schleef  <ds@schleef.org>
12882
12883         * gst/gstpad.c: (gst_pad_link_try):
12884           Fix segfault when attempting to return to old caps
12885
12886 2003-12-29  David Schleef  <ds@schleef.org>
12887
12888         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
12889         (gst_caps_structure_simplify), (gst_caps_simplify):
12890         * gst/gstcaps.h:
12891           Add simplify function
12892         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
12893         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
12894         * gst/gstpad.h:
12895           Copy over srcnotify, sinknotify when calling old pad_link
12896           functions.  Add new is_negotiated() function.
12897         * gst/gststructure.c: (gst_structure_copy):
12898           Fix an incredibly stupid bug that should have been noticed
12899           weeks ago.  _copy() returned the argument, not the new copy.
12900
12901 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12902
12903         * gst/gstcaps.c: (gst_caps_append):
12904           add sanity checks
12905         * gst/gstcaps.h: (gst_caps_debug):
12906           remove, it doesn't exist anymore.
12907         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
12908         (gst_element_threadsafe_properties_post_run):
12909           make debugging messages not clutter up THREAD debug category
12910         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
12911         (gst_element_change_state):
12912           update to new caps API
12913         * gst/gstinterface.c: (gst_implements_interface_cast):
12914           don't put vital code in g_return_if_fail
12915         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
12916         (gst_pad_link_filtered):
12917           add pst_pad_try_link and use it.
12918         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
12919           implement correctly, deprecate first one.
12920         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
12921           add and implement.
12922         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
12923           implement.
12924         (gst_pad_get_negotiated_caps):
12925           add and implement. Make GST_PAD_CAPS call this function.
12926         (gst_pad_get_caps):
12927           remove unneeded check..
12928         (gst_pad_recover_caps_error):
12929           disable, always return FALSE.
12930         (gst_real_pad_dispose):
12931           don't free caps and appfilter anymore, they're unused.
12932         * gst/gstpad.h:
12933           Reflect changes mentioned above.
12934         * gst/gstsystemclock.c: (gst_system_clock_wait):
12935           Make 'clock is way behind' a debugging message.
12936         * gst/gstthread.c: (gst_thread_change_state):
12937           Fix debugging message
12938
12939 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12940
12941         * gst/gstinfo.h:
12942           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
12943         * docs/gst/tmpl/gstreamer-unused.sgml:
12944           removed all traces of cvs conflicts
12945
12946 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12947
12948         * configure.ac:
12949         * gst/schedulers/cothreads_compat.h:
12950         * libs/Makefile.am:
12951           remove last instances of wingo cothread usage
12952
12953 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12954
12955         * gst/gstplugin.c:
12956         * gst/gstversion.h.in:
12957         * gst/parse/grammar.y:
12958           change comment block from /** to /* when not gtk-doc comments
12959
12960 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12961
12962         * gst/gst.c: whitespace and doc style fixes
12963
12964 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12965
12966         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
12967
12968 2003-12-24  Colin Walters  <walters@verbum.org>
12969
12970         * gst/elements/gsttypefindelement.c:
12971           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
12972           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
12973           Don't double-free caps.
12974
12975 2003-12-23  David Schleef  <ds@schleef.org>
12976
12977         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
12978           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
12979           Many little fixes and additions of debug statements to
12980           get rhythmbox working.
12981
12982 2003-12-23  Colin Walters  <walters@verbum.org>
12983
12984         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
12985         Use GST_PAD_LINK_SUCCESSFUL.
12986
12987 2003-12-23  David Schleef  <ds@schleef.org>
12988
12989         * gst/elements/gstaggregator.c:
12990         * gst/elements/gsttee.c:
12991           Use gst_pad_proxy_getcaps().
12992         * gst/gstpad.c:
12993         * gst/gstpad.h:
12994           Add gst_pad_proxy_getcaps(), which filter elements can use
12995           as a generic getcaps implementation.
12996           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
12997           was advertised.
12998
12999 2003-12-23  David Schleef  <ds@schleef.org>
13000
13001         * gst/gstpad.c:
13002           Rearrange/rewrite much of the pad negotiation code, since it
13003           resembled pasta.  This actually changes the way some
13004           negotiation works, since the previous code was inconsistent
13005           depending on how it was invoked.  Add (internal) structure
13006           GstPadLink, which is used to hold some information (more in
13007           the future) about the link between two pads.  Fixes a number
13008           of bugs, including random lossage of filter caps when the
13009           initial negotiation is delayed.  A few functions are still
13010           unimplemented.
13011         * gst/gstpad.h:
13012           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13013           these when testing GstPadLinkReturn values instead of comparing
13014           directly.
13015
13016 2003-12-23  David Schleef  <ds@schleef.org>
13017
13018         * gst/gstvalue.c: 
13019         * gst/gstvalue.h:
13020           Rearrange lots of code.  Change registration of compare function
13021           into registration of compare/serialize/deserialize functions.
13022           Doesn't include implementation of gst_value_[de]serialize(),
13023           but that should be easy.
13024
13025 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13026
13027         * docs/gst/gstreamer-sections.txt:
13028         * docs/gst/tmpl/gstprops.sgml: removed
13029         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13030           David removed props and caps code, so let's remove their docs as well.
13031           Removed all no longer existing symbols from gstreamer-sections.txt
13032           
13033 2003-12-22  Colin Walters  <walters@verbum.org>
13034
13035         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13036           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13037           of tags directly.
13038
13039 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13040
13041         * gst/elements/gstelements.c:
13042           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13043         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13044           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13045           gst_caps (peer).
13046
13047 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13048
13049         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13050         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13051         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13052         (gst_spider_identity_sink_loop_type_finding):
13053         * gst/autoplug/gstspideridentity.h:
13054           Fix autoplugging in spider element, so it works with new caps.
13055           This was mainly caused by identifying empty caps incorrectly.
13056
13057 2003-12-22  David Schleef  <ds@schleef.org>
13058
13059         * gststructure.c, gstvalue.c, gstvalue.h: Add
13060           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13061           using g_value_copy()
13062
13063 2003-12-21  David Schleef  <ds@schleef.org>
13064
13065         * many, many files: Merge CAPS branch.  This includes:
13066           - implemention of GstValue and several GstValue types
13067           - implemention of GstStructure
13068           - entire rewrite of GstCaps
13069           - removal of GstProps
13070           - many changes to GstPad to compensate for new caps paradigm
13071           - removal of GstBufferpool
13072         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13073         gstvalue.h, gst/gstcaps[2]*.[ch]:
13074           - rename gstcaps2.[ch] to gstcaps.[ch]
13075
13076 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13077
13078         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13079         (gst_queue_chain), (gst_queue_handle_src_event):
13080           implement timeout for sending events. Workaround for if the
13081           pipeline on this queue is not passing any data.
13082
13083 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13084                                                                                 
13085         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13086         * moved CVS to freedesktop.org
13087