5632a3bd6909057bfe35ab060ad76dbcfdb1188a
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-05-30  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstbuffer.c: (gst_subbuffer_finalize),
4         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
5         * gst/gstbuffer.h:
6         Avoid typechecking in places where not needed.
7         Added accessor for malloc_data.
8
9 2005-05-30  Wim Taymans  <wim@fluendo.com>
10
11         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
13         (gst_pad_configure_sink), (gst_pad_configure_src),
14         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15         (gst_pad_start_task):
16         Propagate errors from _set_caps() in configure_src/sink
17         functions instead of returning TRUE.
18         FLUSH events can travel up and downstream
19
20
21 2005-05-30  Wim Taymans  <wim@fluendo.com>
22
23         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
24         (gst_basesink_activate):
25         Handle EOS in preroll.
26
27 2005-05-30  Wim Taymans  <wim@fluendo.com>
28
29         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30         (gst_queue_loop), (gst_queue_handle_src_event):
31         Remove old pieces of code
32         Flushing the queue in an upstream event is a very bad idea.
33
34 2005-05-26  Andy Wingo  <wingo@pobox.com>
35
36         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
37         gst_value_set_mini_object so as to add a ref on the object (which
38         will be removed when the value is unset).
39
40         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
41         arg type in ::handoff.
42
43         * gst/gstelement.c (gst_element_change_state): Also deactivate
44         pads in READY->NULL, just in case the element didn't make it to
45         PAUSED. Wingo tested, Wim approved.
46
47 2005-05-26  Wim Taymans  <wim@fluendo.com>
48
49         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
50         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
51         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
52         A flushing pad cannot be used to alloc_buffer from.
53
54 2005-05-26  Wim Taymans  <wim@fluendo.com>
55
56         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
57         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
58         (gst_bus_source_dispatch), (gst_bus_source_finalize),
59         (gst_bus_create_watch), (gst_bus_add_watch_full):
60         * gst/gstbus.h:
61         Implement a real GSource and use g_main_context_wakeup() to
62         signal new messages instead of the socketpair.
63
64 2005-05-25  Wim Taymans  <wim@fluendo.com>
65
66         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
67         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
68         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
69         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
70         (gst_pad_send_event), (gst_pad_start_task):
71         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
72         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
73         (gst_queue_sink_activate), (gst_queue_src_activate),
74         (gst_queue_change_state):
75         * gst/gstqueue.h:
76         Fix state changes for non sinks. We now change sinks, then elements
77         with unconnected srcpads, then the rest.
78         More efficient queue unlocking in flush and state changes.
79         Set the pad activate mode even if it does not have an activate
80         function.
81
82 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
83
84         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
85           Don't go in pull mode for non-seekable sources.
86         * gst/elements/gsttypefindelement.h:
87         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
88         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
89         (free_entry), (stop_typefinding),
90         (gst_type_find_element_handle_event), (find_peek),
91         (gst_type_find_element_chain), (do_pull_typefind),
92         (gst_type_find_element_change_state):
93           Allow typefinding (w/o seeking) in push-mode, simplified version
94           of what was in 0.8.
95         * gst/gstutils.c: (gst_buffer_join):
96         * gst/gstutils.h:
97           gst_buffer_join() from 0.8.
98
99 2005-05-25  Wim Taymans  <wim@fluendo.com>
100
101         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
102         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
103         (gst_pad_send_event), (gst_pad_start_task):
104         Disable attempt at mode switching until it is figured out.
105
106 2005-05-25  Wim Taymans  <wim@fluendo.com>
107
108         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
109         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
110         (gst_basesink_finish_preroll), (gst_basesink_chain),
111         (gst_basesink_loop), (gst_basesink_activate),
112         (gst_basesink_change_state):
113         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
114         (gst_basesrc_get_range), (gst_basesrc_loop),
115         (gst_basesrc_activate):
116         * gst/elements/gsttee.c: (gst_tee_sink_activate):
117         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
118         (gst_real_pad_init), (gst_real_pad_set_property),
119         (gst_real_pad_get_property), (gst_pad_set_active),
120         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
121         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
122         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
123         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
124         (gst_pad_event_default_dispatch), (gst_pad_event_default),
125         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
126         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
127         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
128         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
129         (gst_pad_stop_task):
130         * gst/gstpad.h:
131         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
132         (gst_queue_loop), (gst_queue_src_activate):
133         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
134         (gst_task_get_state):
135         * gst/gsttask.h:
136         * gst/schedulers/threadscheduler.c:
137         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
138         Implement gst_pad_pause/start/stop_task(), take STREAM lock
139         in task function.
140         Remove ACTIVE pad flag, use FLUSHING everywhere
141         Added _pad_chain(), _pad_get_range() to call chain/getrange 
142         functions.
143         Add locks around IS_FLUSHING when reading.
144         Take STREAM lock in chain(), get_range() functions so plugins
145         don't need to take it anymore.
146         
147
148
149 2005-05-25  Wim Taymans  <wim@fluendo.com>
150
151         * tools/gst-launch.c: (event_loop):
152         Unref message after using its contents instead of
153         before.
154
155 2005-05-24  Wim Taymans  <wim@fluendo.com>
156
157         * docs/design/draft-ghostpads.txt:
158         * docs/design/draft-push-pull.txt:
159         * docs/design/draft-query.txt:
160         * docs/design/part-overview.txt:
161         Docs updates, added general overview doc.
162
163 2005-05-21  David Schleef  <ds@schleef.org>
164
165         * docs/gst/tmpl/old/GstBin.sgml:
166         * docs/gst/tmpl/old/GstBuffer.sgml:
167         * docs/gst/tmpl/old/GstCaps.sgml:
168         * docs/gst/tmpl/old/GstClock.sgml:
169         * docs/gst/tmpl/old/GstCompat.sgml:
170         * docs/gst/tmpl/old/GstData.sgml:
171         * docs/gst/tmpl/old/GstElement.sgml:
172         * docs/gst/tmpl/old/GstEvent.sgml:
173         * docs/gst/tmpl/old/GstIndex.sgml:
174         * docs/gst/tmpl/old/GstStructure.sgml:
175         * docs/gst/tmpl/old/GstTag.sgml:
176         * docs/gst/tmpl/old/cothreads.sgml:
177         * docs/gst/tmpl/old/cothreads_compat.sgml:
178         * docs/gst/tmpl/old/gettext.sgml:
179         * docs/gst/tmpl/old/gobject2gtk.sgml:
180         * docs/gst/tmpl/old/grammar.tab.sgml:
181         * docs/gst/tmpl/old/gst-i18n-app.sgml:
182         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
183         * docs/gst/tmpl/old/gst_private.sgml:
184         * docs/gst/tmpl/old/gstaggregator.sgml:
185         * docs/gst/tmpl/old/gstarch.sgml:
186         * docs/gst/tmpl/old/gstatomic_impl.sgml:
187         * docs/gst/tmpl/old/gstbufferstore.sgml:
188         * docs/gst/tmpl/old/gstdata_private.sgml:
189         * docs/gst/tmpl/old/gstdisksink.sgml:
190         * docs/gst/tmpl/old/gstdisksrc.sgml:
191         * docs/gst/tmpl/old/gstelementfactory.sgml:
192         * docs/gst/tmpl/old/gstextratypes.sgml:
193         * docs/gst/tmpl/old/gstfakesink.sgml:
194         * docs/gst/tmpl/old/gstfakesrc.sgml:
195         * docs/gst/tmpl/old/gstfdsink.sgml:
196         * docs/gst/tmpl/old/gstfdsrc.sgml:
197         * docs/gst/tmpl/old/gstfilesink.sgml:
198         * docs/gst/tmpl/old/gstfilesrc.sgml:
199         * docs/gst/tmpl/old/gsthttpsrc.sgml:
200         * docs/gst/tmpl/old/gstidentity.sgml:
201         * docs/gst/tmpl/old/gstindexfactory.sgml:
202         * docs/gst/tmpl/old/gstmarshal.sgml:
203         * docs/gst/tmpl/old/gstmd5sink.sgml:
204         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
205         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
206         * docs/gst/tmpl/old/gstpadtemplate.sgml:
207         * docs/gst/tmpl/old/gstpipefilter.sgml:
208         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
209         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
210         * docs/gst/tmpl/old/gstshaper.sgml:
211         * docs/gst/tmpl/old/gstspider.sgml:
212         * docs/gst/tmpl/old/gstspideridentity.sgml:
213         * docs/gst/tmpl/old/gststatistics.sgml:
214         * docs/gst/tmpl/old/gsttee.sgml:
215         * docs/gst/tmpl/old/gsttimecache.sgml:
216         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
217         * docs/gst/tmpl/old/gstxmlregistry.sgml:
218         * docs/gst/tmpl/old/gthread-cothreads.sgml:
219         * docs/gst/tmpl/old/types.sgml:
220           I didn't intend to add these or check them in.
221
222 2005-05-19  David Schleef  <ds@schleef.org>
223
224         * configure.ac: Use -no-common everywhere.  In a sane world, it
225           would be the default in libtool, because without it, you can't
226           build DLLs on Windows.
227         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
228         * docs/gst/gstreamer-sections.txt:
229         * docs/gst/tmpl/gstcpu.sgml:
230         * docs/gst/tmpl/gstdata.sgml:
231         * docs/gst/tmpl/gstthread.sgml:
232
233 2005-05-19  David Schleef  <ds@schleef.org>
234
235         * gst/gstminiobject.c: (gst_value_set_mini_object),
236         (gst_value_take_mini_object), (gst_value_get_mini_object):
237         * gst/gstminiobject.h: Add GValue set/get functions.
238
239 2005-05-19  Wim Taymans  <wim@fluendo.com>
240
241         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
242         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
243         (gst_subbuffer_init), (gst_buffer_is_span_fast):
244         * gst/gstbuffer.h:
245         * gst/gstbus.c: (gst_bus_post):
246         * gst/gstelement.c: (gst_element_get_random_pad):
247         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
248         Make subbufer unref the parent in finalize.
249         some more debugging info.
250
251
252 2005-05-19  Wim Taymans  <wim@fluendo.com>
253
254         * gst/base/gstbasesink.c: (gst_basesink_class_init),
255         (gst_basesink_init), (gst_basesink_finalize),
256         (gst_basesink_activate), (gst_basesink_change_state):
257         Don't free preroll queue too early.
258
259 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
260
261         * gst/Makefile.am:
262         * gst/ROADMAP:
263           Hi, I'm outdated. Please shoot me.
264
265 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
266
267         * gst/gstpipeline.c: (gst_pipeline_send_event):
268           Do not access variables after they have been deleted.
269
270 2005-05-19  Wim Taymans  <wim@fluendo.com>
271
272         * tools/gst-inspect.c: (print_plugin_features):
273         A plugin feature does unfortunatly not use the
274         object name yet...
275
276 2005-05-18  Wim Taymans  <wim@fluendo.com>
277
278         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
279         Port _span() functions to new subbuffers.
280
281 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
282
283         * gst/gstbin.c: (gst_bin_add_func):
284           Fix clock settery in bins when adding kids after the clock has
285           been selected.
286
287 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
288
289         * gst/elements/gstidentity.c: (gst_identity_class_init):
290           Workaround until signals support GstMiniObject.
291
292 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
293
294         * gst/gstbuffer.c:
295         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
296
297 2005-05-18  Wim Taymans  <wim@fluendo.com>
298
299         * gst/base/Makefile.am:
300         * gst/base/gstadapter.c: (gst_adapter_base_init),
301         (gst_adapter_class_init), (gst_adapter_init),
302         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
303         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
304         (gst_adapter_flush), (gst_adapter_available),
305         (gst_adapter_available_fast):
306         * gst/base/gstadapter.h:
307         Ported and added adapter to the base classes.
308
309 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
310
311         * gst/gst.c:
312         * gst/gstmessage.c:
313           Make sure the class is reffed/unreffed once before threads can be
314           used.  Fixes #304551.
315
316 2005-05-17  Wim Taymans  <wim@fluendo.com>
317
318         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
319         (gst_basesink_chain_unlocked), (gst_basesink_activate):
320         * gst/gstminiobject.c: (gst_mini_object_get_type),
321         (gst_mini_object_free):
322         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
323         (gst_pad_push), (gst_pad_push_event):
324         * gst/gstqueue.c: (gst_queue_change_state):
325         Don't queue buffers in basesink when we are flushing.
326         Unref buffer when flushing in basesink.
327         Flush queue when going to READY
328         Unref buffer when _push() returns an error.
329         Don't free MiniObject instance when refcount is incremented
330         in _finalize() so that we can recover objects.
331
332 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
333
334         * docs/manual/advanced-schedulers.xml:
335         * docs/manual/appendix-checklist.xml:
336         * docs/pwg/advanced-clock.xml:
337         * docs/pwg/advanced-interfaces.xml:
338         * docs/pwg/advanced-request.xml:
339         * docs/pwg/advanced-types.xml:
340         * docs/pwg/intro-preface.xml:
341         * examples/plugins/example.c: (gst_example_get_type),
342         (gst_example_class_init), (gst_example_chain),
343         (gst_example_set_property), (gst_example_get_property),
344         (gst_example_change_state), (plugin_init):
345         * examples/plugins/example.h:
346           small doc fixes
347
348 2005-05-17  Wim Taymans  <wim@fluendo.com>
349
350         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
351         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
352         * gst/gstqueue.c: (gst_queue_change_state):
353         Clear queue when going to READY.
354         Remove IN_SETCAPS flag too.
355
356 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
357
358         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
359           Remove implicit cast from gboolean to GstElementStateReturn;
360           make sure we still return failure in paused => ready case if
361           the parent class fails to change state and our own stop 
362           vfunc succeeds.
363
364 2005-05-17  Wim Taymans  <wim@fluendo.com>
365
366         * tools/gst-launch.c: (event_loop):
367         Message was unreffed too soon.
368
369 2005-05-16  Andy Wingo  <wingo@pobox.com>
370
371         * gst/gstbin.c (sink_iterator_filter): Err... um...
372
373         * check/gst/gstbin.c (test_ghost_pads): New test for the
374         ghosting-if-elements-not-in-same-bin behavior.
375
376 2005-05-16  David Schleef  <ds@schleef.org>
377
378         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
379         accessing refcount directly.
380
381 2005-05-15  David Schleef  <ds@schleef.org>
382
383         * check/Makefile.am: remove GstData checks
384         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
385         * gst/Makefile.am: add miniobject, remove data
386         * gst/gst.h: add miniobject, remove data
387         * gst/gstdata.c: remove
388         * gst/gstdata.h: remove
389         * gst/gstdata_private.h: remove
390         * gst/gsttypes.h: remove GstEvent and GstMessage
391         * gst/gstelement.c: (gst_element_post_message): fix for API changes
392         * gst/gstmarshal.list: change BOXED -> OBJECT
393
394         Implement GstMiniObject.
395         * gst/gstminiobject.c:
396         * gst/gstminiobject.h:
397
398         Modify to be subclasses of GstMiniObject.
399         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
400         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
401         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
402         (gst_subbuffer_get_type), (gst_subbuffer_init),
403         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
404         (gst_buffer_span):
405         * gst/gstbuffer.h:
406         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
407         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
408         (_gst_event_copy), (gst_event_new):
409         * gst/gstevent.h:
410         * gst/gstmessage.c: (_gst_message_initialize),
411         (gst_message_get_type), (gst_message_class_init),
412         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
413         (gst_message_new), (gst_message_new_error),
414         (gst_message_new_warning), (gst_message_new_tag),
415         (gst_message_new_state_changed), (gst_message_new_application):
416         * gst/gstmessage.h:
417         * gst/gstprobe.c: (gst_probe_perform),
418         (gst_probe_dispatcher_dispatch):
419         * gst/gstprobe.h:
420         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
421         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
422         (_gst_query_copy), (gst_query_new):
423
424         Update elements for GstData -> GstMiniObject changes
425         * gst/gstquery.h:
426         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
427         (gst_queue_chain), (gst_queue_loop):
428         * gst/elements/gstbufferstore.c:
429         (gst_buffer_store_add_buffer_func),
430         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
431         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
432         (gst_fakesink_render):
433         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
434         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
435         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
436         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
437         (gst_filesrc_create_read):
438         * gst/elements/gstidentity.c: (gst_identity_class_init):
439         * gst/elements/gsttypefindelement.c:
440         (gst_type_find_element_src_event), (free_entry_buffers),
441         (gst_type_find_element_handle_event):
442         * libs/gst/dataprotocol/dataprotocol.c:
443         (gst_dp_header_from_buffer):
444         * libs/gst/dataprotocol/dataprotocol.h:
445         * libs/gst/dataprotocol/dp-private.h:
446
447 2005-05-15  David Schleef  <ds@schleef.org>
448
449         * gst/elements/gstelements.c: Don't include headers that were
450         just removed.
451
452 2005-05-15  David Schleef  <ds@schleef.org>
453
454         * gst/elements/Makefile.am: Remove some elements that don't
455         need to be in the core (or even exist at all).
456         * gst/elements/gstaggregator.c:
457         * gst/elements/gstaggregator.h:
458         * gst/elements/gstmd5sink.c:
459         * gst/elements/gstmd5sink.h:
460         * gst/elements/gstmultifilesrc.c:
461         * gst/elements/gstmultifilesrc.h:
462         * gst/elements/gstpipefilter.c:
463         * gst/elements/gstpipefilter.h:
464         * gst/elements/gstshaper.c:
465         * gst/elements/gstshaper.h:
466         * gst/elements/gststatistics.c:
467         * gst/elements/gststatistics.h:
468         * po/POTFILES.in: Remove above files.
469
470 2005-05-14  Andy Wingo  <wingo@pobox.com>
471
472         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
473         so as to get the refs right.
474         (sink_iterator_filter): New function, wraps bin_element_is_sink,
475         unreffing objects that don't pass the filter.
476
477         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
478         gst_element_set_bus.
479         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
480         normal cases, this will destroy the bus.
481
482         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
483         object.
484
485         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
486         has no sinks.
487
488 2005-05-13  Andy Wingo  <wingo@pobox.com>
489
490         * gst/gstutils.c (gst_element_link_pads): Instead of calling
491         gst_pad_link, call pad_link_maybe_ghosting,
492         (pad_link_maybe_ghosting): Links pads, making sure that the
493         elements being linked are in the same bin.
494         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
495         Helpers for pad_link_maybe_ghosting.
496
497 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
498
499         * configure.ac:
500           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
501
502 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
503
504         * docs/design/part-element-source.txt:
505           Mention GstPushSrc
506
507 2005-05-12  Wim Taymans  <wim@fluendo.com>
508
509         * gst/base/gstbasesink.c: (gst_basesink_init),
510         (gst_basesink_activate):
511         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
512         (gst_basesrc_is_seekable):
513         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
514         (bin_element_is_sink), (gst_bin_change_state):
515         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
516         * gst/gstelement.h:
517         Identify sinks by their flag to avoid overly complicated
518         checks (fow now).
519         Do state changes even for elements not reachable from the
520         sinks.
521         BaseSink is a sink now :)
522         Some more debugging info in the basesrc.
523
524
525 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
526
527         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
528           Implement _query on a bin, similar to _send_event.
529
530 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
531
532         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
533           Discont event offset format should be GST_FORMAT_BYTES,
534           not GST_FORMAT_TIME.
535
536 2005-05-12  Wim Taymans  <wim@fluendo.com>
537
538         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
539         Same fix as Ronald's but without the signal. 
540
541 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
542
543         * gst/gstutils.c: (gst_element_query_position):
544           No, an element is not a pad.
545
546 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
547
548         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
549         (gst_bin_get_state):
550           If a child is removed from a bin while we remove the child from
551           the bin and while we're retrieving its state, signal this to the
552           get_state function so we abort the wait (instead of waiting for
553           a timeout) and can immediately re-iterate over all other elements.
554
555 2005-05-12  Wim Taymans  <wim@fluendo.com>
556
557         * gst/base/Makefile.am:
558         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
559         (gst_basesrc_start):
560         * gst/base/gstbasesrc.h:
561         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
562         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
563         (gst_pushsrc_init), (gst_pushsrc_create):
564         * gst/base/gstpushsrc.h:
565         Added is_seekable to BaseSrc
566         Added simple PushSrc.
567
568 2005-05-11  Wim Taymans  <wim@fluendo.com>
569
570         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
571         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
572         (gst_element_link_pads), (gst_element_query_position),
573         (gst_element_query_convert), (intersect_caps_func),
574         (gst_pad_query_position), (gst_pad_query_convert):
575         Fix refcounting in utils function.
576         No point in trying to activate a pad when it's added, it could
577         be added from the state change function and then we deadlock, the
578         element has to decide what to do.
579
580 2005-05-10  Andy Wingo  <wingo@pobox.com>
581
582         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
583         *all* the arguments.
584
585         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
586         stream lock if it's a FLUSH_DONE; normal flushes don't get the
587         lock (according to the docs -- if this is wrong change the docs).
588
589         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
590         flush messages in the NULL state.
591
592         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
593         message immediately and return.
594         (gst_bus_set_flushing): New function. If a bus is flushing, it
595         flushes out any queued messages and immediately unrefs new
596         messages. This is so when an element goes to NULL, all of the
597         unhandled messages coming from it can be freed, and their
598         references to the element dropped. In other words: message source
599         ref considered harmful :P
600
601         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
602         we're finished with it.
603
604         * gst/gstmessage.c (gst_message_new_state_changed): 
605
606 2005-05-10  Wim Taymans  <wim@fluendo.com>
607
608         * gst/gstvalue.c: (gst_value_compare_flags),
609         (gst_value_serialize_flags), (gst_value_deserialize_flags),
610         (_gst_value_initialize):
611         Added flags serialize/deserialize/compare code.
612
613 2005-05-09  Andy Wingo  <wingo@pobox.com>
614
615         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
616         Intersect the peer's caps with our caps.
617
618 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
619
620         * gst/base/gsttypefindhelper.c: (helper_find_peek):
621         * gst/elements/gsttypefindelement.c: (find_peek):
622           Handle negative offsets better. Fixes decodebin.
623
624 2005-05-09  Wim Taymans  <wim@fluendo.com>
625
626         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
627         (gst_base_transform_event):
628         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
629         Implement accept_caps.
630         Fix silly lock/unlock mismatch in base class.
631
632 2005-05-09  Wim Taymans  <wim@fluendo.com>
633
634         * docs/design/draft-push-pull.txt:
635         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
636         * gst/elements/gstfilesink.c: (gst_filesink_init),
637         (gst_filesink_query):
638         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
639         (gst_type_find_handle_src_query), (find_element_get_length):
640         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
641         * gst/gstelement.h:
642         * gst/gstmessage.c:
643         * gst/gstmessage.h:
644         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
645         (gst_real_pad_get_caps_unlocked),
646         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
647         (gst_pad_event_default_dispatch), (gst_pad_event_default),
648         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
649         (gst_real_pad_dispose), (gst_real_pad_finalize),
650         (gst_pad_load_and_link), (gst_pad_save_thyself),
651         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
652         (gst_pad_check_pull_range), (gst_pad_pull_range),
653         (gst_pad_template_get_type), (gst_pad_template_class_init),
654         (gst_pad_template_init), (gst_pad_template_dispose),
655         (name_is_valid), (gst_static_pad_template_get),
656         (gst_pad_template_new), (gst_static_pad_template_get_caps),
657         (gst_pad_template_get_caps), (gst_pad_set_element_private),
658         (gst_pad_get_element_private), (gst_pad_start_task),
659         (gst_pad_pause_task), (gst_pad_stop_task),
660         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
661         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
662         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
663         (gst_ghost_pad_new):
664         * gst/gstpad.h:
665         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
666         (gst_query_new_position), (gst_query_set_position),
667         (gst_query_parse_position), (gst_query_new_convert),
668         (gst_query_set_convert), (gst_query_parse_convert):
669         * gst/gstquery.h:
670         * gst/gstqueryutils.c:
671         * gst/gstqueryutils.h:
672         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
673         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
674         (gst_queue_handle_src_query):
675         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
676         (gst_element_query_position), (gst_element_query_convert),
677         (intersect_caps_func), (gst_pad_query_position),
678         (gst_pad_query_convert):
679         * gst/gstutils.h:
680         * tools/gst-inspect.c: (print_pad_info):
681         * tools/gst-xmlinspect.c: (print_element_info):
682         Remove old query functions. Ported old code.
683         Added position/convert helper functions to gstutils.
684         Reordered gstpad.c code, grouping relevant things.
685         Remove gst_message_new(), always need to speficy a specific
686         message.
687
688
689 2005-05-09  Andy Wingo  <wingo@pobox.com>
690
691         * gst/gstiterator.h: Add some includes.
692
693         * gst/gstqueryutils.h: Include more headers.
694
695         * gst/gstpad.h:
696         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
697         some uses of gst_pad_query.
698
699         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
700         NULL out parameters.
701         (gst_query_new_position): New proc, allocates a new position
702         query.
703
704         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
705         gstqueryutils.c to the build.
706
707         * gst/gststructure.c (gst_structure_set_valist): Implement with
708         the generic G_VALUE_COLLECT.
709         
710 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
711
712         * gst/Makefile.am: (gst_headers):
713         Added gstqueryutils.h to the list of headers to install, that was
714         a 'nachty' move wingo :)
715
716 2005-05-06  Andy Wingo  <wingo@pobox.com>
717
718         * gst/gstquery.h
719         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
720         GstData, init a memchunk.
721         (standard_definitions): Add a few query types, deprecate a few.
722         (gst_query_get_type): New proc.
723         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
724         implementation.
725         (gst_query_new_application, gst_query_get_structure): New public
726         procs.
727
728         * docs/design/draft-query.txt: Removed LINKS from the query types,
729         because all the rest can be dispatched to other pads -- seemed
730         ugly to have a query that couldn't be dispatched. internal_links
731         is fine as a pad method.
732
733         * gst/gstpad.h: Add query2 as a pad method, add the new functions
734         in gstpad.c, but maintain binary compatibility for the moment.
735         Will fix before 0.9 is out.
736
737         * gst/gstqueryutils.c: 
738         * gst/gstqueryutils.h: New files, implement 3 methods for each
739         query type: parse_query, parse_response, and set. Probably need an
740         allocator as well.
741
742         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
743
744         * gst/elements/gstfilesink.c (gst_filesink_query2):
745         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
746         query_types, and formats methods.
747
748         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
749         (gst_pad_set_query2_function): New functions.
750         (gst_real_pad_init): Set query2_default as the default query2
751         function. Basically just dispatches to internally linked pads.
752
753         Needs review!
754         
755         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
756         without using the atomic operations. Only one thread can possibly
757         be accessing the data at this point. Changed so as to avoid
758         gst_atomic operations.
759
760 2005-05-06  Wim Taymans  <wim@fluendo.com>
761
762         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
763         Also set caps if we use the fallback buffer alloc.
764
765 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
766
767         * docs/gst/Makefile.am:
768         * docs/gst/gstreamer-docs.sgml:
769         * docs/gst/gstreamer-sections.txt:
770         * docs/gst/tmpl/gstatomic.sgml:
771         * docs/gst/tmpl/gstmemchunk.sgml:
772         * testsuite/elements/struct_i386.h:
773         * win32/GStreamer.vcproj:
774         * win32/Makefile:
775           Purge GstAtomic stuff from docs and win32 makefiles as well
776
777 2005-05-06  Wim Taymans  <wim@fluendo.com>
778
779         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
780         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
781         * gst/gstpad.c: (gst_pad_peer_get_caps):
782         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
783         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
784         (gst_queue_src_activate), (gst_queue_change_state):
785         * gst/gstqueue.h:
786         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
787         (intersect_caps_func):
788         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
789         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
790         Some fixes for the peer_get_caps() change.
791
792 2005-05-06  Wim Taymans  <wim@fluendo.com>
793
794         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
795         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
796         (gst_basesink_activate):
797         Actually do something with error codes returned from the push
798         functions.
799
800 2005-05-06  Wim Taymans  <wim@fluendo.com>
801
802         * docs/design/part-element-sink.txt:
803         * docs/design/part-element-source.txt:
804         * gst/base/gstbasesink.c: (gst_basesink_class_init),
805         (gst_basesink_event), (gst_basesink_activate):
806         * gst/base/gstbasesink.h:
807         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
808         (gst_basesrc_activate):
809         * gst/base/gstbasesrc.h:
810         * gst/gstelement.c: (gst_element_pads_activate):
811         Some more documentation.
812         Fixed scheduling decision in _pads_activate().
813
814 2005-05-05  Andy Wingo  <wingo@pobox.com>
815
816         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
817         the test suite.
818
819 2005-05-05  Wim Taymans  <wim@fluendo.com>
820
821         * gst/base/Makefile.am:
822         * gst/base/gstbasesink.h:
823         * gst/base/gstbasesrc.c: (gst_basesrc_init),
824         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
825         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
826         (gst_collectpads_class_init), (gst_collectpads_init),
827         (gst_collectpads_finalize), (gst_collectpads_new),
828         (gst_collectpads_set_function), (gst_collectpads_add_pad),
829         (find_pad), (gst_collectpads_remove_pad),
830         (gst_collectpads_is_active), (gst_collectpads_collect),
831         (gst_collectpads_collect_range), (gst_collectpads_start),
832         (gst_collectpads_stop), (gst_collectpads_peek),
833         (gst_collectpads_pop), (gst_collectpads_available),
834         (gst_collectpads_read), (gst_collectpads_flush),
835         (gst_collectpads_chain):
836         * gst/base/gstcollectpads.h:
837         * gst/elements/Makefile.am:
838         * gst/elements/gstelements.c:
839         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
840         (gst_fakesink_get_times), (gst_fakesink_event),
841         (gst_fakesink_preroll), (gst_fakesink_render):
842         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
843         (gst_filesink_init), (gst_filesink_set_location),
844         (gst_filesink_open_file), (gst_filesink_close_file),
845         (gst_filesink_pad_query), (gst_filesink_event),
846         (gst_filesink_render), (gst_filesink_change_state):
847         * gst/elements/gstfilesink.h:
848         Added object to help in making collect pad based elements.
849         Ported filesink.
850         Make event function in sink baseclass return gboolean.
851
852 2005-05-05  Wim Taymans  <wim@fluendo.com>
853
854         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
855         (gst_bin_get_by_name):
856         * gst/gstbuffer.h:
857         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
858         (gst_clock_finalize):
859         * gst/gstdata.c: (gst_data_replace):
860         * gst/gstdata.h:
861         * gst/gstelement.c: (gst_element_request_pad),
862         (gst_element_pads_activate):
863         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
864         (gst_object_unref):
865         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
866         (gst_pad_set_checkgetrange_function),
867         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
868         (gst_pad_check_pull_range), (gst_pad_pull_range),
869         (gst_static_pad_template_get_caps), (gst_pad_start_task),
870         (gst_pad_pause_task), (gst_pad_stop_task):
871         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
872         (gst_element_request_pad), (gst_pad_proxy_getcaps):
873         Fix name lookup in GstBin.
874         Added _data_replace() function and _buffer_replace()
875         Use finalize method to clean up clock.
876         Fix refcounting on request pads.
877         Fix pad schedule mode error.
878         Some more object refcounting debug info,
879
880
881 2005-05-04  Andy Wingo <wingo@pobox.com>
882
883         * check/Makefile.am:
884         * docs/gst/tmpl/gstatomic.sgml:
885         * docs/gst/tmpl/gstplugin.sgml:
886         * gst/base/gstbasesink.c: (gst_basesink_activate):
887         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
888         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
889         (gst_basesrc_query), (gst_basesrc_set_property),
890         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
891         (gst_basesrc_activate):
892         * gst/base/gstbasesrc.h:
893         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
894         (gst_base_transform_src_activate):
895         * gst/elements/gstelements.c:
896         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
897         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
898         * gst/elements/gsttee.c: (gst_tee_sink_activate):
899         * gst/elements/gsttypefindelement.c: (find_element_get_length),
900         (gst_type_find_element_checkgetrange),
901         (gst_type_find_element_activate):
902         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
903         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
904         (gst_caps_load_thyself):
905         * gst/gstelement.c: (gst_element_pads_activate),
906         (gst_element_save_thyself), (gst_element_restore_thyself):
907         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
908         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
909         * gst/gstpad.h:
910         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
911         (gst_xml_parse_file), (gst_xml_parse_memory),
912         (gst_xml_get_element), (gst_xml_make_element):
913         * gst/indexers/gstfileindex.c: (gst_file_index_load),
914         (_file_index_id_save_xml), (gst_file_index_commit):
915         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
916         (read_enum), (load_pad_template), (load_feature), (load_plugin),
917         (load_paths):
918         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
919         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
920         * tools/gst-complete.c: (main):
921         * tools/gst-compprep.c: (main):
922         * tools/gst-inspect.c: (print_element_properties_info):
923         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
924         * tools/gst-xmlinspect.c: (print_element_properties):
925         GCC 4 fixen.
926         
927 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
928
929         * gst/gstplugin.c: (gst_plugin_check_module),
930         (gst_plugin_check_file), (gst_plugin_load_file):
931             apply patch from #172526 to make register work on MacOSX
932
933 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
934
935         * docs/gst/tmpl/gstconfig.sgml:
936         * gst/gstconfig.h.in:
937           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
938         * testsuite/debug/printf_extension.c: (main):
939           Do not use GST_PTR_FORMAT on pointers to types with
940           sizeof < sizeof(gpointer).  Fixes test on 64-bit
941         * testsuite/elements/property.h:
942           use correct printf format
943
944 2005-05-02  Wim Taymans  <wim@fluendo.com>
945
946         * docs/design/draft-push-pull.txt:
947         * docs/design/draft-query.txt:
948         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
949         (gst_basesrc_start):
950         Added draft for new query API.
951         Added draft for better selecting scheduling methods.
952         Make basesrc ignore length if the subclass does not support
953         it.
954
955 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
956
957         * gst/Makefile.am:
958           possible fixes for automake-1.5 - _LIBADD is reserved
959
960 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
961
962         * docs/faq/Makefile.am:
963         * docs/manual/Makefile.am:
964         * docs/manuals.mak:
965         * docs/pwg/Makefile.am:
966         * gst/Makefile.am:
967           possible fixes for automake-1.5
968
969 2005-04-28  Wim Taymans  <wim@fluendo.com>
970
971         * gst/base/gstbasesink.c: (gst_basesink_base_init),
972         (gst_basesink_pad_getcaps), (gst_basesink_init),
973         (gst_basesink_do_sync):
974         * gst/gstclock.c: (gst_clock_entry_new):
975         * gst/gstevent.c: (gst_event_discont_get_value):
976         * gst/gstpipeline.c: (pipeline_bus_handler),
977         (gst_pipeline_change_state):
978         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
979         Better debugging of clocking info.
980         Allow NULL values when getting discont values.
981
982 2005-04-27  Wim Taymans  <wim@fluendo.com>
983
984         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
985         * check/gst/gstpad.c: (gst_pad_suite):
986         Increase timeout for checks.
987
988 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
989
990         * check/Makefile.am:
991           fix the broken rule for cleanup.  Apparently this rule is
992           only needed on FC2, so maybe this warrants further autotool
993           inspection.
994
995 2005-04-26  Wim Taymans  <wim@fluendo.com>
996
997         * gst/gsttrashstack.h:
998         Ooohh. a nasty one! After having a failed pop() from the stack,
999         it's possible that the stack is empty. In that case, don't
1000         follow the NULL pointer.
1001
1002 2005-04-25  Wim Taymans  <wim@fluendo.com>
1003
1004         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1005         (gst_pad_set_checkgetrange_function),
1006         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
1007         (gst_pad_check_pull_range), (gst_pad_pull_range),
1008         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1009         (gst_pad_pause_task), (gst_pad_stop_task):
1010         * gst/gstplugin.c: (gst_plugin_load):
1011         * gst/gstplugin.h:
1012         Remove gst_library_load as it does more harm than good with
1013         the new g_module flags.
1014         Revert bogus caps template check in pad linking, pad caps
1015         are important when linking not the template, which is more
1016         general than the current caps.
1017
1018 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1019
1020         * gst/autoplug/.cvsignore:
1021         * gst/autoplug/Makefile.am:
1022         * gst/autoplug/gstsearchfuncs.c:
1023         * gst/autoplug/gstsearchfuncs.h:
1024         * gst/autoplug/gstspider.c:
1025         * gst/autoplug/gstspider.h:
1026         * gst/autoplug/gstspideridentity.c:
1027         * gst/autoplug/gstspideridentity.h:
1028         * gst/autoplug/spidertest.c:
1029           Die, spider, die.
1030
1031 2005-04-25  Wim Taymans  <wim@fluendo.com>
1032
1033         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1034         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
1035         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
1036         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
1037         * gst/gstpad.h:
1038         Added stubs for unimplemented functions. 
1039
1040 2005-04-24  David Schleef  <ds@schleef.org>
1041
1042         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
1043         please fix.
1044
1045 2005-04-24  David Schleef  <ds@schleef.org>
1046
1047         Convert everything from GstAtomicInt to g_atomic_int_*, and
1048         remove gstatomic.
1049         * gst/Makefile.am:
1050         * gst/gstatomic.c:
1051         * gst/gstatomic.h:
1052         * gst/gstatomic_impl.h:
1053         * gst/gstbuffer.c:
1054         * gst/gstcaps.c:
1055         * gst/gstcaps.h:
1056         * gst/gstclock.c:
1057         * gst/gstclock.h:
1058         * gst/gstdata.c:
1059         * gst/gstdata.h:
1060         * gst/gstdata_private.h:
1061         * gst/gstevent.c:
1062         * gst/gstinfo.c:
1063         * gst/gstinfo.h:
1064         * gst/gstmessage.c:
1065         * gst/gstobject.c:
1066         * gst/gstobject.h:
1067         * gst/gststructure.c:
1068         * gst/gststructure.h:
1069         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
1070         * gst/gstutils.h:
1071
1072 2005-04-24  David Schleef  <ds@schleef.org>
1073
1074         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
1075         make the regressions tests work.  Remove some code that is no
1076         longer true.
1077         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
1078         Disable warning for pads without templates.
1079
1080 2005-04-24  David Schleef  <ds@schleef.org>
1081
1082         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
1083         functions that handle filtered links.
1084         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
1085         removed functions.
1086         * gst/gstutils.c: Fix/remove utility functions that handle
1087         filtered caps.
1088         * gst/gstutils.h:
1089         * gst/gstvalue.c: Add serialization/deserialization of caps
1090         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
1091         requires fixing so that the filter caps notation creates
1092         a capsfilter element and sets the filter_caps property.  I
1093         think everyone probably wants to keep the shorthand notation.
1094         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
1095         * docs/gst/tmpl/gstpad.sgml:
1096
1097         * gst/elements/gstelements.c: Register capsfilter element.
1098         * gst/Makefile.am: fix spacing
1099         * docs/random/ds/0.9-suggested-changes: random
1100
1101 2005-04-23  David Schleef  <ds@schleef.org>
1102
1103         * gst/elements/Makefile.am:
1104         * gst/elements/gstcapsfilter.c: New element that acts like an
1105         identity, but filters caps.  Will eventually replace filtered
1106         caps in pad linking.
1107         * gst/gstutils.c: (gst_element_create_all_pads): New function
1108         to create all the ALWAYS pads that are registered with an
1109         element class.  This functionality should eventually be
1110         merged in with GstElement initialization.
1111         * gst/gstutils.h:
1112         * testsuite/trigger/README: part of trigger test code that should
1113         have been checked in a long time ago.
1114
1115 2005-04-23  David Schleef  <ds@schleef.org>
1116
1117         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
1118         needed with new versions of libtool (nobody will confirm this),
1119         and hard to carry around.
1120         * gst/autoplug/Makefile.am:
1121         * gst/base/Makefile.am:
1122         * gst/elements/Makefile.am:
1123         * gst/indexers/Makefile.am:
1124         * gst/schedulers/Makefile.am:
1125         * libs/gst/bytestream/Makefile.am:
1126         * libs/gst/control/Makefile.am:
1127         * libs/gst/dataprotocol/Makefile.am:
1128         * libs/gst/getbits/Makefile.am:
1129
1130 2005-04-21  Wim Taymans  <wim@fluendo.com>
1131
1132         * docs/design/draft-push-pull.txt:
1133         * docs/design/part-MT-refcounting.txt:
1134         * docs/design/part-TODO.txt:
1135         * docs/design/part-caps.txt:
1136         * docs/design/part-events.txt:
1137         * docs/design/part-gstbus.txt:
1138         * docs/design/part-gstpipeline.txt:
1139         * docs/design/part-messages.txt:
1140         * docs/design/part-push-pull.txt:
1141         * docs/design/part-query.txt:
1142         Some more docs.
1143
1144 2005-04-21  Wim Taymans  <wim@fluendo.com>
1145
1146         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
1147         (gst_message_new), (gst_message_new_error),
1148         (gst_message_new_warning), (gst_message_new_tag),
1149         (gst_message_new_state_changed), (gst_message_new_application),
1150         (gst_message_get_structure):
1151         * gst/gstmessage.h:
1152         * gst/gststructure.c: (gst_structure_set_parent_refcount),
1153         (gst_structure_copy_conditional):
1154         Use parent refcount in GstMessage to ensure GstStructure
1155         consistency.
1156         Cleaned up headers a bit.
1157         
1158
1159 2005-04-20  Wim Taymans  <wim@fluendo.com>
1160
1161         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1162         (gst_basesink_pad_getcaps), (gst_basesink_init),
1163         (gst_basesink_chain_unlocked):
1164         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
1165         (gst_type_find_helper):
1166         * gst/elements/gsttypefindelement.c:
1167         (gst_type_find_element_have_type), (gst_type_find_element_init),
1168         (stop_typefinding), (gst_type_find_element_handle_event),
1169         (find_suggest), (gst_type_find_element_chain),
1170         (gst_type_find_element_checkgetrange),
1171         (gst_type_find_element_getrange), (do_typefind),
1172         (gst_type_find_element_activate):
1173         * gst/gstbuffer.c: (_gst_buffer_sub_free),
1174         (gst_buffer_default_free), (gst_buffer_default_copy),
1175         (gst_buffer_set_caps):
1176         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
1177         (gst_caps_replace):
1178         * gst/gstmessage.c: (gst_message_new),
1179         (gst_message_new_state_changed):
1180         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1181         (gst_pad_set_checkgetrange_function),
1182         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
1183         (gst_pad_set_caps), (gst_pad_check_pull_range),
1184         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
1185         * gst/gstpad.h:
1186         * gst/gsttypefind.c: (gst_type_find_register):
1187         Make gst_caps_replace() work like other _replace() functions.
1188         Use _caps_replace() where possible.
1189         Make sure _message_new() initialises its field.
1190         Add gst_static_pad_template_get_caps()
1191
1192
1193 2005-04-18  Andy Wingo  <wingo@pobox.com>
1194
1195         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
1196         on the peer, not the pad. I think that was a typo. Pass an extra
1197         arg to see if random access is possible. Activate the pads as
1198         PULL_RANGE if possible.
1199
1200         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
1201
1202         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
1203         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
1204         to PROP_....
1205
1206 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1207
1208         * docs/faq/using.xml:
1209           Add note on gstreamer-properties (#154996).
1210
1211 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1212
1213         * docs/random/bbb/optional-properties:
1214           Some analysis on optional properties.
1215
1216 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1217
1218         * docs/gst/tmpl/gstelementfactory.sgml:
1219         * gst/gstelement.h:
1220         * gst/gstelementfactory.c: (gst_element_factory_init),
1221         (gst_element_factory_cleanup), (gst_element_register),
1222         (__gst_element_factory_add_static_pad_template),
1223         (gst_element_factory_get_static_pad_templates),
1224         (gst_element_factory_can_src_caps),
1225         (gst_element_factory_can_sink_caps):
1226         * gst/registries/Makefile.am:
1227         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
1228         (gst_xml_registry_class_init), (gst_xml_registry_init),
1229         (gst_xml_registry_new), (gst_xml_registry_set_property),
1230         (gst_xml_registry_get_property), (get_time), (make_dir),
1231         (gst_xml_registry_get_perms_func),
1232         (plugin_times_older_than_recurse), (plugin_times_older_than),
1233         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
1234         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
1235         (add_to_char_array), (read_string), (read_uint), (read_enum),
1236         (load_pad_template), (load_feature), (load_plugin), (load_paths),
1237         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
1238         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
1239         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
1240         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
1241         (gst_xml_registry_rebuild):
1242         * gst/registries/gstlibxmlregistry.h:
1243         * tools/gst-compprep.c: (main):
1244         * tools/gst-inspect.c: (print_pad_templates_info):
1245         * tools/gst-xmlinspect.c: (print_element_info):
1246           Use libxml2 for registry parsing, use staticpadtemplates in
1247           elementfactories. Makes gst_init() +/- 10x faster.
1248
1249 2005-04-12  Wim Taymans  <wim@fluendo.com>
1250
1251         * gst/base/Makefile.am:
1252         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1253         (gst_basesink_pad_getcaps), (gst_basesink_init),
1254         (gst_basesink_event), (gst_basesink_change_state):
1255         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1256         (gst_basesrc_init), (gst_basesrc_query),
1257         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1258         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1259         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1260         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1261         (gst_basesrc_stop), (gst_basesrc_activate),
1262         (gst_basesrc_change_state):
1263         * gst/base/gsttypefindhelper.c: (helper_find_peek),
1264         (helper_find_suggest), (gst_type_find_helper):
1265         * gst/base/gsttypefindhelper.h:
1266         * gst/elements/Makefile.am:
1267         * gst/elements/gstelements.c:
1268         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1269         (gst_fakesink_get_times), (gst_fakesink_event),
1270         (gst_fakesink_preroll), (gst_fakesink_render):
1271         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1272         (gst_fakesrc_init), (gst_fakesrc_event_handler),
1273         (gst_fakesrc_get_property), (gst_fakesrc_create),
1274         (gst_fakesrc_start), (gst_fakesrc_stop):
1275         * gst/elements/gstfakesrc.h:
1276         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
1277         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
1278         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
1279         (gst_filesrc_create_read), (gst_filesrc_create),
1280         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
1281         (gst_filesrc_start):
1282         * gst/elements/gsttypefindelement.c:
1283         (gst_type_find_element_have_type), (gst_type_find_element_init),
1284         (start_typefinding), (stop_typefinding), (push_buffer_store),
1285         (gst_type_find_element_handle_event),
1286         (gst_type_find_element_chain),
1287         (gst_type_find_element_checkgetrange),
1288         (gst_type_find_element_getrange), (do_typefind),
1289         (gst_type_find_element_activate),
1290         (gst_type_find_element_change_state):
1291         * gst/elements/gsttypefindelement.h:
1292         * gst/gstpipeline.c: (pipeline_bus_handler):
1293         Added typefind helper.
1294         Small preroll fix in the base sink.
1295         Disable typefind code in basesrc.
1296         Crude port of typefindelement.
1297         Fakesrc cleanups.
1298
1299
1300 2005-04-11  Wim Taymans  <wim@fluendo.com>
1301
1302         * check/gst/gstbus.c: (gstbus_suite):
1303         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
1304         * check/gstcheck.h:
1305         Fix up the timeout so that the test does not fail.
1306
1307 2005-04-06  Wim Taymans  <wim@fluendo.com>
1308
1309         * gst/base/README:
1310         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1311         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
1312         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1313         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1314         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1315         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1316         (gst_basesrc_stop), (gst_basesrc_activate),
1317         (gst_basesrc_change_state), (basesrc_find_peek),
1318         (basesrc_find_suggest), (gst_basesrc_type_find):
1319         * gst/base/gstbasesrc.h:
1320         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
1321         (gst_filesrc_class_init), (gst_filesrc_init),
1322         (gst_filesrc_finalize), (gst_filesrc_set_location),
1323         (gst_filesrc_set_property), (gst_filesrc_get_property),
1324         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
1325         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
1326         (gst_filesrc_create_read), (gst_filesrc_create),
1327         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
1328         * gst/elements/gstfilesrc.h:
1329         * gst/gstelement.c: (gst_element_get_state_func),
1330         (gst_element_lost_state), (gst_element_pads_activate):
1331         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1332         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
1333         (gst_pad_pull_range):
1334         * gst/gstpad.h:
1335         More work on the generic source base class, implement seeking,
1336         query.
1337         Make filesrc extend the base source class.
1338         Added gst_pad_set_checkgetrange_function to GstPad.
1339
1340 2005-04-06  Andy Wingo  <wingo@pobox.com>
1341
1342         * pkgconfig/gstreamer-base.pc.in:
1343         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
1344
1345         * pkgconfig/Makefile.am:
1346         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
1347
1348 2005-04-04  Wim Taymans  <wim@fluendo.com>
1349
1350         * gst/base/Makefile.am:
1351         * gst/base/README:
1352         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1353         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
1354         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
1355         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
1356         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1357         (gst_basesrc_base_init), (gst_basesrc_class_init),
1358         (gst_basesrc_init), (gst_basesrc_get_formats),
1359         (gst_basesrc_get_query_types), (gst_basesrc_query),
1360         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
1361         (gst_basesrc_set_property), (gst_basesrc_get_property),
1362         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
1363         (gst_basesrc_loop), (gst_basesrc_activate),
1364         (gst_basesrc_change_state):
1365         * gst/base/gstbasesrc.h:
1366         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
1367         (gst_fakesrc_class_init), (gst_fakesrc_init),
1368         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
1369         (gst_fakesrc_get_property), (gst_fakesrc_create):
1370         * gst/elements/gstfakesrc.h:
1371         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
1372         (gst_filesrc_open_file), (gst_filesrc_loop),
1373         (gst_filesrc_activate), (filesrc_find_peek),
1374         (gst_filesrc_type_find):
1375         Made base source class, make fakesrc extend it.
1376         Add comments to basesink class.
1377         Some filesrc cleanup.
1378
1379 2005-03-31  David Schleef  <ds@schleef.org>
1380
1381         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
1382         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
1383         expected to link against libgstreamer.
1384         * gst/base/Makefile.am: link against libgstreamer
1385         * gst/elements/Makefile.am: same
1386
1387 2005-03-31  Andy Wingo  <wingo@pobox.com>
1388
1389         * tests/instantiate/Makefile.am:
1390         * tests/instantiate/caps.c: Add test to test speed of caps copy
1391         and free.
1392
1393         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
1394         GMemChunk to be fair.
1395
1396         * gst/gsttrashstack.h: Remove warning about using the fallback
1397         trash stack implementation, it's still faster than malloc.
1398
1399 2005-03-30  Andy Wingo  <wingo@pobox.com>
1400
1401         * tests/complexity.c: Add a copyright.
1402
1403 2005-03-31  Wim Taymans  <wim@fluendo.com>
1404
1405         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
1406         (gst_base_transform_class_init), (gst_base_transform_init),
1407         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
1408         (gst_base_transform_get_property),
1409         (gst_base_transform_sink_activate),
1410         (gst_base_transform_src_activate),
1411         (gst_base_transform_change_state):
1412         * gst/base/gstbasetransform.h:
1413         * gst/elements/gstidentity.c: (gst_identity_class_init),
1414         (gst_identity_event), (gst_identity_check_perfect),
1415         (gst_identity_transform), (gst_identity_start),
1416         (gst_identity_stop):
1417         Added start/stop methods to transform base class so subclasses 
1418         don't need to deal with state changes even.
1419
1420 2005-03-31  Wim Taymans  <wim@fluendo.com>
1421
1422         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
1423         (gst_event_new_discontinuous), (gst_event_discont_get_value):
1424         * gst/gstevent.h:
1425         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1426         (gst_pad_pull_range):
1427         Added rate to the discont event to prepare for variable speed
1428         and reverse playback.
1429
1430 2005-03-29  David Schleef  <ds@schleef.org>
1431
1432         * configure.ac:
1433         * testsuite/trigger/Makefile.am:
1434         * testsuite/trigger/trigger.c: A little example program to show
1435         how trigger-based elements can work.
1436
1437 2005-03-29  Wim Taymans  <wim@fluendo.com>
1438
1439         * gst/base/Makefile.am:
1440         * gst/base/README:
1441         * gst/base/gstbasesink.c: (gst_basesink_get_type),
1442         (gst_basesink_base_init), (gst_basesink_class_init),
1443         (gst_basesink_pad_getcaps), (gst_basesink_init),
1444         (gst_basesink_activate), (gst_basesink_change_state):
1445         * gst/base/gstbasesink.h:
1446         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
1447         (gst_base_transform_base_init), (gst_base_transform_finalize),
1448         (gst_base_transform_class_init), (gst_base_transform_init),
1449         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
1450         (gst_base_transform_event), (gst_base_transform_getrange),
1451         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
1452         (gst_base_transform_set_property),
1453         (gst_base_transform_get_property),
1454         (gst_base_transform_sink_activate),
1455         (gst_base_transform_src_activate),
1456         (gst_base_transform_change_state):
1457         * gst/base/gstbasetransform.h:
1458         * gst/elements/gstidentity.c: (gst_identity_finalize),
1459         (gst_identity_class_init), (gst_identity_init),
1460         (gst_identity_event), (gst_identity_check_perfect),
1461         (gst_identity_transform), (gst_identity_set_property),
1462         (gst_identity_get_property), (gst_identity_change_state):
1463         * gst/elements/gstidentity.h:
1464         * gst/gstelement.c: (gst_element_get_state_func),
1465         (gst_element_lost_state), (gst_element_pads_activate):
1466         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1467         (gst_pad_check_pull_range), (gst_pad_pull_range):
1468         * gst/gstpad.h:
1469         Simplify pad activation.
1470         Added function to check if pull_range can be performed.
1471         Error out when pulling inactive or flushing pads.
1472         Removed const from refcounted types as it does not make sense.
1473         Simplify pad templates in basesink
1474         Added base class for simple 1-to-1 transforms.
1475         Make identity subclass the base transform.
1476
1477 2005-03-29  Andy Wingo  <wingo@pobox.com>
1478
1479         * docs/libs/gstreamer-libs-overrides.txt: 
1480         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
1481         really don't understand what's going on, but like whatever. I want
1482         green buildbot!
1483
1484         * docs/gst/Makefile.am:
1485         * docs/libs/Makefile.am: Dist the overrides files.
1486
1487         * check/Makefile.am (clean-local): Remove .libs directories.
1488
1489         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
1490         elements to EXTRA_DIST, so po/ files are happy.
1491
1492         * po/POTFILES.in: Er, remove it here.
1493
1494         * po/POTFILES: Remove gstspider.c.
1495
1496         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
1497
1498         * docs/libs/gstreamer-libs-docs.sgml: 
1499         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
1500         bytestream.
1501
1502         * tests/complexity.c (main): Set the length of the preroll queue
1503         on the sinks to prevent a lockup.
1504
1505         * libs/gst/dataprotocol/Makefile.am: 
1506         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
1507         the same as the one in check/gst-libs/gdp.c.
1508
1509         * po/, docs/gst/: Commit automatic changes to docs and po files.
1510
1511         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
1512         the versioned libgstbase.
1513
1514         * check/Makefile.am: Depend on an unversioned gst-register, seems
1515         to make autoconf happier.
1516
1517         * gst/base/Makefile.am: Make libgstbase a versioned lib.
1518
1519 2005-03-28  Wim Taymans  <wim@fluendo.com>
1520
1521         * configure.ac:
1522         * docs/design/part-gstelement.txt:
1523         * docs/design/part-negotiation.txt:
1524         * docs/design/part-preroll.txt:
1525         * docs/design/part-scheduling.txt:
1526         * docs/design/part-states.txt:
1527         * gst/Makefile.am:
1528         * gst/base/Makefile.am:
1529         * gst/base/README:
1530         * gst/base/gstbasesink.c: (gst_basesink_get_template),
1531         (gst_basesink_base_init), (gst_basesink_class_init),
1532         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
1533         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
1534         (gst_basesink_set_pad_functions),
1535         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
1536         (gst_basesink_set_property), (gst_basesink_get_property),
1537         (gst_base_sink_get_template), (gst_base_sink_get_caps),
1538         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
1539         (gst_basesink_preroll_queue_push),
1540         (gst_basesink_preroll_queue_empty),
1541         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
1542         (gst_basesink_event), (gst_basesink_get_times),
1543         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
1544         (gst_basesink_chain_unlocked), (gst_basesink_chain),
1545         (gst_basesink_loop), (gst_basesink_activate),
1546         (gst_basesink_change_state):
1547         * gst/base/gstbasesink.h:
1548         * gst/elements/Makefile.am:
1549         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
1550         (gst_fakesink_class_init), (gst_fakesink_init),
1551         (gst_fakesink_set_property), (gst_fakesink_get_property),
1552         (gst_fakesink_get_times), (gst_fakesink_event),
1553         (gst_fakesink_preroll), (gst_fakesink_render),
1554         (gst_fakesink_change_state):
1555         * gst/elements/gstfakesink.h:
1556         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
1557         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
1558         * gst/gstelement.c: (gst_element_add_pad),
1559         (gst_element_get_state_func), (gst_element_abort_state),
1560         (gst_element_commit_state), (gst_element_lost_state),
1561         (gst_element_set_state), (gst_element_pads_activate):
1562         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
1563         * gst/gstpipeline.c: (gst_pipeline_send_event),
1564         (gst_pipeline_change_state):
1565         Added state change code.
1566         Added/updated docs.
1567         Added sink base class, make fakesink extend the base class.
1568         Small cleanups in GstPipeline.
1569
1570 2005-03-26  David Schleef  <ds@schleef.org>
1571
1572         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
1573         is broken and should be implemented in a different library.
1574         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
1575         * gst/gst.h: remove gstcpu.h
1576         * gst/gstcpu.c: remove
1577         * gst/gstcpu.h: remove
1578         * gst/Makefile.am.future: Remove this file.  It's ancient.
1579
1580 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1581
1582         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
1583         (gst_bin_send_event):
1584           Add default event/set_manager handlers. The set_manager handler
1585           takes care that the manager is distributed over kids that were
1586           already in the bin before the manager was set. The event handler
1587           is a utility virtual function that sends the event over all sinks,
1588           so that gst_element_send_event (bin, event); has the expected
1589           behaviour.
1590         * gst/gstpad.c: (gst_pad_event_default):
1591           Re-install default event handling for discontinuities, so that
1592           seeking works without requiring hacks in applications or extra
1593           code in sinks.
1594         * gst/gstpipeline.c: (gst_pipeline_class_init),
1595         (gst_pipeline_send_event):
1596           Half hack, half utility: set a pipeline to PAUSED for seek events,
1597           since that is the only way we can guarantee a/v sync. Means that
1598           you can do gst_element_seek (pipeline, method, pos); on a pipeline
1599           and it "just works".
1600
1601 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1602
1603         * gst/gstpipeline.c: (gst_pipeline_use_clock):
1604           Lock/unlock mismatch.
1605
1606 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
1607
1608         * docs/faq/gst-uninstalled:
1609           add gst-plugins-base
1610         * docs/gst/Makefile.am:
1611           don't error out until docs are fixed
1612         * docs/gst/gstreamer.types:
1613           remove thread
1614
1615 2005-03-22  Wim Taymans  <wim@fluendo.com>
1616
1617         * check/Makefile.am:
1618         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
1619         * gst/gststructure.c: (gst_structure_set_valist),
1620         (gst_structure_copy_conditional):
1621         Activated more tests.
1622         Added message test.
1623         Added G_TYPE_POINTER to GstStructure.
1624         
1625
1626 2005-03-22  Wim Taymans  <wim@fluendo.com>
1627
1628         * docs/design/part-TODO.txt:
1629         * docs/design/part-events.txt:
1630         * docs/design/part-gstbin.txt:
1631         * docs/design/part-gstbus.txt:
1632         * docs/design/part-gstpipeline.txt:
1633         * docs/design/part-messages.txt:
1634         * gst/gstbus.c:
1635         * gst/gstmessage.c:
1636         Docs updates
1637
1638 2005-03-21  Wim Taymans  <wim@fluendo.com>
1639
1640         * gst/gstbus.c: (gst_bus_post):
1641         Fix copy-and-paste error.
1642
1643 2005-03-21  Wim Taymans  <wim@fluendo.com>
1644
1645         * check/Makefile.am:
1646         * gst/Makefile.am:
1647         * gst/elements/Makefile.am:
1648         * gst/elements/gstelements.c:
1649         * gst/elements/gstfakesink.c: (gst_fakesink_init),
1650         (gst_fakesink_event), (gst_fakesink_chain):
1651         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1652         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
1653         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
1654         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
1655         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1656         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
1657         (gst_fakesrc_loop), (gst_fakesrc_activate),
1658         (gst_fakesrc_change_state):
1659         * gst/elements/gstfakesrc.h:
1660         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
1661         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
1662         (gst_filesrc_open_file), (gst_filesrc_loop),
1663         (gst_filesrc_activate), (gst_filesrc_change_state),
1664         (filesrc_find_peek), (filesrc_find_suggest),
1665         (gst_filesrc_type_find):
1666         * gst/elements/gstidentity.c: (gst_identity_finalize),
1667         (gst_identity_class_init), (gst_identity_init),
1668         (gst_identity_proxy_getcaps), (identity_queue_push),
1669         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
1670         (gst_identity_getrange), (gst_identity_chain),
1671         (gst_identity_sink_loop), (gst_identity_src_loop),
1672         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
1673         (gst_identity_set_property), (gst_identity_get_property),
1674         (gst_identity_change_state):
1675         * gst/elements/gstidentity.h:
1676         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
1677         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
1678         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
1679         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
1680         (gst_tee_sink_activate):
1681         * gst/elements/gsttee.h:
1682         * gst/gst.c: (gst_register_core_elements), (init_post):
1683         * gst/gst.h:
1684         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
1685         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
1686         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
1687         (gst_bin_change_state):
1688         * gst/gstbin.h:
1689         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
1690         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
1691         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
1692         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
1693         (gst_bus_set_sync_handler), (gst_bus_create_watch),
1694         (bus_watch_callback), (bus_watch_destroy),
1695         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
1696         (poll_timeout), (gst_bus_poll):
1697         * gst/gstbus.h:
1698         * gst/gstcaps.h:
1699         * gst/gstdata.h:
1700         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
1701         (gst_element_post_message), (gst_element_message_full),
1702         (gst_element_get_state_func), (gst_element_get_state),
1703         (gst_element_abort_state), (gst_element_commit_state),
1704         (gst_element_lost_state), (gst_element_set_state),
1705         (gst_element_pads_activate), (gst_element_change_state),
1706         (gst_element_dispose), (gst_element_set_manager_func),
1707         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
1708         (gst_element_set_manager), (gst_element_get_manager),
1709         (gst_element_set_bus), (gst_element_get_bus),
1710         (gst_element_set_scheduler), (gst_element_get_scheduler):
1711         * gst/gstelement.h:
1712         * gst/gstevent.c: (gst_event_new_segment_seek),
1713         (gst_event_new_flush):
1714         * gst/gstevent.h:
1715         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
1716         (_gst_message_free), (gst_message_get_type), (gst_message_new),
1717         (gst_message_new_eos), (gst_message_new_error),
1718         (gst_message_new_warning), (gst_message_new_tag),
1719         (gst_message_new_state_changed), (gst_message_new_application),
1720         (gst_message_get_structure), (gst_message_parse_tag),
1721         (gst_message_parse_state_changed), (gst_message_parse_error),
1722         (gst_message_parse_warning):
1723         * gst/gstmessage.h:
1724         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
1725         (gst_real_pad_set_property), (gst_pad_set_active),
1726         (gst_pad_is_active), (gst_pad_set_blocked_async),
1727         (gst_pad_set_blocked), (gst_pad_is_blocked),
1728         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
1729         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
1730         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
1731         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
1732         (gst_pad_link_filtered), (gst_pad_relink_filtered),
1733         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
1734         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
1735         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
1736         (gst_pad_set_caps), (gst_pad_configure_sink),
1737         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
1738         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
1739         (gst_real_pad_dispose), (gst_real_pad_finalize),
1740         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
1741         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1742         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
1743         * gst/gstpad.h:
1744         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
1745         (pipeline_bus_handler), (gst_pipeline_change_state),
1746         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
1747         * gst/gstpipeline.h:
1748         * gst/gstprobe.h:
1749         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
1750         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
1751         (gst_queue_link_src), (gst_queue_bufferalloc),
1752         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1753         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
1754         (gst_queue_loop), (gst_queue_handle_src_event),
1755         (gst_queue_handle_src_query), (gst_queue_src_activate),
1756         (gst_queue_change_state):
1757         * gst/gstqueue.h:
1758         * gst/gstscheduler.c: (gst_scheduler_init),
1759         (gst_scheduler_dispose), (gst_scheduler_create_task),
1760         (gst_scheduler_factory_create):
1761         * gst/gstscheduler.h:
1762         * gst/gststructure.c: (gst_structure_get_type),
1763         (gst_structure_copy_conditional):
1764         * gst/gststructure.h:
1765         * gst/gsttaginterface.h:
1766         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1767         (gst_task_init), (gst_task_dispose), (gst_task_create),
1768         (gst_task_get_state), (gst_task_start), (gst_task_stop),
1769         (gst_task_pause):
1770         * gst/gsttask.h:
1771         * gst/gstthread.c:
1772         * gst/gstthread.h:
1773         * gst/gsttypes.h:
1774         * gst/schedulers/Makefile.am:
1775         * gst/schedulers/cothreads_compat.h:
1776         * gst/schedulers/entryscheduler.c:
1777         * gst/schedulers/faircothreads.c:
1778         * gst/schedulers/faircothreads.h:
1779         * gst/schedulers/fairscheduler.c:
1780         * gst/schedulers/gstbasicscheduler.c:
1781         * gst/schedulers/gstoptimalscheduler.c:
1782         * gst/schedulers/gthread-cothreads.h:
1783         * gst/schedulers/threadscheduler.c:
1784         (gst_thread_scheduler_task_get_type),
1785         (gst_thread_scheduler_task_class_init),
1786         (gst_thread_scheduler_task_init),
1787         (gst_thread_scheduler_task_start),
1788         (gst_thread_scheduler_task_stop),
1789         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
1790         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1791         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
1792         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
1793         (plugin_init):
1794         * libs/gst/Makefile.am:
1795         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
1796         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
1797         (gst_file_pad_parent_set):
1798         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1799         (gst_dp_event_from_packet):
1800         * tests/complexity.c: (main):
1801         * tests/mass_elements.c: (main):
1802         * testsuite/states/locked.c: (message_received), (main):
1803         * testsuite/states/parent.c: (main):
1804         * tools/gst-inspect.c: (print_element_flag_info),
1805         (print_implementation_info), (print_pad_info):
1806         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
1807         (main):
1808         * tools/gst-md5sum.c: (event_loop), (main):
1809         * tools/gst-typefind.c: (main):
1810         * tools/gst-xmlinspect.c: (print_element_info):
1811         Next big merge.
1812         Added GstBus for mainloop integration.
1813         Added GstMessage for sending notifications on the bus.
1814         Added GstTask as an abstraction for pipeline entry points.
1815         Removed GstThread.
1816         Removed Schedulers.
1817         Simplified GstQueue for multithreaded core.
1818         Made _link threadsafe, removed old capsnego.
1819         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
1820         Added pad blocking functions.
1821         Reworked scheduling functions in GstPad to prepare for
1822         scheduling updates soon.
1823         Moved events out of data stream.
1824         Simplified GstEvent types.
1825         Added return values to push/pull.
1826         Removed clocking from GstElement.
1827         Added prototypes for state change function for next merge.
1828         Removed iterate from bins and state change management.
1829         Fixed some elements, disabled others for now.
1830         Fixed -inspect and -launch.
1831         Added check for GstBus.
1832
1833 2005-03-10  Wim Taymans  <wim@fluendo.com>
1834
1835         * docs/design/part-MT-refcounting.txt:
1836         * docs/design/part-clocks.txt:
1837         * docs/design/part-gstelement.txt:
1838         * docs/design/part-gstobject.txt:
1839         * docs/design/part-standards.txt:
1840         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
1841         (gst_bin_remove_func), (gst_bin_remove):
1842         * gst/gstbin.h:
1843         * gst/gstbuffer.c:
1844         * gst/gstcaps.h:
1845         * testsuite/clock/clock1.c: (main):
1846         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
1847         (main):
1848         * testsuite/dlopen/loadgst.c: (do_test):
1849         * testsuite/refcounting/bin.c: (add_remove_test1),
1850         (add_remove_test2), (main):
1851         * testsuite/refcounting/element.c: (main):
1852         * testsuite/refcounting/element_pad.c: (main):
1853         * testsuite/refcounting/pad.c: (main):
1854         * tools/gst-launch.c: (sigint_handler_sighandler):
1855         * tools/gst-typefind.c: (main):
1856         Doc updates.
1857         Added doc about clock.
1858         removed gst_bin_iterate_recurse_up(), marked methods
1859         for removal.
1860         Fix more testsuites.
1861
1862 2005-03-09  Wim Taymans  <wim@fluendo.com>
1863
1864         * gst/gstpad.c: (gst_pad_get_direction),
1865         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
1866         (gst_pad_collect_valist):
1867         * testsuite/bins/interface.c: (main):
1868         * testsuite/caps/audioscale.c: (test_caps):
1869         * testsuite/caps/caps.c: (test1), (test2), (test3):
1870         * testsuite/caps/deserialize.c: (main):
1871         * testsuite/caps/enumcaps.c: (main):
1872         * testsuite/caps/filtercaps.c: (main):
1873         * testsuite/caps/intersect2.c: (main):
1874         * testsuite/caps/random.c: (main):
1875         * testsuite/caps/renegotiate.c: (my_fixate), (main):
1876         * testsuite/caps/sets.c: (check_caps):
1877         * testsuite/caps/simplify.c: (check_caps), (main):
1878         * testsuite/caps/subtract.c: (check_caps):
1879         Fix _pad_get_direction wrt ghostpads.
1880         Fix caps testsuite.
1881
1882 2005-03-09  Wim Taymans  <wim@fluendo.com>
1883
1884         * check/Makefile.am:
1885         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
1886         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
1887         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
1888         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
1889         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
1890         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
1891         (gst_bin_remove), (gst_bin_iterate_recurse_up),
1892         (bin_element_is_sink), (gst_bin_iterate_sinks),
1893         (gst_bin_iterate_all_by_interface):
1894         * gst/gstbin.h:
1895         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
1896         (gst_element_change_state), (gst_element_dispose),
1897         (gst_element_finalize), (gst_element_set_loop_function):
1898         * gst/gstelement.h:
1899         * gst/gstiterator.c: (find_custom_fold_func):
1900         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
1901         (gst_pad_collectv), (gst_pad_collect_valist),
1902         (gst_pad_template_new):
1903         * gst/gstpipeline.c: (gst_pipeline_class_init),
1904         (gst_pipeline_dispose), (gst_pipeline_set_property),
1905         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
1906         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
1907         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
1908         * gst/gstutils.h:
1909         * gst/schedulers/entryscheduler.c:
1910         * gst/schedulers/gstbasicscheduler.c:
1911         (gst_basic_scheduler_cothreaded_chain),
1912         (gst_basic_scheduler_chain_add_element):
1913         * testsuite/bins/interface.c: (main):
1914         Added GstBin test.
1915         Added GstSystemClock test.
1916         Implemented clock distribution code in GstBin.
1917         Implemented iterate sinks method for future use.
1918         Rearranged gstelement.h
1919         Fix GstIterator comparison bug.
1920         Moved some code to GstPipeline, mostly clocking related.
1921
1922 2005-03-09  Wim Taymans  <wim@fluendo.com>
1923
1924         * configure.ac:
1925         * gst/gst_private.h:
1926         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
1927         (gst_bin_remove_func), (gst_bin_remove),
1928         (gst_bin_get_by_name_recurse_up):
1929         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
1930         (gst_clock_id_compare_func), (gst_clock_id_wait),
1931         (gst_clock_id_wait_async), (gst_clock_init),
1932         (gst_clock_adjust_unlocked), (gst_clock_get_time):
1933         * gst/gstelement.h:
1934         * gst/gstinfo.c: (_gst_debug_init):
1935         * gst/gstobject.h:
1936         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
1937         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
1938         * gst/gstpad.h:
1939         Bump version number, we're now 0.9.0
1940         Add future debugging category.
1941         Fix NULL _unref() in _get_by_name_recurse_up
1942         Rearrange gstpad.h.
1943         Update some docs.
1944
1945 2005-03-08  Wim Taymans  <wim@fluendo.com>
1946
1947         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
1948         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
1949         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
1950         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
1951         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
1952         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
1953         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
1954         * gst/elements/gstidentity.c: (gst_identity_class_init):
1955         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
1956         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
1957         * gst/elements/gstshaper.c: (gst_shaper_class_init):
1958         * gst/elements/gststatistics.c: (gst_statistics_class_init):
1959         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
1960         (gst_tee_link):
1961         * gst/gstelement.c: (gst_element_class_init),
1962         (gst_element_base_class_init), (gst_element_init),
1963         (gst_element_get_random_pad), (gst_element_wait_state_change),
1964         (gst_element_change_state), (gst_element_dispose),
1965         (gst_element_finalize), (gst_element_set_loop_function):
1966         * gst/gstelement.h:
1967         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
1968         * gst/gstthread.c: (gst_thread_class_init),
1969         (gst_thread_release_children_locks), (gst_thread_change_state):
1970         * gst/schedulers/gstbasicscheduler.c:
1971         (gst_basic_scheduler_loopfunc_wrapper),
1972         (gst_basic_scheduler_chain_wrapper),
1973         (gst_basic_scheduler_src_wrapper),
1974         (gst_basic_scheduler_remove_element):
1975         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
1976         Remove threadsafe properties. Fix elements because GObject
1977         complains when installing a property before declaring a
1978         set/get_property handler.
1979         Rearrange gstelement.h file, use STATE macros for state locks.
1980         Free mutexes in the finalize method instead of dispose.
1981
1982 2005-03-08  Wim Taymans  <wim@fluendo.com>
1983
1984         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
1985         * gst/gstthread.c: (gst_thread_release_children_locks):
1986         Added parentage check.
1987         Fix build og GstThread again.
1988
1989 2005-03-08  Wim Taymans  <wim@fluendo.com>
1990
1991         * docs/design/part-MT-refcounting.txt:
1992         * docs/design/part-conventions.txt:
1993         * docs/design/part-gstobject.txt:
1994         * docs/design/part-relations.txt:
1995         * docs/design/part-standards.txt:
1996         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
1997         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
1998         (gst_bin_get_by_name), (gst_bin_get_by_interface),
1999         (gst_bin_iterate_all_by_interface):
2000         * gst/gstbuffer.h:
2001         * gst/gstclock.h:
2002         * gst/gstelement.c: (gst_element_class_init),
2003         (gst_element_change_state), (gst_element_set_loop_function):
2004         * gst/gstelement.h:
2005         * gst/gstiterator.c:
2006         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
2007         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
2008         (gst_object_dispatch_properties_changed), (gst_object_set_name),
2009         (gst_object_set_parent), (gst_object_unparent),
2010         (gst_object_check_uniqueness):
2011         * gst/gstobject.h:
2012         Docs updates, clean up some headers.
2013
2014 2005-03-07  Wim Taymans  <wim@fluendo.com>
2015
2016         * check/.cvsignore:
2017         * check/Makefile.am:
2018         * check/gst-libs/.cvsignore:
2019         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
2020         * check/gst/.cvsignore:
2021         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
2022         (START_TEST), (gstbus_suite), (main):
2023         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
2024         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
2025         (gst_data_suite), (main):
2026         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
2027         (add_fold_func), (gstiterator_suite), (main):
2028         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
2029         (thread_name_object), (thread_name_object_default),
2030         (gst_object_name_compare), (gst_object_suite), (main):
2031         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
2032         (gst_pad_suite), (main):
2033         * check/gstcheck.c: (gst_check_log_message_func),
2034         (gst_check_log_critical_func), (gst_check_init):
2035         * check/gstcheck.h:
2036         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2037         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
2038         Added checks.
2039
2040 2005-03-07  Wim Taymans  <wim@fluendo.com>
2041
2042         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
2043         (gst_list_iterator_next), (gst_list_iterator_resync),
2044         (gst_list_iterator_free), (gst_iterator_new_list),
2045         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
2046         (gst_iterator_free), (gst_iterator_push), (filter_next),
2047         (filter_resync), (filter_uninit), (filter_free),
2048         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
2049         (gst_iterator_foreach), (find_custom_fold_func),
2050         (gst_iterator_find_custom):
2051         * gst/gstiterator.h:
2052         Added missing files.
2053
2054 2005-03-07  Wim Taymans  <wim@fluendo.com>
2055
2056         * Makefile.am:
2057         * configure.ac:
2058         * docs/design/part-MT-refcounting.txt:
2059         * docs/design/part-conventions.txt:
2060         * docs/design/part-gstobject.txt:
2061         * docs/design/part-relations.txt:
2062         * examples/mixer/mixer.c: (main):
2063         * examples/thread/thread.c: (eos), (main):
2064         * gst/Makefile.am:
2065         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
2066         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
2067         (gst_spider_plug_from_srcpad):
2068         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
2069         (gst_spider_identity_change_state),
2070         (gst_spider_identity_sink_loop_type_finding):
2071         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
2072         * gst/elements/gstidentity.c: (gst_identity_init):
2073         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
2074         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
2075         * gst/elements/gsttypefindelement.c: (free_entry):
2076         * gst/gst.c:
2077         * gst/gst.h:
2078         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
2079         (gst_bin_set_clock_func), (gst_bin_auto_clock),
2080         (gst_bin_set_index), (gst_bin_set_element_sched),
2081         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
2082         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
2083         (gst_bin_iterate_elements), (iterate_child_recurse),
2084         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
2085         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
2086         (compare_interface), (gst_bin_get_by_interface),
2087         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
2088         * gst/gstbin.h:
2089         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
2090         (gst_buffer_default_free), (gst_buffer_default_copy),
2091         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
2092         (gst_buffer_create_sub):
2093         * gst/gstbuffer.h:
2094         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
2095         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
2096         (gst_caps_unref), (gst_static_caps_get),
2097         (gst_caps_remove_and_get_structure), (gst_caps_append),
2098         (gst_caps_append_structure), (gst_caps_remove_structure),
2099         (gst_caps_copy_nth), (gst_caps_set_simple),
2100         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
2101         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
2102         (gst_caps_structure_intersect_field), (gst_caps_intersect),
2103         (gst_caps_structure_subtract_field), (gst_caps_subtract),
2104         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
2105         (gst_caps_structure_figure_out_union),
2106         (gst_caps_switch_structures), (gst_caps_do_simplify),
2107         (gst_caps_replace), (gst_caps_from_string),
2108         (gst_caps_copy_conditional):
2109         * gst/gstcaps.h:
2110         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
2111         (_gst_clock_id_free), (gst_clock_id_unref),
2112         (gst_clock_id_compare_func), (gst_clock_id_wait),
2113         (gst_clock_id_wait_async), (gst_clock_class_init),
2114         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
2115         (gst_clock_get_time), (gst_clock_set_time_adjust),
2116         (gst_clock_set_property), (gst_clock_get_property):
2117         * gst/gstclock.h:
2118         * gst/gstcompat.h:
2119         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
2120         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
2121         * gst/gstdata.h:
2122         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2123         (gst_element_requires_clock), (gst_element_provides_clock),
2124         (gst_element_set_clock), (gst_element_clock_wait),
2125         (gst_element_wait), (gst_element_set_time_delay),
2126         (gst_element_is_indexable), (gst_element_add_pad),
2127         (gst_element_add_ghost_pad), (gst_element_remove_pad),
2128         (pad_compare_name), (gst_element_get_static_pad),
2129         (gst_element_request_pad), (gst_element_get_request_pad),
2130         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
2131         (gst_element_class_get_pad_template_list),
2132         (gst_element_class_get_pad_template), (gst_element_error_func),
2133         (gst_element_get_random_pad), (gst_element_get_event_masks),
2134         (gst_element_send_event), (gst_element_seek),
2135         (gst_element_get_query_types), (gst_element_query),
2136         (gst_element_get_formats), (gst_element_convert),
2137         (gst_element_is_locked_state), (gst_element_set_locked_state),
2138         (gst_element_sync_state_with_parent), (gst_element_change_state),
2139         (gst_element_finalize), (gst_element_yield),
2140         (gst_element_interrupt), (gst_element_set_scheduler),
2141         (gst_element_get_scheduler), (gst_element_set_loop_function):
2142         * gst/gstelement.h:
2143         * gst/gstevent.h:
2144         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
2145         (gst_format_get_by_nick), (gst_format_get_details),
2146         (gst_format_iterate_definitions):
2147         * gst/gstformat.h:
2148         * gst/gstindex.c: (gst_index_gtype_resolver):
2149         * gst/gstinfo.c:
2150         * gst/gstinfo.h:
2151         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
2152         (gst_mem_chunk_free):
2153         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2154         (gst_object_ref), (gst_object_unref), (gst_object_sink),
2155         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
2156         (gst_object_dispatch_properties_changed),
2157         (gst_object_set_name_default), (gst_object_set_name),
2158         (gst_object_get_name), (gst_object_set_name_prefix),
2159         (gst_object_get_name_prefix), (gst_object_set_parent),
2160         (gst_object_get_parent), (gst_object_unparent),
2161         (gst_object_check_uniqueness), (gst_object_save_thyself),
2162         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
2163         (gst_object_set_property), (gst_object_get_property),
2164         (gst_object_get_path_string):
2165         * gst/gstobject.h:
2166         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2167         (gst_real_pad_init), (gst_real_pad_get_property),
2168         (gst_pad_custom_new), (gst_pad_get_direction),
2169         (gst_pad_set_active), (gst_pad_is_active),
2170         (gst_pad_set_event_function), (gst_pad_is_linked),
2171         (gst_pad_link_free), (gst_pad_link_intersect),
2172         (gst_pad_link_fixate), (gst_pad_set_caps),
2173         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
2174         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
2175         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
2176         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
2177         (gst_pad_get_caps), (gst_pad_peer_get_caps),
2178         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
2179         (gst_pad_realize), (gst_pad_get_allowed_caps),
2180         (gst_real_pad_dispose), (gst_real_pad_finalize),
2181         (gst_pad_collectv), (gst_pad_collect_valist),
2182         (gst_pad_template_dispose), (gst_pad_template_new),
2183         (gst_pad_get_internal_links):
2184         * gst/gstpad.h:
2185         * gst/gstpipeline.c: (gst_pipeline_dispose),
2186         (gst_pipeline_change_state):
2187         * gst/gstpipeline.h:
2188         * gst/gstplugin.c:
2189         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
2190         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
2191         * gst/gstpluginfeature.h:
2192         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
2193         * gst/gstquery.c: (_gst_query_type_initialize),
2194         (gst_query_type_register), (gst_query_type_get_by_nick),
2195         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
2196         * gst/gstquery.h:
2197         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
2198         * gst/gstscheduler.c: (gst_scheduler_add_element),
2199         (gst_scheduler_factory_create):
2200         * gst/gststructure.c: (gst_structure_set_parent_refcount),
2201         (gst_structure_free), (gst_structure_set_name),
2202         (gst_structure_id_set_value), (gst_structure_set_value),
2203         (gst_structure_set_valist), (gst_structure_remove_field),
2204         (gst_structure_remove_fields),
2205         (gst_structure_remove_fields_valist),
2206         (gst_structure_remove_all_fields), (gst_structure_foreach),
2207         (gst_structure_map_in_place),
2208         (gst_caps_structure_fixate_field_nearest_int),
2209         (gst_caps_structure_fixate_field_nearest_double):
2210         * gst/gststructure.h:
2211         * gst/gstsystemclock.c: (gst_system_clock_class_init),
2212         (gst_system_clock_init), (gst_system_clock_dispose),
2213         (gst_system_clock_async_thread),
2214         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
2215         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
2216         * gst/gstsystemclock.h:
2217         * gst/gsttag.c: (gst_tag_list_add_value_internal),
2218         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
2219         * gst/gsttaginterface.c:
2220         * gst/gstthread.c: (gst_thread_dispose),
2221         (gst_thread_release_children_locks), (gst_thread_change_state),
2222         (gst_thread_main_loop):
2223         * gst/gsttrashstack.h:
2224         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
2225         * gst/gsttypes.h:
2226         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2227         (gst_element_request_pad), (gst_element_get_pad_from_template),
2228         (gst_element_request_compatible_pad),
2229         (gst_element_get_compatible_pad_filtered),
2230         (gst_element_get_compatible_pad), (gst_element_state_get_name),
2231         (gst_element_link_pads_filtered), (gst_element_link_filtered),
2232         (gst_element_link_many), (gst_element_link),
2233         (gst_element_link_pads), (gst_element_unlink_pads),
2234         (gst_element_unlink_many), (gst_element_unlink),
2235         (gst_pad_can_link_filtered), (gst_pad_can_link),
2236         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
2237         (gst_object_default_error), (gst_bin_add_many),
2238         (gst_bin_remove_many), (gst_element_populate_std_props),
2239         (gst_element_class_install_std_props), (gst_buffer_merge),
2240         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
2241         (link_fold_func), (gst_pad_proxy_setcaps):
2242         * gst/gstutils.h:
2243         * gst/gstvalue.c: (gst_value_deserialize_string):
2244         * gst/parse/grammar.y:
2245         * gst/schedulers/gstbasicscheduler.c:
2246         (gst_basic_scheduler_cothreaded_chain),
2247         (gst_basic_scheduler_chain_recursive_add),
2248         (gst_basic_scheduler_pad_link):
2249         * gst/schedulers/gstoptimalscheduler.c:
2250         (get_group_schedule_function),
2251         (gst_opt_scheduler_state_transition),
2252         (gst_opt_scheduler_add_element), (element_get_reachables_func):
2253         * libs/gst/bytestream/bytestream.c:
2254         * libs/gst/dataprotocol/dataprotocol.c:
2255         (gst_dp_header_from_buffer):
2256         * po/nb.po:
2257         * po/ru.po:
2258         * tests/threadstate/threadstate2.c: (eos):
2259         * tools/gst-compprep.c: (main):
2260         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
2261         (print_pad_info), (print_children_info):
2262         * tools/gst-launch.c: (idle_func), (main):
2263         * tools/gst-md5sum.c: (idle_func), (main):
2264         * tools/gst-xmlinspect.c: (print_element_info):
2265         First THREADED backport attempt, focusing on adding locks and
2266         making sure the API is threadsafe. Needs more work. More docs
2267         follow this week.
2268
2269 2005-02-24  Andy Wingo  <wingo@pobox.com>
2270
2271         * tests/bench-complexity.scm:
2272         * tests/complexity.gnuplot: New files, good for running complexity
2273         benchmarks.
2274
2275         * tests/Makefile.am:
2276         * tests/complexity.c: New test, sets up N elements, at each level
2277         teeing into M streams per element. Eeeenteresting.
2278
2279         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
2280         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
2281         running bench-mass_elements.scm.
2282
2283         * tests/bench-mass_elements.scm: New script, runs mass_elements
2284         for various numbers of identities, outputting the results to a
2285         file. Requires guile 1.6. Just for testing.
2286
2287 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2288
2289         * gst/schedulers/fairscheduler.c:
2290           compile with debug disabled
2291
2292 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2293
2294         * configure.ac:
2295           hunting season on 0.9 is now OPEN
2296
2297 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
2298
2299         * docs/libs/tmpl/gstcontrol.sgml:
2300         * docs/libs/tmpl/gstdparam.sgml:
2301         * docs/libs/tmpl/gstdplinint.sgml:
2302         * docs/libs/tmpl/gstdpman.sgml:
2303         * docs/libs/tmpl/gstdpsmooth.sgml:
2304         * docs/libs/tmpl/gstunitconvert.sgml:
2305           more docs for the state of dparams
2306
2307 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2308
2309         * gst/gstelementfactory.c: (gst_element_factory_create):
2310         * gst/gstobject.c: (gst_object_init),
2311         (gst_object_set_name_default), (gst_object_set_name):
2312           name objects by default, not in gst_element_factory_create. Allows
2313           using elements created with g_object_new. (fixes #167283)
2314
2315 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2316
2317         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
2318           make the time that debugging functions print relative to when
2319           gst_init was called
2320
2321 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
2322
2323         * gst/gsttaginterface.c:
2324           Fix inline docs: tag setter vararg functions are NULL-terminated,
2325           GST_TAG_INVALID doesn't exist any more.
2326
2327 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2328
2329         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
2330         Allocate the 1 byte more memory that was forgotten!!!!!
2331         fixes memory corruption on 64bit platforms
2332
2333 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
2334
2335         * docs/pwg/building-pads.xml:
2336         * docs/pwg/intro-basics.xml:
2337       fixed a few typos, relabeled introductionary list of types
2338         * docs/random/ensonic/dparams.txt:
2339       more notes abut dparam changes
2340         * libs/gst/control/dparam.c: (gst_dparam_attach):
2341         * libs/gst/control/dparammanager.c:
2342         * libs/gst/control/dparammanager.h:
2343       - many comments and notes on dparam implementation
2344       - new dparams are were not initialized to the default value
2345         from param spec
2346
2347 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2348
2349         submitted by: Peter Astakhov
2350
2351         * po/LINGUAS:
2352         * po/ru.po:
2353           adding Russian translation
2354
2355 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2356
2357         * configure.ac:
2358         * docs/gst/Makefile.am:
2359         * docs/libs/Makefile.am:
2360           make sure popt is added to gtk-doc flags.  Fixes #147782.
2361
2362 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2363
2364         * docs/faq/using.xml:
2365           Fix typo in FAQ (artssink => artsdsink)
2366
2367 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2368
2369         * tools/gst-launch.1.in:
2370           Fix typo (#166699).
2371
2372 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
2373
2374         * docs/faq/using.xml:
2375           Add -v argument to fakesrc/fakesink gst-launch line,
2376           so that the promised output will actually show up.
2377
2378 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2379
2380         * gst/gstthread.c: (gst_thread_change_state):
2381           Implement state-change error handling (#166073).
2382
2383 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2384
2385         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
2386           Release interrupt after handling (#166250).
2387
2388 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2389
2390         * configure.ac:
2391           back to HEAD
2392
2393 === release 0.8.9 ===
2394
2395 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2396
2397         * NEWS:
2398         * RELEASE:
2399         * configure.ac:
2400           releasing 0.8.9, "Like Eating Glass"
2401
2402 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2403
2404         submitted by: Clytie Siddall
2405
2406         * po/vi.po: Added Vietnamese translation
2407
2408 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2409
2410         patch by: Tim Philipp-Müller
2411
2412         * configure.ac:
2413         * gst/gstpad.c:
2414           unref data when probe function returns FALSE.  Fixes #166362
2415
2416 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2417
2418         * gst/gst.c: (gst_init_get_popt_table):
2419           Fix typo (#166269).
2420
2421 2005-02-04  Andy Wingo  <wingo@pobox.com>
2422
2423         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
2424         the debugging on whether the caps are compatible.
2425
2426 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2427
2428         * docs/manual/basics-elements.xml:
2429           Fix two typos.
2430
2431 2005-02-02  Wim Taymans  <wim@fluendo.com>
2432
2433         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
2434         (schedule_chain), (get_invalid_call), (chain_invalid_call),
2435         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
2436         Remove some FIXMEs after analysing and commenting why they
2437         are not issues.
2438
2439 2005-02-02  Wim Taymans  <wim@fluendo.com>
2440
2441         * gst/schedulers/gstoptimalscheduler.c:
2442         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
2443         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
2444         (get_invalid_call), (chain_invalid_call),
2445         (get_group_schedule_function), (loop_group_schedule_function),
2446         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
2447         (gst_opt_scheduler_state_transition),
2448         (gst_opt_scheduler_add_element),
2449         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
2450         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
2451         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
2452         (gst_opt_scheduler_show):
2453         Added lock to protect scheduler data structures.
2454
2455 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2456
2457         * testsuite/threads/threadi.c: (cb_data):
2458           Fix buglet in test.
2459
2460 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2461
2462         * testsuite/threads/Makefile.am:
2463         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
2464           On Wim's request, split the test in three separately-compiled
2465           tests that each test a very specific bug. Two of them still fail,
2466           will create bugs for those. threadi.c indicates why they fail.
2467
2468 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2469
2470         * gst/schedulers/gstoptimalscheduler.c:
2471         (get_group_schedule_function):
2472           Try to work with the threading mess that queue_link is.
2473
2474 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2475
2476         * gst/gstbin.c: (gst_bin_remove_func):
2477           Explicitely make an element release locks in a group when being
2478           remove from a bin.
2479         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
2480           If there's no scheduler, always return immediately (similar to
2481           gst_element_interrupt).
2482
2483 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2484
2485         * gst/gstbin.c: (gst_bin_child_state_change_func):
2486           Remove a piece of code that could never be reached.
2487         * docs/gst/gstreamer-sections.txt:
2488         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
2489         (gst_pad_call_get_function):
2490         * gst/gstpad.h:
2491         * testsuite/pad/Makefile.am:
2492           Fix #150546, enable tests.
2493
2494 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2495
2496         * docs/pwg/advanced-types.xml:
2497           Fix description for buffer-frames=0.
2498         * docs/gst/tmpl/gstbin.sgml:
2499         * gst/gstbin.c: (gst_bin_child_state_change_func),
2500         (gst_bin_change_state), (gst_bin_change_state_norecurse):
2501         * gst/gstbin.h:
2502         * testsuite/threads/Makefile.am:
2503         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
2504         (cb_state), (cb_play), (main):
2505           Fix non-recursive state changes to *really* change the state
2506           of the object, and not just call parent_class->state_change.
2507           Fix a lot of lockups caused by this. Fixes #132775. Add test
2508           for the problem. Also enable test to show #142588 (fixed).
2509         * gst/gstthread.c: (gst_thread_change_state),
2510         (gst_thread_child_state_change):
2511           Don't exit the thread if we go to NULL and are inside thread
2512           context. Instead, return control to the main thread context
2513           and exit from there.
2514         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
2515           Don't unset virtual functions, since those may still be used.
2516           That's not necessarily correct, but suffices for now.
2517         * configure.ac:
2518         * testsuite/Makefile.am:
2519         * testsuite/pad/Makefile.am:
2520         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
2521         (gst_test_sink_base_init), (gst_test_sink_chain),
2522         (gst_test_sink_init), (main):
2523         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
2524         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
2525         (main):
2526         * testsuite/pad/link.c: (gst_test_element_class_init),
2527         (gst_test_element_base_init), (gst_test_src_get),
2528         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
2529         (gst_test_filter_loop), (gst_test_filter_init),
2530         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
2531         (cb_error), (main):
2532           Add tests to show #150546. Pass, but should fail (currently
2533           disabled from the testsuite).
2534         * gst/gstscheduler.c: (gst_scheduler_dispose):
2535           Dereference child schedulers on dispose (#94464).
2536         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
2537           Fix typo.
2538         * testsuite/threads/thread.c: (main):
2539           Add more debug.
2540
2541 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2542
2543         * gst/gstpad.c: (gst_pad_push):
2544           Oops, revert previous commit, broke testsuite...
2545
2546 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2547
2548         * gst/gstpad.c: (gst_pad_push):
2549           Add check that the pad on which the push is performed is not a
2550           get-based pad (#150546).
2551
2552 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2553
2554         * gst/elements/gsttypefindelement.c:
2555         (gst_type_find_element_handle_event):
2556           Fix buffer pushing if stream EOSes during typefinding.
2557
2558 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
2559
2560         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2561
2562         * gst/gstvalue.c: (gst_string_wrap):
2563           Allow NULL-strings as argument (#165365).
2564
2565 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
2566
2567         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2568
2569         * gst/schedulers/faircothreads.c:
2570         (gst_fair_scheduler_cothread_queue_show):
2571           Fix build without debug enabled.
2572
2573 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
2574
2575         * docs/gst/gstreamer-sections.txt:
2576         * docs/libs/gstreamer-libs-docs.sgml:
2577         * docs/libs/gstreamer-libs-sections.txt:
2578         * docs/libs/tmpl/gstcontrol.sgml:
2579         * docs/libs/tmpl/gstdparam.sgml:
2580         * docs/libs/tmpl/gstdplinint.sgml:
2581         * docs/libs/tmpl/gstdpman.sgml:
2582         * docs/libs/tmpl/gstdpsmooth.sgml:
2583         * docs/libs/tmpl/gstputbits.sgml:
2584         * docs/libs/tmpl/gstunitconvert.sgml:
2585         * libs/gst/control/dparam.c:
2586         * libs/gst/control/dparam.h:
2587         * libs/gst/control/dparammanager.c:
2588         (gst_dpman_add_required_dparam_callback),
2589         (gst_dpman_add_required_dparam_direct),
2590         (gst_dpman_add_required_dparam_array),
2591         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
2592         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
2593         (gst_dpman_get_manager)
2594           restructured DParam docs
2595
2596 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
2597
2598         * gst-element-check.m4:
2599           Only check for gst-inspect if we haven't already
2600           found it in previous element check runs
2601
2602 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
2603
2604         * docs/gst/Makefile.am:
2605         * docs/libs/Makefile.am:
2606           fixed install rules to treat style.css as optional
2607
2608 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
2609
2610         * docs/gst/Makefile.am:
2611         * docs/libs/Makefile.am:
2612           install style.css along with docs
2613         * docs/gst/tmpl/gstbin.sgml:
2614         * docs/gst/tmpl/gstclock.sgml:
2615         * docs/gst/tmpl/gstdata.sgml:
2616         * docs/gst/tmpl/gstelement.sgml:
2617         * gst/gstbin.h:
2618         * gst/gstelement.c: (gst_element_class_init):
2619         * gst/gstelement.h:
2620           fixing incomplete docs
2621
2622 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
2623
2624         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
2625           Don't unref seek event twice when fflush() fails
2626           
2627 2005-01-22  David Schleef  <ds@schleef.org>
2628
2629         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
2630
2631 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
2632
2633         * docs/gst/Makefile.am:
2634         * docs/libs/Makefile.am:
2635           added params for deprecation guards
2636         * gst/gst.c:
2637         * gst/gst.h:
2638         * gst/gsterror.c: (_gst_resource_errors_init),
2639         (_gst_stream_errors_init):
2640         * gst/gsterror.h:
2641           documented some more enums
2642
2643 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2644         * gst/autoplug/gstspideridentity.c:
2645         Cosmetic fix - spider_find_peek should be static
2646         * gst/parse/parse.l:
2647         Applying fix for #164261
2648
2649 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
2650
2651         * docs/gst/gstreamer-sections.txt:
2652         * docs/gst/tmpl/gstplugin.sgml:
2653         * docs/libs/gstreamer-libs-sections.txt:
2654         * docs/libs/tmpl/gstcontrol.sgml:
2655         * gst/gstbuffer.h:
2656         * gst/gsttag.h:
2657         * gst/gstvalue.c:
2658           added docs for the TAG defines
2659
2660 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2661
2662         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
2663           Only unref entry if there is an entry.
2664
2665 2005-01-17  Wim Taymans  <wim@fluendo.com>
2666
2667         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
2668         (remove_from_group), (schedule_group), (normalize_group),
2669         (gst_opt_scheduler_iterate):
2670         Also ref/unref decoupled elements before iterating the
2671         group since they are not added to the list of elements.
2672
2673 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2674
2675         * docs/manual/highlevel-components.xml:
2676           Add subtitle/streamselection as new features to playbin.
2677
2678 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2679
2680         * docs/manual/manual.xml:
2681           Re-enable dataaccess docs (oops).
2682
2683 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2684
2685         * docs/pwg/advanced-types.xml:
2686         * docs/random/mimetypes:
2687           Add documentation on libsndfile types (#163309), by Steve Baker
2688           <steve@stevebaker.org>.
2689         * gst/gstelement.c: (gst_element_release_request_pad):
2690           If an element has no explicit function, just remove the pad.
2691
2692 2005-01-17  Luca Ognibene  <luogni@tin.it>
2693
2694         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2695
2696         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
2697           Fix memleak (#163801).
2698
2699 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2700
2701         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
2702           I think this is actually more correct...
2703
2704 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2705
2706         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
2707           Another workaround for memory access while destroyed in callback.
2708           Please, someone with refcount knowledge, have a look at this.
2709
2710 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2711
2712         * docs/faq/faq.xml:
2713         * docs/faq/legal.xml:
2714           move the legal Q&A here
2715
2716 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2717
2718         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
2719         (gst_tee_request_new_pad):
2720           Fix negotiation.
2721
2722 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
2723
2724         * docs/random/omega/caps2:
2725         * testsuite/caps/caps_strings:
2726           replace framerate aproximations by their real value
2727           (24000/1001, 30000/1001, 60000/1001)
2728           Partially fixes bug #164049
2729
2730 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2731
2732         * docs/gst/Makefile.am:
2733           don't fail on the stupid GstPoptOption
2734
2735 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2736
2737         * gst/gstpad.h:
2738         * gst/gstprobe.c:
2739           allow probes to work on ghost pads by realizing the pad
2740           probe debugging
2741
2742 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2743
2744         * docs/gst/gstreamer-sections.txt:
2745         * docs/gst/tmpl/gstpad.sgml:
2746         * gst/gstpad.c: (gst_pad_set_active_recursive):
2747         * gst/gstpad.h:
2748           Add gst_pad_set_active_recursive().
2749
2750 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2751
2752         * docs/random/release:
2753           updates
2754         * gst/gst_private.h:
2755         * gst/gstinfo.c:
2756         * gst/gstobject.c:
2757           move deep_notify logging to a new category
2758         * gst/gstprobe.c:
2759         * gst/gstprobe.h:
2760           add stuff so bindings can wrap probes
2761
2762 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
2763
2764         * gst/gstplugin.c: (gst_plugin_load):
2765           Fix plugin loading if plugin/lib was already loaded. Fixes
2766           #163383
2767
2768 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
2769
2770         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2771
2772         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
2773           Protect plugin loading by a mutex so it's threadsafe. Fixes
2774           #163234.
2775
2776 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2777
2778         * gst/gstevent.c: (_gst_event_copy):
2779           Reference source object when copying events, since it'll be
2780           dereferenced on event dereferencing as well.
2781
2782 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2783
2784         * docs/gst/gstreamer-sections.txt:
2785         * docs/gst/tmpl/gstevent.sgml:
2786         * gst/gstevent.c: (gst_event_new_filler_stamped),
2787         (gst_event_filler_get_duration):
2788         * gst/gstevent.h:
2789           Add two new functions for filler events (which are used to
2790           synchronize streams if one of them is not having any data
2791           for a while) without interrupting the actual data-stream.
2792           Basically a no-op.
2793         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2794         (gst_queue_link_sink), (gst_queue_link_src),
2795         (gst_queue_change_state):
2796           Allow for renegotiation while filled. Required for stream
2797           switching while playing.
2798
2799 2005-01-08  Benjamin Otte  <otte@gnome.org>
2800
2801         * gst/gstelement.c: (gst_element_link_many):
2802           fix up g_return_if_fail's
2803         * po/LINGUAS:
2804         * po/de.po:
2805           add German translation, that was somehow not included
2806
2807 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
2808
2809         * docs/random/mimetypes:
2810           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
2811           do not add them to riff-lib as they are not common
2812
2813 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2814
2815         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
2816           Check for existence of probe after performing the probe before
2817           re-accessing it to prevent segfaults caused by removal of the
2818           probe in the callback.
2819
2820 2005-01-05  David Schleef  <ds@schleef.org>
2821
2822         * testsuite/registry/Makefile.am:
2823         * testsuite/registry/gst-print-formats.c:
2824         (print_pad_templates_info), (print_element_list),
2825         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
2826         (g_list_uniqify), (get_pad_templates_info),
2827         (get_element_mime_list), (print_mime_list), (main): A little
2828         program that looks through the registry to find elements of
2829         a given type.  Not particularly interesting as a test, except
2830         that there's no other test covering the same area.
2831
2832 2005-01-05  David Schleef  <ds@schleef.org>
2833
2834         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
2835         (fault_handler_sigaction), (fault_spin),
2836         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
2837         in signal.h-type signal handlers by not calling forbidden functions,
2838         including gst_element_set_state().
2839
2840 2005-01-05  David Schleef  <ds@schleef.org>
2841
2842         * gst/gstvalue.h: Mark _gst_reserved[] as private
2843
2844 2005-01-05  David Schleef  <ds@schleef.org>
2845
2846         * gst/gstvalue.c: Fix doc build problem.
2847
2848 2005-01-05  David Schleef  <ds@schleef.org>
2849
2850         * gst/gstvalue.c: Add some documentation
2851
2852 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
2853
2854         * docs/README:
2855           another shell oneliner for empty return value docs
2856         * gst/gstcaps.c:
2857         * gst/gstvalue.c:
2858         * libs/gst/control/dparam.c:
2859           more doc fixes (parameters and return values)
2860
2861 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
2862
2863         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2864
2865         * gst/gstregistry.h:
2866         * gst/registries/gstxmlregistry.c:
2867           Fix macro's for Mingw (fixes #162276).
2868
2869 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
2870
2871         * docs/README:
2872           quick shell oneliner to find undocumented members
2873         * docs/gst/tmpl/gstplugin.sgml:
2874         * docs/gst/tmpl/gstscheduler.sgml:
2875         * docs/gst/tmpl/gstthread.sgml:
2876           more enumtypes cleanup
2877         * gst/gsterror.h:
2878           activated documentation comments, now someone needs to document
2879           the enums :(
2880
2881 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2882
2883         * docs/manual/manual.xml:
2884           Add dataaccess part (doh!).
2885
2886 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2887
2888         * docs/manual/advanced-autoplugging.xml:
2889           Fix typo (intiate -> initiate).
2890
2891 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2892
2893         * docs/random/bbb/streamselection:
2894           Add some notes on how to handle multi-subtitle/-audio streams.
2895
2896 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
2897
2898         * docs/gst/gstreamer-docs.sgml:
2899         * docs/gst/gstreamer-sections.txt:
2900         * docs/gst/tmpl/gstenumtypes.sgml:
2901         * docs/gst/tmpl/gsterror.sgml:
2902         * docs/gst/tmpl/gstevent.sgml:
2903         * docs/gst/tmpl/gstpad.sgml:
2904         * docs/gst/tmpl/gstpadtemplate.sgml:
2905         * docs/gst/tmpl/gstthread.sgml:
2906           removed gstenumtypes section from docs and put all the enums into
2907           their sections
2908
2909 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
2910
2911         * gst/gstplugin.c:
2912           document gst_library_load a bit more (riff special case + return
2913           value if already loaded)
2914         * testsuite/bytestream/filepadsink.c:
2915           plugin name is 'gstbytestream', not 'bytestream'
2916
2917 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2918
2919         * docs/random/bbb/subtitles:
2920           Add some first mind rumblings on proper subtitle support.
2921
2922 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2923
2924         * po/ca.po:
2925         * po/sv.po:
2926           updated translations
2927
2928 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2929
2930         * docs/manual/advanced-dataaccess.xml:
2931           Add section on how to use fakesrc/fakesink/identity in your
2932           application, plus section on how to embed plugins. Also mention
2933           probes.
2934         * docs/manual/appendix-checklist.xml:
2935         * docs/manual/appendix-debugging.xml:
2936         * docs/manual/appendix-gnome.xml:
2937         * docs/manual/appendix-integration.xml:
2938           Debug -> checklist, GNOME -> integration, add sections on Linux,
2939           KDE integration and add other things useful for application
2940           development.
2941         * docs/manual/manual.xml:
2942           Remove some fixmes, update some file pointers.
2943         * docs/pwg/appendix-checklist.xml:
2944           Fix typo.
2945         * docs/pwg/building-boiler.xml:
2946           Remove ugly header and add commented fixme.
2947         * docs/pwg/pwg.xml:
2948           Add fixme.
2949         * examples/manual/Makefile.am:
2950           Add example for added docs.
2951
2952 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2953
2954         * configure.ac:
2955           back to HEAD
2956
2957 === release 0.8.8 ===
2958
2959 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2960
2961         * NEWS:
2962         * RELEASE:
2963         * configure.ac:
2964           Releasing 0.8.8, "I'll Take Care Of You"
2965
2966 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2967
2968         * configure.ac:
2969           second prerelease
2970
2971 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2972
2973         patch by: Wim Taymans
2974
2975         * gst/gstbin.c:
2976           Fix for #159852 - make iterate emission threadsafe
2977
2978 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2979
2980         * docs/faq/cvs.xml:
2981           notes about new fdo account request
2982
2983 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
2984
2985         * docs/gst/gstreamer-docs.sgml:
2986         * docs/gst/tmpl/gstenumtypes.sgml:
2987         * docs/gst/tmpl/gstplugin.sgml:
2988         * docs/libs/gstreamer-libs-docs.sgml:
2989           Added missing short docs. Added ids for navigation.
2990
2991 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2992
2993         * docs/manual/advanced-autoplugging.xml:
2994         * docs/manual/advanced-schedulers.xml:
2995         * docs/manual/advanced-threads.xml:
2996           Rewrites. Remove cothreads, go a bit into opt specifically,
2997           document threads and their gotchas, and do some technical stuff
2998           on autoplugging plus add some working examples. Fixes #157395.
2999         * examples/manual/Makefile.am:
3000           Add typefind/autoplugger example (one that actually works).
3001           Remove queue example since it's a duplicate of the thread one.
3002
3003 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3004
3005         * gst/gstvalue.c: (gst_value_deserialize_string):
3006           use deprecated g_value_set_string_take_ownership to keep compatible
3007           with glib 2.2
3008
3009 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3010
3011         * gst/gstvalue.c: (gst_value_deserialize_string):
3012           revert last patch, only dom a g_utf8_validate now before accepting
3013           the string - caps parsing strips " from strings so we can't rely on
3014           them
3015         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3016           disable a test that tested the above and comment it
3017
3018 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
3019
3020         Patch reviewed by David Schleef  <ds@schleef.org>
3021
3022         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
3023         bug #153882)
3024         * win32/gstenumtypes.h: same
3025
3026 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3027
3028         * gst/gstpad.c: (gst_pad_query):
3029           Do query on realized pad, similar to how convert/send_event handle
3030           this. Also makes sense, since this pad belongs to the function to
3031           which this query will be sent. Fixes #158163.
3032
3033 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
3034
3035         * docs/manual/appendix-programs.xml: fix pipeline to actually work
3036
3037 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
3038
3039         * docs/faq/general.xml: fix pipeline to actually work
3040
3041 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3042
3043         * gst/gstvalue.c: (gst_value_deserialize_string):
3044           check that a simple string that gets deserialized does not contain
3045           invalid characters
3046         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3047           remove a test that tested a wring behaviour
3048
3049 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
3050
3051         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3052
3053         * docs/manual/intro-motivation.xml:
3054           Fix typos.
3055
3056 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
3057
3058         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3059
3060         * docs/gst/tmpl/gstprobe.sgml:
3061           Fix documentation of probe callback - it is supposed to return
3062           FALSE, not TRUE, to remove data from the stream (#159087).
3063
3064 2004-12-16  Daniel Gazard  <dany42@free.fr>
3065
3066         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3067
3068         * gst/gstelementfactory.c: (gst_element_factory_create):
3069           Fix compile failure if compiling without libxml2 support (#149936).
3070
3071 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3072
3073         * docs/manual/advanced-autoplugging.xml:
3074         * docs/manual/highlevel-components.xml:
3075           Move spider from autoplugging to components. Autoplugging is for
3076           internals, not for solutions. ;-).
3077
3078 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3079
3080         * docs/random/ds/0.9-suggested-changes:
3081           Make note on device/location/uri property names.
3082
3083 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3084
3085         * docs/manual/advanced-autoplugging.xml:
3086         * docs/manual/advanced-clocks.xml:
3087         * docs/manual/advanced-interfaces.xml:
3088         * docs/manual/advanced-metadata.xml:
3089         * docs/manual/advanced-position.xml:
3090         * docs/manual/advanced-schedulers.xml:
3091         * docs/manual/advanced-threads.xml:
3092         * docs/manual/appendix-gnome.xml:
3093         * docs/manual/appendix-programs.xml:
3094         * docs/manual/appendix-quotes.xml:
3095         * docs/manual/autoplugging.xml:
3096         * docs/manual/basics-bins.xml:
3097         * docs/manual/basics-data.xml:
3098         * docs/manual/basics-elements.xml:
3099         * docs/manual/basics-helloworld.xml:
3100         * docs/manual/basics-init.xml:
3101         * docs/manual/basics-pads.xml:
3102         * docs/manual/basics-plugins.xml:
3103         * docs/manual/bins-api.xml:
3104         * docs/manual/bins.xml:
3105         * docs/manual/buffers-api.xml:
3106         * docs/manual/buffers.xml:
3107         * docs/manual/clocks.xml:
3108         * docs/manual/components.xml:
3109         * docs/manual/cothreads.xml:
3110         * docs/manual/debugging.xml:
3111         * docs/manual/dparams-app.xml:
3112         * docs/manual/dynamic.xml:
3113         * docs/manual/elements-api.xml:
3114         * docs/manual/elements.xml:
3115         * docs/manual/factories.xml:
3116         * docs/manual/gnome.xml:
3117         * docs/manual/goals.xml:
3118         * docs/manual/helloworld.xml:
3119         * docs/manual/helloworld2.xml:
3120         * docs/manual/highlevel-components.xml:
3121         * docs/manual/highlevel-xml.xml:
3122         * docs/manual/init-api.xml:
3123         * docs/manual/intro-basics.xml:
3124         * docs/manual/intro-motivation.xml:
3125         * docs/manual/intro-preface.xml:
3126         * docs/manual/intro.xml:
3127         * docs/manual/links-api.xml:
3128         * docs/manual/links.xml:
3129         * docs/manual/manual.xml:
3130         * docs/manual/motivation.xml:
3131         * docs/manual/pads-api.xml:
3132         * docs/manual/pads.xml:
3133         * docs/manual/plugins-api.xml:
3134         * docs/manual/plugins.xml:
3135         * docs/manual/programs.xml:
3136         * docs/manual/queues.xml:
3137         * docs/manual/quotes.xml:
3138         * docs/manual/schedulers.xml:
3139         * docs/manual/states-api.xml:
3140         * docs/manual/states.xml:
3141         * docs/manual/threads.xml:
3142         * docs/manual/typedetection.xml:
3143         * docs/manual/win32.xml:
3144         * docs/manual/xml.xml:
3145           Try 2. This time, include a short preface as a "general
3146           introduction", also add code blocks around all code samples
3147           so they get compiled. We still need a way to tell readers
3148           the filename of the code sample. In some cases, don't show
3149           all code in the documentation, but do include it in the generated
3150           code. This allows for focussing on specific bits in the docs,
3151           while still having a full test application available.
3152         * examples/manual/Makefile.am:
3153           Fix up examples for new ADM. Add several of the new examples that
3154           were either added or were missing from the build system.
3155         * examples/manual/extract.pl:
3156           Allow nameless blocks.
3157
3158 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3159
3160         * docs/manual/elements-api.xml:
3161         * docs/manual/helloworld.xml:
3162         * examples/manual/extract.pl:
3163           fix last example.  Add example of adding code blocks that are not
3164           shown in docbook output.
3165
3166 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3167
3168         * docs/manual/dynamic.xml:
3169         * docs/manual/elements-api.xml:
3170         * docs/manual/gnome.xml:
3171         * docs/manual/helloworld2.xml:
3172         * docs/manual/init-api.xml:
3173         * docs/manual/queues.xml:
3174         * docs/manual/threads.xml:
3175         * docs/manual/xml.xml:
3176         * examples/manual/extract.pl:
3177           Make it possible to extract example code from separate blocks.
3178           Should make Ronald happy.
3179
3180 2004-12-15  Wim Taymans  <wim@fluendo.com>
3181
3182         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3183         (remove_from_group), (group_elements_set_visited),
3184         (normalize_group), (gst_opt_scheduler_iterate):
3185         Fix bug where a flag was not updated on a decoupled entry point 
3186         because we were just checking the group element list and decoupled
3187         elements are not in that list..
3188
3189 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3190
3191         * docs/manual/advanced-autoplugging.xml:
3192         * docs/manual/advanced-clocks.xml:
3193         * docs/manual/advanced-dparams.xml:
3194         * docs/manual/advanced-interfaces.xml:
3195         * docs/manual/advanced-metadata.xml:
3196         * docs/manual/advanced-position.xml:
3197         * docs/manual/advanced-schedulers.xml:
3198         * docs/manual/advanced-threads.xml:
3199         * docs/manual/appendix-debugging.xml:
3200         * docs/manual/appendix-gnome.xml:
3201         * docs/manual/appendix-programs.xml:
3202         * docs/manual/appendix-quotes.xml:
3203         * docs/manual/appendix-win32.xml:
3204         * docs/manual/autoplugging.xml:
3205         * docs/manual/basics-bins.xml:
3206         * docs/manual/basics-data.xml:
3207         * docs/manual/basics-elements.xml:
3208         * docs/manual/basics-helloworld.xml:
3209         * docs/manual/basics-init.xml:
3210         * docs/manual/basics-pads.xml:
3211         * docs/manual/basics-plugins.xml:
3212         * docs/manual/bins-api.xml:
3213         * docs/manual/bins.xml:
3214         * docs/manual/buffers-api.xml:
3215         * docs/manual/buffers.xml:
3216         * docs/manual/clocks.xml:
3217         * docs/manual/components.xml:
3218         * docs/manual/cothreads.xml:
3219         * docs/manual/debugging.xml:
3220         * docs/manual/dparams-app.xml:
3221         * docs/manual/dynamic.xml:
3222         * docs/manual/elements-api.xml:
3223         * docs/manual/elements.xml:
3224         * docs/manual/factories.xml:
3225         * docs/manual/gnome.xml:
3226         * docs/manual/goals.xml:
3227         * docs/manual/helloworld.xml:
3228         * docs/manual/helloworld2.xml:
3229         * docs/manual/highlevel-components.xml:
3230         * docs/manual/highlevel-xml.xml:
3231         * docs/manual/init-api.xml:
3232         * docs/manual/intro-motivation.xml:
3233         * docs/manual/intro-preface.xml:
3234         * docs/manual/intro.xml:
3235         * docs/manual/links-api.xml:
3236         * docs/manual/links.xml:
3237         * docs/manual/manual.xml:
3238         * docs/manual/motivation.xml:
3239         * docs/manual/pads-api.xml:
3240         * docs/manual/pads.xml:
3241         * docs/manual/plugins-api.xml:
3242         * docs/manual/plugins.xml:
3243         * docs/manual/programs.xml:
3244         * docs/manual/queues.xml:
3245         * docs/manual/quotes.xml:
3246         * docs/manual/schedulers.xml:
3247         * docs/manual/states-api.xml:
3248         * docs/manual/states.xml:
3249         * docs/manual/threads.xml:
3250         * docs/manual/typedetection.xml:
3251         * docs/manual/win32.xml:
3252         * docs/manual/xml.xml:
3253           First try at rewriting the ADM. Needs lotsamore work, but some
3254           parts might already be somewhat useful.
3255         * docs/pwg/advanced-interfaces.xml:
3256           Remove properties interface, it never actually existed (except for
3257           on my HD...).
3258
3259 2004-12-13  David Schleef  <ds@schleef.org>
3260
3261         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
3262         be NULL (bug #160220).
3263
3264 2004-12-13  David Schleef  <ds@schleef.org>
3265
3266         * configure.ac: remove all mmx stuff, because it's not used.
3267         * docs/random/ds/0.9-suggested-changes: additional notes
3268         * include/Makefile.am: we don't use these anymore
3269         * include/mmx.h: remove
3270         * include/sse.h: remove
3271
3272 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3273
3274         * docs/random/mimetypes:
3275           Add FOURCC code for h264 codec (VSSH)
3276           Add alternate FOURCC codes for h263 related codecs
3277
3278 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
3279
3280         * docs/manual/programs.xml:
3281           Added more gst-launch examples.
3282
3283 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3284
3285         * gst/gstqueue.c: (gst_queue_handle_src_query):
3286           Check for availability again.
3287
3288 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3289
3290         * gst/gstcaps.c: (gst_caps_compare_structures):
3291           Simple caps go first. This has the nice side-effect of fixing an
3292           obscure warning.
3293
3294 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3295
3296         * gst/gstversion.h.in:
3297           Protect header.
3298
3299 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3300
3301         * gst/schedulers/gstoptimalscheduler.c:
3302         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
3303         (gst_opt_scheduler_get_wrapper):
3304           When we're recursing into a chain run, only run the directly
3305           related group, not all queued ones. This will fix a possible
3306           deadlock in chains with more than two groups.
3307
3308 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3309
3310         * autogen.sh:
3311           remove patch if autopoint fails
3312
3313 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3314
3315         * docs/gst/gstreamer-sections.txt:
3316           Document Thomas' addition, fix build, make Luis the sheriff happy.
3317
3318 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3319
3320         * gst/gstplugin.c:
3321         * gst/gstplugin.h:
3322           add accessor for version field
3323
3324 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3325
3326         submitted by: Luca Ferretti <elle.uca@infinito.it>
3327
3328         * po/LINGUAS:
3329         * po/it.po:
3330           New tranlation added: Italian
3331
3332 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3333
3334         * gst/gstpad.c: (gst_pad_is_negotiated),
3335         (gst_pad_get_negotiated_caps):
3336           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
3337           it doesn't actually check the contents), so be sure to hand it
3338           a RealPad else we'll crash.
3339
3340 2004-12-03  Wim Taymans  <wim@fluendo.com>
3341
3342         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3343         (gst_queue_link), (gst_queue_handle_src_query):
3344         Reverted to 1.110 until this makes the testsuite and various
3345         apps work.
3346
3347 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
3348
3349         * docs/upload.mak: fix included CVS conflict strings
3350
3351 2004-12-01  William Jon McCann  <mccann@jhu.edu>
3352
3353         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3354
3355         * gst/gstelement.c: (gst_element_error_full):
3356           Use g_error_new_literal because error text may have
3357           percentage signs in it. Fixes #160019.
3358
3359 2004-12-01  Benjamin Otte  <otte@gnome.org>
3360
3361         * gst/elements/gstbufferstore.c:
3362         (gst_buffer_store_add_buffer_func):
3363           don't try to make subbuffers bigger than they can be. (fixes
3364           #159970)
3365
3366 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3367
3368         * docs/gst/gstreamer-sections.txt:
3369         * docs/gst/tmpl/gstvalue.sgml:
3370           Add new function to docs to fix build.
3371
3372 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3373
3374         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
3375         * gst/gstpad.c: (_gst_pad_default_fixate_value),
3376         (_gst_pad_default_fixate_foreach):
3377         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
3378         * gst/gstvalue.h:
3379           Deprecate _type_is_fixed, use _value_is_fixed instead, since
3380           in some cases (arrays), the fixedness depends on the content.
3381         * gst/gstqueue.c: (gst_queue_handle_src_query):
3382           Check for availability before doing something.
3383
3384 2004-11-29  Wim Taymans  <wim@fluendo.com>
3385
3386         * testsuite/threads/Makefile.am:
3387         * testsuite/threads/signals.c: (gst_test_get_type),
3388         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
3389         (gst_test_set_property), (gst_test_get_property),
3390         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
3391         (gst_test_do_prop), (run_thread), (main):
3392         Added a bunch of testcases that show threadsafety bugs in glib.
3393
3394 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
3395
3396         * docs/manual/programs.xml:
3397           Added a first batch of gst-launch examples, as provided by Ronald
3398           and others from the devel-mlist
3399
3400 2004-11-28  Benjamin Otte  <otte@gnome.org>
3401
3402         * gst/gstelement.c: (gst_element_negotiate_pads):
3403           simplify
3404         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
3405         (gst_value_serialize_string), (gst_value_deserialize_string):
3406           add unwrapping of previously wrapped strings. Fix bug in wrapping
3407           while at it.
3408         * testsuite/caps/value_serialize.c: (test1),
3409         (test_string_serialization), (test_string_deserialization), (main):
3410           add tests for string (de)serialization
3411
3412 2004-11-26  Wim Taymans  <wim@fluendo.com>
3413
3414         * testsuite/threads/159566.c: (object_deep_notify), (main):
3415         * testsuite/threads/Makefile.am:
3416         Added testsuite to show bug #159566
3417
3418 2004-11-25  Wim Taymans  <wim@fluendo.com>
3419
3420         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
3421         (gst_thread_child_state_change), (gst_thread_main_loop):
3422         Ref the thread object in the GThread mainloop. Break out of the
3423         thread mainloop if it holds the last ref. This properly exits
3424         the threads when disposing the thread from its own context. It
3425         also avoids possible deadlocks in the dispose function.
3426
3427 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
3428
3429         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
3430         it is necessary to wait.
3431
3432 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3433
3434         * docs/pwg/building-boiler.xml:
3435           Make description somewhat clearer.
3436
3437 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3438
3439         * docs/upload.mak:
3440           Apparently docs changed location on FDO's server.
3441
3442 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3443
3444         * docs/pwg/appendix-checklist.xml:
3445           Add some random notes on things to check when writing an element.
3446           This list can be extended as people see fit.
3447
3448 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
3449
3450         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
3451         (gst_queue_link_src): Allow for renegotiating the caps of the sink
3452         pad. The queue will now wait until it is empty and forward the new
3453         caps to the source.
3454         * gst/gstbin.c (gst_bin_set_element_sched)
3455         (gst_bin_unset_element_sched): Make sure that all elements and
3456         links are registered and unregistered with the scheduler exactly
3457         once. This elaborates on a fix by Benjamin Otte, but
3458         guarantees that decoupled elements are also registered.
3459
3460 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3461
3462         * docs/manual/quotes.xml:
3463           add a quote
3464         * configure.ac:
3465         * gst/gst.c:
3466         * gst/gstinfo.c:
3467           add LIBDIR and move init message higher up so it's at the start
3468
3469 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
3470
3471         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
3472         * gstreamer.spec.in: add fair
3473
3474 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3475
3476         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
3477         * gst/elements/gstidentity.c: (gst_identity_class_init):
3478           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
3479           <teuf@gnome.org> (#157263).
3480         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3481         (gst_type_find_handle_src_query):
3482           Subtract size of internally stored data from position queries.
3483
3484 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
3485
3486         * gst/schedulers/fairscheduler.c:
3487         * gst/schedulers/faircothreads.c:
3488         * gst/schedulers/faircothreads.h:
3489         New cothread based scheduler: Fair scheduler.
3490         * gst/schedulers/gthread-cothreads.h: 
3491         Add the standard #if around the whole file.
3492         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
3493         compilation of the functions defined in this file. This is
3494         necessary to be able to use this file as a normal header.
3495         * gst/schedulers/Makefile.am: Add compiling support for fair
3496         scheduler.
3497         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
3498         scheduler cothreads layer from documentation generation.
3499
3500 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3501
3502         * gst/autoplug/gstspideridentity.c:
3503         (gst_spider_identity_sink_loop_type_finding):
3504           Don't crash if that function is not implemented.
3505
3506 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3507
3508         * docs/pwg/advanced-types.xml:
3509           Another typo.
3510
3511 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3512
3513         * docs/pwg/intro-preface.xml:
3514           Hm, ok, so the brackets weren't really useful...
3515         * docs/pwg/other-ntoone.xml:
3516           Fix embarassing typo.
3517
3518 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3519
3520         * docs/pwg/intro-preface.xml:
3521           Rewrite preface.
3522
3523 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3524
3525         * docs/pwg/advanced-scheduling.xml:
3526         * docs/pwg/advanced-tagging.xml:
3527         * docs/pwg/advanced-types.xml:
3528         * docs/pwg/building-boiler.xml:
3529         * docs/pwg/building-chainfn.xml:
3530         * docs/pwg/building-signals.xml:
3531         * docs/pwg/building-state.xml:
3532         * docs/pwg/building-testapp.xml:
3533         * docs/pwg/intro-basics.xml:
3534         * docs/pwg/other-manager.xml:
3535         * docs/pwg/other-source.xml:
3536           Typo fixes.
3537         * docs/pwg/other-manager.xml:
3538           Add some first content. No example code yet.
3539         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
3540           Remove double newlines.
3541
3542 2004-11-04  Wim Taymans  <wim@fluendo.com>
3543
3544         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3545         (remove_from_group), (normalize_group), (group_migrate_connected),
3546         (gst_opt_scheduler_iterate):
3547         * testsuite/schedulers/.cvsignore:
3548         * testsuite/schedulers/Makefile.am:
3549         * testsuite/schedulers/queue_link.c: (main):
3550         Added testcase for scheduler segfault.
3551         Fix scheduler segfault when removing a decoupled
3552         entry point as the last element from a group.
3553
3554 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
3555
3556         * gst/gstmarshal.list: add missing marshaller, fixes build
3557
3558 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
3559
3560         * docs/random/signal: added notes about using BOXED for GstBuffer
3561         signal marshallers, not POINTER
3562
3563 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
3564
3565         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
3566         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
3567         POINTER=>BOXED changes to marshal GstBuffers
3568
3569 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
3570
3571         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
3572         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
3573
3574 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
3575
3576         * docs/gst/gstreamer-sections.txt:
3577         * docs/gst/tmpl/gstcaps.sgml:
3578         * docs/gst/tmpl/gsterror.sgml:
3579         * docs/gst/tmpl/gstinfo.sgml:
3580         * docs/gst/tmpl/gstmacros.sgml:
3581         * docs/gst/tmpl/gstutils.sgml:
3582         * docs/random/ensonic/interfaces.txt:
3583         * gst/gstinfo.h:
3584           added some more docs, removed two obsolete defines
3585
3586 2004-11-02  Kjartan Maraas <as at gnome.org>
3587
3588         reviewed by: Wim Taymans, Ronald Bultje.
3589
3590         * gst/cothreads.c: (cothread_create):
3591         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3592         (gst_bin_child_state_change_func):
3593         * gst/gstbuffer.c: (gst_buffer_span):
3594         * gst/gstelement.c: (gst_element_get_index),
3595         (gst_element_get_event_masks), (gst_element_get_query_types),
3596         (gst_element_get_formats):
3597         * gst/gsterror.c: (_gst_core_errors_init),
3598         (_gst_library_errors_init), (_gst_resource_errors_init),
3599         (_gst_stream_errors_init):
3600         * gst/gstobject.c: (gst_object_default_deep_notify):
3601         * gst/gstpad.c: (gst_pad_get_event_masks),
3602         (gst_pad_get_internal_links_default):
3603         * gst/gstplugin.c: (gst_plugin_register_func),
3604         (gst_plugin_get_module):
3605         * gst/gststructure.c: (gst_structure_get_string),
3606         (gst_structure_get_abbrs), (gst_structure_from_abbr),
3607         (gst_structure_to_abbr):
3608         * gst/gstutils.c: (gst_print_element_args):
3609         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3610         (setup_group_scheduler), (gst_opt_scheduler_iterate):
3611         Aplied part of patch #157127: Cleanup of issues reported by 
3612         sparse.
3613         Also do not try to use cothreads when there is no cothread
3614         context yet.
3615
3616 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
3617
3618         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3619         (gst_opt_scheduler_iterate):
3620         Applied patch #154061. Running a pipeline in which an element 
3621         calls GST_ELEMENT_ERROR in the chain function, the opt 
3622         scheduler doesn't unref the chain so it never gets freed.
3623
3624 2004-11-02  Wim Taymans  <wim@fluendo.com>
3625
3626         * gst/gststructure.c: (gst_structure_get_abbrs),
3627         (gst_structure_from_abbr), (gst_structure_to_abbr):
3628         Remove that ugly if-then thing in the code that converts
3629         between strings and types.
3630
3631 2004-11-02  Wim Taymans  <wim@fluendo.com>
3632
3633         * gst/gstscheduler.c: (gst_scheduler_add_element),
3634         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
3635         Aplied clock distribution patch, this should fix bug
3636         #148787.
3637
3638 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3639
3640         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
3641
3642         * po/LINGUAS:
3643         * po/nb.po:
3644           Added Norwegian Bokmaal translation
3645
3646 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3647
3648         * tools/gst-inspect.c: (print_signal_info):
3649           print signal arguments as pointers if they are
3650
3651 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
3652
3653         * docs/pwg/building-boiler.xml:
3654           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
3655
3656 2004-10-19  Wim Taymans  <wim at fluendo dot com>
3657
3658         * gst/parse/parse.l:
3659         * testsuite/parse/parse1.c: (main):
3660         Since parse can do 'element name=a:b' make 'a:b.' work as
3661         well. 
3662         Added testcase to verify fix.
3663
3664 2004-10-19  Wim Taymans  <wim at fluendo dot com>
3665
3666         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
3667         Use the realpad when printing the direction.
3668         Add extra \n when printing extensions of typefind factories.
3669
3670 2004-10-13  David Schleef  <ds@schleef.org>
3671
3672         * examples/manual/Makefile.am: $< isn't portable in Makefile
3673         rules.
3674
3675 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
3676
3677         * docs/gst/tmpl/gstobject.sgml:
3678         * docs/gst/tmpl/gstplugin.sgml:
3679         * docs/gst/tmpl/gstpluginfeature.sgml:
3680         * docs/gst/tmpl/gstregistry.sgml:
3681         * docs/gst/tmpl/gstversion.sgml:
3682         * gst/gstbin.c:
3683           more api documentation
3684         * gst/gstplugin.c: (gst_plugin_register_func),
3685         (gst_plugin_check_file), (gst_plugin_load_file):
3686           better error signaling and logging
3687
3688 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3689
3690         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
3691           Subtract current queue contents from position queries.
3692
3693 2004-10-11  Johan Dahlin  <johan@gnome.org>
3694
3695         * gst/gsturi.c (gst_uri_get_location): unescape string
3696         (gst_uri_construct): escape string.
3697
3698 2004-10-11  Benjamin Otte  <otte@gnome.org>
3699
3700         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
3701         (gst_pad_try_set_caps_nonfixed):
3702           allow renegotiation of unconnected pads (as inside spider). Simply
3703           return OK if unconnected - mimic try_set_caps there.
3704
3705 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3706
3707         * gst/gstbin.c: (gst_bin_sync_children_state):
3708           Add missing break.
3709
3710 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3711
3712         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
3713         Set element to EOS before sending EOS event
3714
3715 2004-10-08  Wim Taymans  <wim at fluendo dot com>
3716
3717         * gst/elements/gsttypefindelement.c:
3718         (gst_type_find_element_handle_event):
3719         Handle EOS events when doing the transition from
3720         typefind to data passing. This should fix the
3721         infinite loops in short files.
3722
3723 2004-10-07  Wim Taymans  <wim at fluendo dot com>
3724
3725         * gst/gstthread.c: (gst_thread_change_state),
3726         (gst_thread_child_state_change):
3727         Make sure no iteration happens while performing
3728         the state change as it could mess up the internal
3729         consistency of the thread state.
3730
3731 2004-10-07  Wim Taymans  <wim at fluendo dot com>
3732
3733         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
3734         (gst_thread_change_state), (gst_thread_child_state_change):
3735         Do not try to grab the iterate lock in the state change method
3736         when we are in the same thread as the iterate or else we
3737         could deadlock. Some other cleanups.
3738
3739 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3740
3741         * configure.ac:
3742           bump nano to cvs
3743
3744 === release 0.8.7 ===
3745
3746 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3747
3748         * configure.ac:
3749         * NEWS:
3750         * RELEASE:
3751         * configure.ac:
3752           releasing 0.8.7, "A Cruise"
3753
3754 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3755
3756         * docs/random/mimetypes:
3757         Add an entry for Sony ATRAC3 audio format with mime-type
3758         used by rmdemux et riff-read
3759
3760 2004-10-06  Wim Taymans  <wim at fluendo dot com>
3761
3762         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3763         Push the buffer store instead of clearing it in case that
3764         the stream is not seekable.
3765
3766 2004-10-06  Wim Taymans  <wim at fluendo dot com>
3767
3768         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
3769         (gst_thread_main_loop):
3770         Lock the iteration and the state change so that automatic
3771         negotiation and fixation does not happen at the same time
3772         as the in stream negotiation.
3773
3774 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3775
3776         * configure.ac:
3777           bump nano to cvs
3778
3779 === release 0.8.6 ===
3780
3781 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3782
3783         * configure.ac:
3784         * NEWS:
3785         * RELEASE:
3786         * configure.ac:
3787           releasing 0.8.6, "Narc"
3788
3789 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3790
3791         * configure.ac:
3792           prerel bump
3793
3794 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3795
3796         patch by: Steve Lhomme
3797
3798         * gst/elements/gstfakesrc.c:
3799         * gst/elements/gstidentity.c:
3800         * gst/gstthread.c:
3801           Fix for #153881
3802
3803 2004-10-01  Wim Taymans  <wim at fluendo dot com>
3804
3805         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
3806         Fix threadsafety of the crc checking function.
3807
3808 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
3809
3810         patch by: Ronald Bultje
3811
3812         * gst/elements/gsttypefindelement.c: (stop_typefinding),
3813         (gst_type_find_element_handle_event),
3814         (gst_type_find_element_chain):
3815         * gst/elements/gsttypefindelement.h:
3816          #153657.
3817          Filter out discont event from seekable sources when typefind
3818          asks them to seek.  Fixes typefind with demuxers for
3819          avi, asf and matroska.
3820
3821 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
3822
3823         * docs/gst/gstreamer-sections.txt:
3824         * gst/gstcaps.c:
3825         * gst/gstcaps.h:
3826         * gst/gstpad.c:
3827           Revert preferred caps: (#147789)
3828
3829 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
3830
3831         * win32/dirent.c:
3832           fix a memory leak
3833
3834 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3835
3836         * configure.ac:
3837           bump for prerelease
3838
3839 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3840
3841         * docs/Makefile.am:
3842         * docs/manual/elements-api.xml:
3843           restructure so that common stuff is shown first
3844         * docs/manual/init-api.xml:
3845           convert to examples
3846         * docs/manual/manual.xml:
3847         * docs/manuals.mak:
3848         * docs/url.entities:
3849           link to API on the website, possibly override later in build
3850         * examples/manual/.cvsignore:
3851           ignore more
3852         * examples/manual/Makefile.am:
3853           add more examples
3854         * examples/manual/extract.pl:
3855           error out on failure
3856
3857 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3858
3859         * docs/gst/tmpl/gstthread.sgml:
3860         * docs/manual/init-api.xml:
3861         * examples/manual/Makefile.am:
3862           convert two code bits to examples
3863
3864 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3865
3866         * gst/gstelement.c: (gst_element_change_state):
3867           Well, actually, I was about to remove this insane assert when
3868           I noticed Wim already did that. A warning is nice so we can
3869           fix actual ugs (using --g-fatal-warnings and backtraces), so
3870           I added that instead.
3871
3872 2004-09-06  Wim Taymans  <wim@fluendo.com>
3873
3874         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
3875         (gst_element_threadsafe_properties_post_run),
3876         (gst_element_set_state), (gst_element_change_state):
3877         Added extra refcounting around various places. 
3878
3879 2004-09-06  Wim Taymans  <wim@fluendo.com>
3880
3881         * gst/gstpad.c: (gst_pad_link_call_link_functions):
3882         Fix debug info.
3883
3884 2004-09-06  Wim Taymans  <wim@fluendo.com>
3885
3886         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3887         (remove_from_group):
3888         Some more debug info.
3889
3890 2004-09-03  Wim Taymans  <wim@fluendo.com>
3891
3892         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3893         (gst_fakesrc_init), (gst_fakesrc_set_clock),
3894         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
3895         (gst_fakesrc_get), (gst_fakesrc_change_state):
3896         * gst/elements/gstfakesrc.h:
3897         * gst/elements/gstidentity.c: (gst_identity_class_init),
3898         (gst_identity_init), (gst_identity_chain),
3899         (gst_identity_set_property), (gst_identity_get_property),
3900         (gst_identity_change_state):
3901         * gst/elements/gstidentity.h:
3902         Added datarate properties to limit the datarate.
3903
3904 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3905
3906         * gst/autoplug/gstspider.c: (plugin_init):
3907           don't set a rank. We don't want to autoplug by inserting spiders.
3908
3909 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3910
3911         * gst/autoplug/gstspider.c: (gst_spider_class_init),
3912         (gst_spider_identity_plug):
3913           add a template for spider's sink
3914         * gst/gst.c: (gst_register_core_elements):
3915           queue's rank should be NULL, we don't want spider to add it.
3916
3917 2004-08-18  David Schleef  <ds@schleef.org>
3918
3919         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
3920         * docs/libs/Makefile.am: same
3921         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
3922         * docs/random/ds/0.9-planning: random additions
3923         * docs/random/ds/0.9-suggested-changes: same
3924         * gst/gstxml.h: remove vestigal GstXMLNs definition
3925
3926         Preferred caps: (#147789)
3927         * docs/gst/gstreamer-sections.txt: Add symbols
3928         * docs/gst/tmpl/gstcaps.sgml: Add symbols
3929         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
3930         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
3931         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
3932         (gst_caps_get_preferred), (gst_caps_set_preferred),
3933         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
3934         (gst_caps_use_preferred): Handle caps preferences
3935         * gst/gstcaps.h: Add caps preferences
3936         * gst/gstpad.c: (gst_pad_link_get_preferred),
3937         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
3938         (gst_pad_renegotiate), (gst_pad_guess_preferred),
3939         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
3940         negotiation.
3941
3942 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3943
3944         * gst/autoplug/gstspideridentity.c:
3945         (gst_spider_identity_request_new_pad):
3946         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
3947         (gst_aggregator_init):
3948         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
3949         (gst_fakesink_init):
3950         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
3951         (gst_fakesrc_init):
3952         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
3953         (gst_fdsink_init):
3954         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
3955         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
3956         (gst_filesink_init):
3957         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3958         (gst_filesrc_init):
3959         * gst/elements/gstidentity.c: (gst_identity_base_init),
3960         (gst_identity_init):
3961         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
3962         (gst_multifilesrc_init):
3963         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
3964         (gst_pipefilter_init):
3965         * gst/elements/gststatistics.c: (gst_statistics_base_init),
3966         (gst_statistics_init):
3967         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
3968         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
3969           s/gst_pad_new/&_from_template/
3970           register pad templates in the base_init function
3971           add static pad template definitions
3972
3973 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3974
3975         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
3976         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
3977         * testsuite/refcounting/pad.c: (main):
3978         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
3979           s/gst_pad_new/&_from_template/
3980           prepare deprecation of gst_pad_new
3981
3982 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3983
3984         patch by: Luca Ognibene <skaboy81@virgilio.it>
3985
3986         * gst/gstcaps.c:
3987         * gst/gstelement.c:
3988         * gst/gstpad.c:
3989         * gst/gstxml.c:
3990           fix memleaks.  Fixes #150001
3991
3992 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3993
3994         * docs/random/ds/0.9-suggested-changes:
3995           add notes - mostly about pad templates
3996
3997 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
3998
3999         * win32/GStreamer.vcproj:
4000           temporary locale files are .gmo not .mo
4001
4002 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4003
4004         * configure.ac: bump nano to cvs
4005
4006 === release 0.8.5 ===
4007
4008 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4009
4010         * configure.ac:
4011           releasing 0.8.5, "Stuttgart"
4012         * NEWS:
4013         * RELEASE:
4014         * configure.ac:
4015         * docs/random/release:
4016           updates for release
4017
4018 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4019
4020         patch by: Wim Taymans (wim@fluendo.com)
4021
4022         * gst/gstbuffer.c:
4023         * gst/gstindex.h:
4024         * libs/gst/dataprotocol/dataprotocol.c:
4025           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
4026
4027 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4028
4029         * Makefile.am:
4030         * win32/MANIFEST:
4031           add win32 dir to the build.  Fixes #149981.
4032
4033 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4034
4035         * configure.ac:
4036           bump libtool versioning
4037         * gst/gststructure.c:
4038           mark function as static
4039         * po/af.po:
4040         * po/az.po:
4041         * po/ca.po:
4042         * po/cs.po:
4043         * po/en_GB.po:
4044         * po/fr.po:
4045         * po/nl.po:
4046         * po/sq.po:
4047         * po/sr.po:
4048         * po/sv.po:
4049         * po/tr.po:
4050         * po/uk.po:
4051           translations update
4052         * win32/README.txt:
4053           trademark protection
4054
4055 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4056
4057         * configure.ac:
4058           fix GST_ORIGIN
4059           set GST_PACKAGE to source, and distinguish between release and other
4060         * tools/gst-inspect.c:
4061           print out plugin an element factory is part of so we see this info
4062
4063 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4064
4065         * docs/gst/gstreamer-sections.txt:
4066         * docs/gst/tmpl/gstbuffer.sgml:
4067         * docs/gst/tmpl/gstschedulerfactory.sgml:
4068           reorder docs a little, make GstBuffer's more sensible.
4069         * gst/gstbuffer.h:
4070           API: added GST_BUFFER_FLAG_DELTA_UNIT
4071         * gst/gstscheduler.c:
4072           comment API addition
4073
4074 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4075
4076         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
4077           work with non-regular files that can be mmapped (like /dev/zero)
4078         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
4079           get rid of typefinds that require a seek when we can't seek instead
4080           of trying them over and over again
4081         * tools/gst-launch.c: (idle_func), (error_cb), (main):
4082           return non-zero failure value when the pipeline was interrupted or
4083           an error occurred
4084
4085 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4086
4087         * win32/config.h:
4088         * win32/GStreamer.vcproj:
4089           compile and install the locales
4090
4091 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4092
4093         * gst/gstvalue.c:
4094           fix a possible memory leak under Windows
4095
4096 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4097
4098         * win32/GStreamer.vcproj:
4099           fix a memory leak that occured under Windows
4100         * win32/gstreamer.def:
4101           add gst_scheduler_register
4102
4103 2004-08-11  Benjamin Otte  <otte@gnome.org>
4104
4105         * docs/gst/gstreamer-sections.txt:
4106         * gst/gstscheduler.c: (gst_scheduler_register):
4107         * gst/gstscheduler.h:
4108           API:
4109           add gst_scheduler_register shortcut similar to gst_element_register
4110         * gst/schedulers/entryscheduler.c: (plugin_init):
4111         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
4112         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
4113           use it
4114
4115 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
4116
4117         * gst/gstvalue.h:
4118           fix a memory leak that occured under Windows
4119
4120 2004-08-10  Colin Walters  <walters@redhat.com>
4121
4122         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
4123         Don't use O_EXCL to open temporary registry.  It will prevent
4124         registry creation if a temporary one already exists, which
4125         is unnecessary.
4126
4127 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4128
4129         * docs/gst/gstreamer-sections.txt:
4130         * docs/gst/tmpl/gstvalue.sgml:
4131           remove some valuable stuff from the documentation due to the use of GST_EXPORT
4132
4133 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4134
4135         * win32/gstbytestream.vcproj:
4136         * win32/gstelements.vcproj:
4137         * win32/gstgetbits.vcproj:
4138         * win32/gst-inspect.vcproj:
4139         * win32/gst-launch.vcproj:
4140         * win32/gstoptimalscheduler.vcproj:
4141         * win32/GStreamer.vcproj:
4142         * win32/gst-register.vcproj:
4143         * win32/gstspider.vcproj:
4144           update the include and lib dirs to fit standard libraries as
4145           described in the Win32 manual
4146
4147 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4148
4149         * win32/config.h:
4150         * win32/gstversion.h:
4151           enable NLS again, push the version number for the coming 0.8.5 release
4152
4153 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4154
4155         * gst/gstvalue.h:
4156           export gst_type_XXX for windows DLLs
4157
4158 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4159
4160         * docs/faq/gst-uninstalled:
4161           fix PKG_CONFIG_PATH and PYTHONPATH
4162         * gst/schedulers/Makefile.am:
4163           cleanup
4164         * libs/gst/bytestream/bytestream.c:
4165           remove newline
4166         * po/LINGUAS:
4167         * po/sq.po:
4168           adding Albanian translation (Laurent Dhima)
4169         * po/cs.po:
4170           updated
4171
4172 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4173
4174         * po/ca.po:
4175         * po/sv.po:
4176           updated translations
4177
4178 2004-08-04  Benjamin Otte  <otte@gnome.org>
4179
4180         * tests/mass_elements.c: (main):
4181           allow specifying src and sink element explicitly, so I can test
4182           videotestsrc instead of fakesrc
4183
4184 2004-08-04  Benjamin Otte  <otte@gnome.org>
4185
4186         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
4187         (gst_structure_id_empty_new), (gst_structure_empty_new),
4188         (gst_structure_copy):
4189           add gst_structure_id_empty_new_with_size to allow preallocating
4190           value array sizes. Use this in gst_structure_copy to get rid of
4191           reallocs.
4192           don't do quark=>string=>quark when copying structures
4193
4194 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
4195
4196         * docs/manual/win32.xml:
4197         * win32/README.txt:
4198           update documentation with the clean version of dependencies
4199
4200 2004-08-03  Benjamin Otte  <otte@gnome.org>
4201
4202         * gst/schedulers/entryscheduler.c:
4203         (gst_entry_scheduler_remove_element):
4204           fix for GST_DISABLE_DEBUG
4205         * tools/gst-launch.c: (print_tag):
4206           fixes for G_DISABLE_ASSERT
4207
4208 2004-08-03  Benjamin Otte  <otte@gnome.org>
4209
4210         * gst/gst.c: (gst_register_core_elements):
4211           fix for G_DISABLE_ASSERT
4212         * gst/gstinfo.c: (__gst_in_valgrind):
4213           add for GST_DISABLE_DEBUG
4214
4215 2004-08-03  Benjamin Otte  <otte@gnome.org>
4216
4217         * gst/parse/parse.l:
4218           fix for G_DISABLE_ASSERT
4219
4220 2004-08-03  Wim Taymans  <wim@fluendo.com>
4221
4222         * gst/gstbin.c: (gst_bin_get_type),
4223         (gst_bin_child_state_change_func):
4224         * gst/gstthread.c: (gst_thread_change_state):
4225         Backported some debug logging from a reverted patch
4226         Don't try to destroy the thread twice. Added some more
4227         debugging in GstThread. Unlock and signal even if we
4228         are in the thread context.
4229
4230 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4231
4232         * po/uk.po:
4233           updated translation
4234
4235 2004-07-30  David Schleef  <ds@schleef.org>
4236
4237         * gst/gstatomic_impl.h: Enable atomic code for x86_64
4238
4239 2004-07-29  David Schleef  <ds@schleef.org>
4240
4241         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
4242         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
4243
4244 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4245
4246         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
4247         (gst_bin_add_func), (gst_bin_remove_func),
4248         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
4249         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
4250         (gst_bin_change_state_norecurse), (gst_bin_dispose),
4251         (gst_bin_sync_children_state):
4252         * gst/gstbin.h:
4253         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
4254         (gst_thread_change_state):
4255         * testsuite/states/Makefile.am:
4256           revert state change patches as agreed so we can rework them
4257           gradually
4258
4259 2004-07-29  Benjamin Otte  <otte@gnome.org>
4260
4261         * libs/gst/control/Makefile.am:
4262           link to libgstreamer (fixes Debian bug 262019, see
4263           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
4264
4265 2004-07-29  Wim Taymans  <wim@fluendo.com>
4266
4267         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
4268         (check_from_fraction_convert), (transform_test), (main):
4269         Make the test less pedantic about float roundoff errors.
4270
4271 2004-07-29  Benjamin Otte  <otte@gnome.org>
4272
4273         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
4274         (gst_filesrc_srcpad_event):
4275           make seek events to before start/after end of file not fail, but
4276           seek to start/end instead
4277         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
4278           add more output
4279
4280 2004-07-29  Benjamin Otte  <otte@gnome.org>
4281
4282         * gst/gstpad.c: (gst_pad_set_explicit_caps):
4283           check that caps are fixed
4284         * gst/gstpad.c: (gst_pad_template_new):
4285           don't try to simplify caps, costs too much time on gst_init
4286         * gst/gstplugin.c: (gst_plugin_add_feature):
4287           G_ERROR if features are added twice
4288         * gst/gsttypefind.c: (gst_type_find_register):
4289         * gst/gstelementfactory.c: (gst_element_register):
4290           don't add features twice
4291         * docs/random/ds/0.9-suggested-changes:
4292           add note about possible gst_init optimization
4293
4294 2004-07-28  David Schleef  <ds@schleef.org>
4295
4296         * testsuite/elements/Makefile.am:
4297         * testsuite/elements/struct_i386.h:
4298         * testsuite/elements/struct_size.c: (main):  A little test
4299         to keep distcheck from working if someone changes a structure
4300         size accidentally.
4301
4302 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4303
4304         * docs/libs/Makefile.am:
4305         * docs/libs/gstreamer-libs-docs.sgml:
4306         * docs/libs/gstreamer-libs-sections.txt:
4307         * docs/libs/tmpl/gstbytestream.sgml:
4308         * docs/libs/tmpl/gstcontrol.sgml:
4309         * docs/libs/tmpl/gstdataprotocol.sgml:
4310         * docs/libs/tmpl/gstgetbits.sgml:
4311         * libs/gst/bytestream/Makefile.am:
4312         * libs/gst/bytestream/bytestream.c:
4313         * libs/gst/bytestream/bytestream.h:
4314         * libs/gst/control/Makefile.am:
4315         * libs/gst/dataprotocol/Makefile.am:
4316         * libs/gst/getbits/Makefile.am:
4317         * libs/gst/getbits/getbits.h:
4318           various doc and style fixes, adding bytestream to libs docs.
4319
4320 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4321
4322         * docs/gst/gstreamer-docs.sgml:
4323         * docs/libs/Makefile.am:
4324         * docs/libs/gstreamer-libs-docs.sgml:
4325         * docs/libs/gstreamer-libs-sections.txt:
4326         * libs/gst/control/dparam.c:
4327           more doc fixes.  gst-libs docs now build the same way as gst.
4328
4329 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4330
4331         * configure.ac:
4332         * testsuite/Makefile.am:
4333         * testsuite/bins/Makefile.am:
4334         * testsuite/caps/Makefile.am:
4335         * testsuite/cleanup/Makefile.am:
4336         * testsuite/clock/Makefile.am:
4337         * testsuite/debug/Makefile.am:
4338         * testsuite/dlopen/Makefile.am:
4339         * testsuite/dynparams/Makefile.am:
4340         * testsuite/elements/.cvsignore:
4341         * testsuite/elements/Makefile.am:
4342         * testsuite/enumcaps/Makefile.am:
4343         * testsuite/enumcaps/enumcaps.c:
4344         * testsuite/ghostpads/Makefile.am:
4345         * testsuite/indexers/Makefile.am:
4346         * testsuite/negotiation/Makefile.am:
4347         * testsuite/parse/Makefile.am:
4348         * testsuite/plugin/Makefile.am:
4349         * testsuite/refcounting/Makefile.am:
4350         * testsuite/schedulers/.cvsignore:
4351         * testsuite/states/Makefile.am:
4352         * testsuite/tags/Makefile.am:
4353         * testsuite/threads/Makefile.am:
4354           fold enumcaps into caps dir
4355           clean up Makefile.am's for testsuite
4356
4357 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4358
4359         * docs/gst/Makefile.am:
4360         * docs/libs/Makefile.am:
4361           clean up docs build.  Fixes needless rebuilding of template files.
4362
4363 2004-07-28  Wim Taymans  <wim@fluendo.com>
4364
4365         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
4366         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
4367         Make sure that a bin state change tries to keep the children
4368         in sync. 
4369         Added debug logging to the thread.
4370
4371 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
4372
4373         * win32/GStreamer.vcproj:
4374         * win32/gstreamer.def:
4375           more exports for the plugins
4376
4377 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
4378
4379         * win32/gstgetbits.vcproj:
4380         * win32/gstgetbits.def:
4381         * win32/msvc71.sln:
4382           add support for the getbits plugin
4383
4384 2004-07-27  Wim Taymans  <wim@fluendo.com>
4385
4386         * gst/gstvalue.c: (gst_value_transform_double_fraction),
4387         (gst_value_transform_fraction_double), (_gst_value_initialize):
4388         * testsuite/caps/Makefile.am:
4389         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
4390         (check_from_fraction_convert), (transform_test), (main):
4391         Added transform functions between double and fraction.
4392         Added testcase to verify transforms
4393
4394 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4395
4396         * win32/GStreamer.vcproj:
4397           rename GStreamer-0.8.lib to libgstreamer.lib
4398
4399 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4400
4401         * win32/gstelements.vcproj:
4402         * win32/gstoptimalscheduler.vcproj:
4403           fixes for the Release build
4404
4405 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4406
4407         * win32/config.h:
4408           update the version number
4409
4410 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4411
4412         * win32/GStreamer.vcproj:
4413           add gstinterface to the build
4414
4415 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4416
4417         * win32/gstreamer.def:
4418           add many definitions needed by plugins,
4419           GST_CAT_DEFAULT only available in the Debug build ?
4420
4421 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4422
4423         * gst/gstelement.c: (gst_element_set_eos_recursive):
4424           various whitespace fixes.
4425           doc fix, fixes #148497
4426
4427 2004-07-25  Benjamin Otte  <otte@gnome.org>
4428
4429         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
4430           don't delay links on the sink elements, it causes unnegotiated
4431           links.
4432         * gst/elements/gsttypefindelement.c:
4433         (gst_type_find_element_base_init):
4434           add our padtemplates, we indeed do have some.
4435         * gst/elements/gsttypefindelement.c:
4436         (gst_type_find_element_handle_event),
4437         (gst_type_find_element_chain):
4438           don't push data when typefinding failed.
4439         * gst/gstpad.c: (gst_pad_link_fixate):
4440           check that no fixate function returns empty caps.
4441         * gst/gstpad.c: (gst_pad_push):
4442           check that the link is negotiated before data gets pushed.
4443         * tools/gst-register.c: (main):
4444           don't assert (fixes #148283)
4445
4446 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
4447
4448         * docs/gst/gstreamer-sections.txt:
4449         * docs/gst/tmpl/gstconfig.sgml:
4450           add GST_PLUGIN_EXPORT definition
4451
4452 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
4453
4454         * gst/gstplugin.h:
4455         * gst/gstconfig.h.in:
4456         * win32/gstconfig.h:
4457         * win32/gstelements.def:
4458         * win32/gstelements.vcproj:
4459         * win32/gstoptimalscheduler.def:
4460         * win32/gstoptimalscheduler.vcproj:
4461         * win32/gstspider.def:
4462         * win32/gstspider.vcproj:
4463           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
4464
4465 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4466
4467         * docs/gst/gstreamer-sections.txt:
4468           remove GST_CAT_DEFAULT because the type has changed
4469
4470 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
4471
4472         * win32/gstbytestream.vcproj:
4473         * win32/gstelements.vcproj:
4474         * win32/gst-inspect.vcproj:
4475         * win32/gst-launch.vcproj:
4476         * win32/gstoptimalscheduler.vcproj:
4477         * win32/GStreamer.vcproj:
4478         * win32/gst-register.vcproj:
4479         * win32/gstspider.vcproj:
4480         * win32/msvc71.sln:
4481           Copy the files where needed after building, The testsuite will be
4482           built separately
4483
4484 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
4485
4486         * win32/config.h:
4487         * win32/README.txt:
4488         * docs/manual/win32.xml:
4489         Fixed the plugin and GStreamer location
4490
4491 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
4492
4493         * win32/gstreamer.def:
4494         More exports for the plugins
4495
4496 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
4497
4498         * gst/gstinfo.h:
4499         Marc was right, we need to export literally GST_CAT_DEFAULT
4500
4501 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
4502
4503         * win32/config.h:
4504         NLS crashes in gettext, disabled until this is solved
4505
4506 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
4507
4508         * win32/gst-inspect.vcproj:
4509         * win32/gst-launch.vcproj:
4510         Should use NLS when available
4511
4512 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
4513
4514         * gst/registries/gstxmlregistry.c:
4515         removing the file doesn't seem to be a good idea on Linux
4516
4517 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
4518
4519         * gst/registries/gstxmlregistry.c:
4520         Remove the registry before renaming the tempfile (needed for Windows)
4521
4522 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4523
4524         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
4525         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
4526         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
4527         * gst/elements/gstmultifilesrc.h:
4528         Added newmedia property so it generates newmedia events between each
4529         file when property is set, as well as fixed eos handling
4530
4531 2004-07-22  David Schleef  <ds@schleef.org>
4532
4533         * gst/gststructure.c: (gst_structure_id_empty_new),
4534         (gst_structure_empty_new):  Set type field correctly.
4535         * gst/gststructure.h: Check type field correctly.
4536         * testsuite/caps/Makefile.am:
4537         * testsuite/caps/structure.c: (test1), (main): Add a very small
4538         test for structures.
4539
4540 2004-07-22  David Schleef  <ds@schleef.org>
4541
4542         * docs/random/ds/0.9-suggested-changes: more comments
4543         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
4544
4545 2004-07-22  Benjamin Otte  <otte@gnome.org>
4546
4547         * gst/gstelementfactory.c: (gst_element_register):
4548           set the factory in the class struct, so gst_element_get_factory
4549           actually works
4550         * gst/parse/grammar.y:
4551           set element to playing when it gets unlocked as we can't rely on the
4552           bin state - all elements in the bin state might still be locked in
4553           NULL)
4554
4555 2004-07-22  Benjamin Otte  <otte@gnome.org>
4556
4557         * gst/gstelement.c: (gst_element_set_state_func):
4558           make this a static function
4559
4560 2004-07-22  Wim Taymans  <wim@fluendo.com>
4561
4562         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
4563         (gst_opt_scheduler_pad_link):
4564         fix 147894-2 and the group_link problem.
4565
4566 2004-07-22  Wim Taymans  <wim@fluendo.com>
4567
4568         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
4569         (handoff_identity), (main):
4570         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
4571         (handoff_identity), (main):
4572         * testsuite/schedulers/Makefile.am:
4573         * testsuite/schedulers/group_link.c: (main):
4574         Show bug in scheduler when linking chain and loop based element 
4575         where the chain based element was not yet in a group.
4576
4577 2004-07-21  Benjamin Otte  <otte@gnome.org>
4578
4579         * gst/.cvsignore:
4580         * gst/autoplug/.cvsignore:
4581         * gst/elements/.cvsignore:
4582         * gst/indexers/.cvsignore:
4583         * libs/gst/bytestream/.cvsignore:
4584         * libs/gst/control/.cvsignore:
4585         * libs/gst/getbits/.cvsignore:
4586         * testsuite/states/.cvsignore:
4587         * testsuite/threads/.cvsignore:
4588           keep this up to date, since I seem to be the only one who cares
4589           about not missing files on commits (editor's note: no you don't,
4590           but feel free to change them at the time you add stuff instead
4591           of later on)
4592
4593 2004-07-21  Benjamin Otte  <otte@gnome.org>
4594
4595         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
4596         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
4597         (gst_bin_child_state_change_func), (set_kid_state_func),
4598         (gst_bin_set_state), (gst_bin_change_state_norecurse):
4599           make state changes work correctly and reentrant (so removing
4600           elements from bins during state changes of bins doesn't cause
4601           segfaults or even wrong states)
4602           add debugging category and debugging output to print children states
4603         * gst/gstbin.c: (gst_bin_dispose): 
4604           add some assertion checks
4605         * gst/gstbin.h:
4606         * gst/gstbin.c: (gst_bin_sync_children_state):
4607           deprecate this function - it just does gst_bin_set_state (bin,
4608           GST_STATE (bin)) 
4609         * testsuite/threads/queue.c: (main):
4610           don't use gst_bin_sync_children_state anymore
4611         * testsuite/states/Makefile.am:
4612         * testsuite/states/bin.c:
4613           test that the state changes of bins work as expected
4614         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
4615           some adjustments to change states correctly, too
4616         * gst/gstthread.c: (gst_thread_change_state):
4617           don't enable/disable "threadsafe" properties, they're unused and
4618           cause random segfaults
4619         * testsuite/threads/Makefile.am:
4620           the queue check randomly passes now, ignore it
4621
4622 2004-07-21  Benjamin Otte  <otte@gnome.org>
4623
4624         * gst/gstpad.c:
4625           check if data is NULL before outputting debug info. (fixes #145100)
4626
4627 2004-07-21  Benjamin Otte  <otte@gnome.org>
4628
4629         * gst/schedulers/entryscheduler.c:
4630         (gst_entry_scheduler_loop_wrapper),
4631         (gst_entry_scheduler_chain_wrapper),
4632         (gst_entry_scheduler_get_wrapper):
4633           reset the state when the cothread starts, so we don't get assertion
4634           failures on restarting of cothreads
4635
4636 2004-07-20  Benjamin Otte  <otte@gnome.org>
4637
4638         * gst/gstelement.c: (gst_element_link_pads_filtered):
4639           use correct sinkpad, if only sinkpad is specified, but not srcpad
4640           (fixes #147889)
4641         * gst/gstelement.c: (gst_element_set_state_func),
4642         (gst_element_change_state): ref/unref the element, signal handlers
4643         could get rid of the element otherwise
4644
4645 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
4646
4647         * docs/random/ds/0.9-suggested-changes:
4648           Make note about renaming fixed-list to array.
4649         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
4650         (_gst_value_initialize):
4651           Add array intersections.
4652         * testsuite/caps/intersect2.c: (main):
4653           Add test for array intersections.
4654
4655 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4656
4657         * configure.ac: back to cvs
4658
4659 === release 0.8.4 ===
4660
4661 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4662
4663         * configure.ac:
4664           releasing 0.8.4, "Paella"
4665           bump libtool versioning
4666
4667 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4668
4669         * po/LINGUAS:
4670         * po/ca.po:
4671           adding Catalan translation (Jordi Mallach)
4672
4673 2004-07-20  Wim Taymans  <wim@fluendo.com>
4674
4675         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
4676         (handoff_identity), (main):
4677         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
4678         (handoff_identity), (main):
4679         * testsuite/schedulers/Makefile.am:
4680         Added failing testcase for variant of #147894
4681
4682 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4683
4684         patch by: David Moore
4685
4686         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
4687         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
4688         (group_migrate_connected):
4689         * testsuite/schedulers/Makefile.am:
4690           fix for #142813 (Deadlock in optimal scheduler)
4691
4692 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4693
4694         patch by: Wim Taymans
4695
4696         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
4697         (gst_opt_scheduler_schedule_run_queue),
4698         (gst_opt_scheduler_get_wrapper), (get_group),
4699         (group_migrate_connected):
4700         * testsuite/schedulers/Makefile.am:
4701           fix for #147819 (Add some checks in the opt scheduler)
4702
4703 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4704
4705         patch by: Benjamin Otte
4706
4707         * gst/gstelementfactory.c: (__gst_element_details_set):
4708           fix for #147929: running gst-register in non-utf8 locale can cause
4709           invalid registry
4710
4711 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4712
4713         patch by: Wim Taymans
4714
4715         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
4716         (group_has_element), (element_get_reachables_func),
4717         (group_migrate_connected):
4718           fix for #147894 (opt scheduler decoupled elements mismanagement)
4719         * testsuite/schedulers/Makefile.am:
4720           testsuite app now passes
4721
4722 2004-07-19  Wim Taymans  <wim@fluendo.com>
4723
4724         * testsuite/schedulers/147819.c: (handoff_identity1),
4725         (handoff_identity2), (main):
4726         * testsuite/schedulers/Makefile.am:
4727         Added testcase for bug 147819
4728
4729 2004-07-19  Wim Taymans  <wim@fluendo.com>
4730
4731         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
4732         (handoff_identity), (main):
4733         * testsuite/schedulers/Makefile.am:
4734         Added testcase for bug 147894
4735
4736 2004-07-16  Wim Taymans  <wim@fluendo.com>
4737
4738         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
4739         * testsuite/schedulers/142183.c: (handoff_identity), (main):
4740         * testsuite/schedulers/Makefile.am:
4741         Added testsuite for bug 142183 in its two incarnations. Refcount
4742         is not increased for scheduled elements and threadsafe properties
4743         mutexes are not properly unlocked.
4744
4745 2004-07-16  Wim Taymans  <wim@fluendo.com>
4746
4747         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
4748         (create_chain), (destroy_chain), (create_group), (destroy_group),
4749         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
4750         (group_dec_link), (gst_opt_scheduler_pad_link),
4751         (group_inc_links_for_element), (group_migrate_connected):
4752         Call group_inc_link with the proper src->sink ordering -- 
4753         break this, and we break sort_chain. patch from wingo for bug
4754         147713.
4755         Partially revert patch 1.89. When adding a loop based element to 
4756         the scheduler, the links to other groups are automatically followed
4757         and incremented. This should not happen because the bin will call
4758         pad_link explicitly for those connection, resulting in them counted 
4759         twice. Results in assertion failure on pipeline cleanup.
4760
4761 2004-07-16  Wim Taymans  <wim@fluendo.com>
4762
4763         * testsuite/schedulers/143777-2.c: (main):
4764         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
4765         (main):
4766         * testsuite/schedulers/Makefile.am:
4767         Added cleanup code to testcase 143777-2.
4768         Added testcase to show bug 147713, does not really show the
4769         deadlock as I can't figure out how to trigger it, but it does
4770         demonstrate bad ordering in the scheduler.
4771
4772 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4773
4774         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4775           change strndup to g_strndup.  Fixes #147707
4776
4777 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4778
4779         * po/af.po:
4780         * po/az.po:
4781         * po/cs.po:
4782         * po/en_GB.po:
4783         * po/fr.po:
4784         * po/nl.po:
4785         * po/sr.po:
4786         * po/sv.po:
4787         * po/tr.po:
4788         * po/uk.po:
4789           updated translations
4790
4791 2004-07-16  Benjamin Otte  <otte@gnome.org>
4792
4793         * gst/gstvalue.c: (gst_greatest_common_divisor):
4794           use ints and return ints, fractions only use ints, too, so this
4795           avoids accidently casting multiplications to unsigned
4796         (gst_value_lcopy_fraction): it's ints, not uint32
4797         (gst_value_set_fraction): disallow minint, multiplying and negation
4798           are broken with it
4799         (gst_value_fraction_multiply): fix to make large numbers work and get
4800         rid of the assumption that the multiplication of two ints fits an
4801         int64 - dunno if that's true for all systems
4802         * testsuite/caps/Makefile.am:
4803         * testsuite/caps/fraction-multiply-and-zero.c:
4804         (check_multiplication), (check_equal), (zero_test), (main):
4805           add tests for all the stuff above
4806         * testsuite/caps/value_compare.c: (test1):
4807           fix comment
4808         * tests/.cvsignore:
4809         * testsuite/caps/.cvsignore:
4810         * testsuite/debug/.cvsignore:
4811         * testsuite/dlopen/.cvsignore:
4812         * testsuite/states/.cvsignore:
4813           get up to date
4814
4815 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4816
4817         * docs/manual/bins-api.xml:
4818         * docs/manual/factories.xml:
4819         * docs/manual/helloworld.xml:
4820         * docs/manual/links-api.xml: 
4821           fixes for out of date info, incorrect info and grammar
4822
4823 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4824
4825         * docs/manual/pads.xml:
4826         * docs/manual/pads-api.xml: grammar fix
4827
4828 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4829
4830         * docs/manual/pads-api.xml: typo + grammar fix
4831
4832 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4833
4834         * docs/gst/gstreamer-sections.txt:
4835           add new symbols
4836         * docs/gst/tmpl/gstelement.sgml:
4837         * docs/gst/tmpl/gstpad.sgml:
4838         * docs/gst/tmpl/gsttypes.sgml:
4839         * docs/gst/tmpl/gstvalue.sgml:
4840           update docs
4841         * gst/gststructure.c: (gst_structure_set_valist),
4842         (gst_structure_from_abbr), (gst_structure_to_abbr):
4843         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
4844         (gst_greatest_common_divisor), (gst_value_init_fraction),
4845         (gst_value_copy_fraction), (gst_value_collect_fraction),
4846         (gst_value_lcopy_fraction), (gst_value_set_fraction),
4847         (gst_value_get_fraction_numerator),
4848         (gst_value_get_fraction_denominator),
4849         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
4850         (gst_value_deserialize_fraction),
4851         (gst_value_transform_fraction_string),
4852         (gst_value_transform_string_fraction),
4853         (gst_value_compare_fraction), (_gst_value_initialize):
4854         * gst/gstvalue.h:
4855           adding GstFraction GValue type, get/set, and multiply
4856         * testsuite/caps/Makefile.am:
4857         * testsuite/caps/fraction.c: (test), (main):
4858         * testsuite/caps/string-conversions.c: (main):
4859         * testsuite/caps/value_compare.c: (test1), (main):
4860           add regression tests for GstFraction
4861
4862 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4863         
4864         * docs/manual/init-api.xml: Grammar fix
4865
4866 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4867
4868         * docs/manual/states.xml: Fix inconsistent information
4869
4870 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4871
4872         * gst/gstelement.c: (gst_element_set_state):
4873         * gst/gstpad.c: (gst_pad_try_set_caps):
4874         * gst/gststructure.c:
4875         * gst/gstthread.c: (gst_thread_child_state_change):
4876         * gst/gstvalue.c: (gst_value_compare_double):
4877         * gst/gstvalue.h:
4878         * testsuite/parse/parse1.c: (main):
4879           debugging additions and style cleanups
4880
4881 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4882
4883         * docs/manual/states.xml: Grammar fix
4884
4885 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4886
4887         * docs/manual/pads.xml: Grammar fix
4888
4889 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4890
4891         * docs/manual/elements.xml: Fixed image reference
4892
4893 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4894
4895         * docs/manual/goals.xml: Grammar fix
4896
4897 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4898
4899         * docs/manual/motivation.xml:
4900         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
4901
4902 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4903
4904         * docs/manual/motivation.xml: Fix spelling
4905
4906 2004-07-15  Benjamin Otte  <otte@gnome.org>
4907
4908         * gst/gstelement.h: 
4909           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
4910           strings.
4911         * gst/gstelement.c (gst_element_class_init):
4912           GError's are boxed, not objects
4913         * gst/gstmarshal.list:
4914           update list for the fixed error signal
4915
4916 2004-07-14  Andy Wingo  <wingo@pobox.com>
4917
4918         * gst/gsttag.c: Add a tag merge func for pointers. The header was
4919         there all along, but the function wasn't. (guile-gstreamer's build
4920         system uses the address of the function -- I wasn't actually
4921         trying to use this.)
4922
4923 2004-07-14  Andy Wingo  <wingo@pobox.com>
4924
4925         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
4926         as gst_pad_proxy_pad_link) just link to every other pad when they
4927         are called. In the case where the graph has cycles, this will mean
4928         that a call to try_set_caps will recurse. Allow this recursion
4929         and return OK, while we wait for the first try_set_caps to give a
4930         proper return value.
4931         (gst_pad_link_call_link_functions): Since this function is the
4932         only one to set the NEGOTIATING flag on a pad, if the flag is set
4933         it means that the link functions have indirectly recursed. If this
4934         happens, error out to avoid infinite recursion and an eventual
4935         SEGV.
4936         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
4937         (gst_pad_proxy_getcaps): Intersect the result with the template
4938         caps to ensure that the return value is valid.
4939
4940 2004-07-14  Andy Wingo  <wingo@pobox.com>
4941
4942         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
4943         one refcount, the calling function is the owner of the buffer.
4944
4945 2004-07-14  Wim Taymans  <wim@fluendo.com>
4946
4947         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
4948         (gst_opt_scheduler_pad_link), (group_migrate_connected):
4949         Fix stupid warning when an element is to be migrated but
4950         is already migrated.
4951
4952 2004-07-14  Wim Taymans  <wim@fluendo.com>
4953
4954         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
4955         (gst_opt_scheduler_pad_link), (group_migrate_connected):
4956         Make sure that a single non-loop-based element does not 
4957         end up in a group. This fixes the testsuite again.
4958
4959 2004-07-14  Wim Taymans  <wim@fluendo.com>
4960
4961         * gst/schedulers/gstoptimalscheduler.c: (create_group),
4962         (add_to_group), (merge_groups), (schedule_group),
4963         (gst_opt_scheduler_get_wrapper), (group_elements),
4964         (group_dec_link), (gst_opt_scheduler_pad_link),
4965         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
4966         (gst_opt_scheduler_iterate):
4967         move isolated groups to a new chain.
4968         Emit a warning instead of segfaulting in some error cases.
4969         Fix a bug where the link count between groups was not calculated 
4970         correctly. Fixes #144510.
4971
4972 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
4973         * gst/elements/gstfilesrc.c:
4974           Binary files support under Windows now OK
4975       
4976 2004-07-13  Benjamin Otte  <otte@gnome.org>
4977
4978           compatibility fixes for Solaris 8/gcc 2.95
4979         * configure.ac:
4980           include libintl libs in LDFLAGS
4981         * gstvalue.c (gst_value_deserialize_buffer):
4982           cast isxdigit stuff to int to silence compiler warning
4983
4984 2004-07-12  Benjamin Otte  <otte@gnome.org>
4985
4986         * gst/gsttypes.h:
4987           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
4988           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
4989           just causes support madness
4990         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
4991           make it work without this
4992         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
4993         (gst_file_index_commit):
4994           glib IO channels don't want binary mode
4995         * testsuite/bytestream/filepadsink.c: (main):
4996         * testsuite/bytestream/test1.c: (read_param_file):
4997           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
4998
4999 2004-07-12  Benjamin Otte  <otte@gnome.org>
5000
5001         * gst/gstelement.c: (gst_element_class_init),
5002         (gst_element_set_state), (gst_element_set_state_func):
5003           virutalize gst_element_set_state, use set_state member in class
5004           struct that was already added in 0.7 for this.
5005         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
5006         (gst_bin_change_state):
5007           make gst_bin_foreach works similar to other foreach functions, plug
5008           memleaks in it. Make functions using it work with the new approach.
5009           Document gst_bin_foreach, so it can be exported if we want to
5010         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
5011           use virtualized set_state to make set_state on bins set the state of
5012           all its children.
5013
5014 2004-07-12  Benjamin Otte  <otte@gnome.org>
5015
5016         * configure.ac:
5017           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
5018           http://bugs.gentoo.org/show_bug.cgi?id=53967)
5019         * gst/gstpad.c: (gst_pad_alloc_buffer):
5020           allow buffer_alloc functions to return NULL and allocate a normal
5021           buffer in that case
5022
5023 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5024         * gst/elements/gstfilesink.c:
5025         * gst/elements/gstfilesrc.c:
5026         * gst/indexers/gstfileindex.c:
5027         * gst/gsttypes.h:
5028         * testsuite/bytestream/filepadsink.c:
5029         * testsuite/bytestream/test1.c:
5030           Handle binary files under Windows
5031
5032 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5033         * docs/manual/win32.xml:
5034         * win32/config.h:
5035         * win32/gst-register.vcproj:
5036         * win32/gstreamer.def:
5037           Update to another gettext public build
5038
5039 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5040         * gst/gstplugin.c:
5041           Fix an impossible C syntax
5042         * win32/config.h:
5043           Disable i18n under Windows for the moment
5044         * win32/gst-register.vcproj:
5045           Use this configuration
5046
5047 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
5048         * docs/manual/quotes.xml:
5049           Keep the quotes file alive
5050         * docs/random/ds/0.9-suggested-changes:
5051           Add the suggestion of including a 'rowstride' as part of video
5052           format caps
5053
5054 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5055
5056         * gst/gstelement.c: (gst_element_set_state),
5057         (gst_element_change_state):
5058           d'oh.  Set PENDING state correctly before forcing bin to change.
5059         * gst/gststructure.c: (gst_structure_value_get_generic_type),
5060         (gst_structure_parse_fixed_list):
5061         * gst/schedulers/gstoptimalscheduler.c:
5062         (gst_opt_scheduler_state_transition):
5063         * testsuite/states/parent.c: (main):
5064           remove comment now that it's fixed.
5065
5066 2004-07-11  Benjamin Otte  <otte@gnome.org>
5067
5068         * gst/gstclock.h:
5069           GST_SECOND shouldn't cause a conversion to unsigned.
5070         * testsuite/clock/.cvsignore:
5071         * testsuite/clock/Makefile.am:
5072         * testsuite/clock/signedness.c: (main):
5073           make sure it never will again
5074
5075 2004-07-11  Andy Wingo  <wingo@pobox.com>
5076
5077         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
5078         whose state is higher than the bin state, raise the bin state to
5079         ensure that bin state := highest child state.
5080         
5081 2004-07-11  Andy Wingo  <wingo@pobox.com>
5082
5083         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
5084         procedure on the children of a bin. Assumes that the procedure can
5085         change the set of children.
5086         (set_kid_state_func): New static function.
5087         (gst_bin_change_state): Use gst_bin_foreach to call
5088         set_kid_state_func. Fixes a bug: if a child had a state-change
5089         handler that removes it from the bin, there would be a segfault.
5090         Hopefully it should also work in the case where the state-change
5091         handler on one child adds or removes other children. In any case,
5092         fixes should go to gst_bin_foreach.
5093
5094 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * gst/gstelement.c: (gst_element_set_state):
5097           compatibility fix for latest plugins release.  Change loop back
5098           to while {}
5099
5100 2004-07-09  Wim Taymans  <wim@fluendo.com>
5101
5102         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
5103         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
5104         (gst_thread_main_loop):
5105         Since remove is virtual in GstBin we must not assume the 
5106         elements GList to have anothing useful.
5107         Add some more logging to GstThread and be a bit more paranoid
5108         when resetting the scheduler.
5109         Set the state of the bin to NULL before removing the children.
5110
5111 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5112
5113         * testsuite/threads/Makefile.am:
5114         * testsuite/threads/threadg.c:
5115           added test to check if problem when removing all elements from a
5116           GstThread before setting GstThread state to NULL
5117
5118 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5119
5120         * docs/gst/tmpl/gstelement.sgml:
5121         * docs/gst/tmpl/gsttypes.sgml:
5122         * gst/gstbin.c: (gst_bin_change_state):
5123         * gst/gstelement.c: (gst_element_set_state),
5124         (gst_element_change_state):
5125           rework so that for bins we try to set the state on all children
5126           as well even if the bin is in the correct state already.
5127           change while to do so at least one iteration is done.
5128           For regular elements, we fall back to the previous behaviour for
5129           now since we first need a new plugins release.
5130         * testsuite/states/parent.c: (main):
5131           test for this case
5132           Fixes #123774
5133
5134 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5135
5136         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
5137         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
5138         (gst_queue_release_locks), (gst_queue_change_state),
5139         (gst_queue_set_property):
5140           add proper lock debugging.  Change dispose to finalize, since
5141           we're freeing mutexes and other stuff which should happen only once.
5142
5143 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5144
5145         * docs/gst/tmpl/gstelement.sgml:
5146         * docs/gst/tmpl/gstplugin.sgml:
5147         * docs/gst/tmpl/gsttypes.sgml:
5148         * docs/pwg/building-state.xml:
5149         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
5150         * gst/gstelement.c: (gst_element_change_state):
5151         * gst/gstthread.c: (gst_thread_change_state):
5152           catch wrong state changes in element base class.
5153
5154 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5155
5156         * gst/gstinfo.h:
5157           clean up layout a little.
5158
5159 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5160
5161         * configure.ac:
5162         * testsuite/Makefile.am:
5163         * testsuite/states/Makefile.am:
5164         * testsuite/states/parent.c: (main):
5165           re-enable states testsuite dir.  Add test for state changes and
5166           parent behaviour
5167
5168 2004-07-09  Wim Taymans  <wim@fluendo.com>
5169
5170         * gst/schedulers/gstoptimalscheduler.c:
5171         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
5172         (element_get_reachables_func), (element_get_reachables),
5173         (debug_element), (rechain_group), (group_migrate_connected),
5174         (gst_opt_scheduler_pad_unlink):
5175         Do not try to migrate decoupled elements to a new group since
5176         they are not added to groups.
5177
5178 2004-07-08  Benjamin Otte  <otte@gnome.org>
5179
5180         * gst/gstelement.c: (gst_element_error_func):
5181           make reentrant (= allow removing elements in error handler)
5182
5183 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5184
5185         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5186         (gst_pad_send_event), (gst_pad_call_chain_function):
5187           events sent to elements below PAUSED cannot be handled, so
5188           don't try to
5189
5190 2004-07-08  Wim Taymans  <wim@fluendo.com>
5191
5192         * gst/schedulers/gstoptimalscheduler.c:
5193         (chain_recursively_migrate_group), (create_group),
5194         (schedule_group), (gst_opt_scheduler_pad_link),
5195         (group_elements_set_visited), (element_get_reachables_func),
5196         (element_get_reachables), (group_can_reach_group), (debug_element),
5197         (rechain_group), (group_migrate_connected),
5198         (gst_opt_scheduler_pad_unlink):
5199         * testsuite/schedulers/Makefile.am:
5200         Implemented group splitting and rechaining.
5201         Fixes 143777 and 143777-2 in the testsuite.
5202
5203 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5204
5205         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5206           extra debugging
5207         * gst/gstevent.h:
5208         * gst/gstinfo.c: (gst_debug_log_default):
5209           print time nicely.  add thread pointer until someone figures out
5210           a completely portable way of getting at thread id's.
5211         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
5212         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
5213         (gst_pad_call_chain_function):
5214           extra debugging
5215         * gst/schedulers/gstoptimalscheduler.c:
5216         (get_group_schedule_function), (loop_group_schedule_function),
5217         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5218         (pad_clear_queued), (gst_opt_scheduler_iterate):
5219           rename BUFPEN and friends to DATAPEN since that's what they are.
5220
5221 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5222
5223         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5224         * gst/gstbuffer.h:
5225         * gst/gstpad.c:
5226           cleanups and debugging
5227
5228 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5229
5230         * configure.ac:
5231         * gst/gstvalue.c: (gst_value_compare_enum),
5232         (gst_value_serialize_enum), (gst_value_deserialize_enum),
5233         (gst_value_can_compare), (gst_value_compare):
5234         * testsuite/Makefile.am:
5235         * testsuite/enumcaps/Makefile.am:
5236         * testsuite/enumcaps/enumcaps.c:
5237           Fix enum serialization, deserialization, comparison in caps, add
5238           a test to ensure that this continues working in the future.
5239
5240 2004-07-06  David Schleef  <ds@schleef.org>
5241
5242         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5243         Fix memleak.
5244
5245 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5246
5247         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
5248         * gst/gstplugin.h:
5249         * gst/registries/gstxmlregistry.c:
5250         (plugin_times_older_than_recurse), (plugin_times_older_than),
5251         (gst_xml_registry_parse_padtemplate):
5252           only rebuild registry when actual plugins have a newer time than
5253           the registry.  Fixes #145520
5254
5255 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5256
5257         * docs/manual/manual.xml:
5258         * docs/manual/win32.xml:
5259           add chapter on win32 building.  fixes #142422
5260
5261 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5262
5263         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
5264
5265         * gst/autoplug/gstspider.c: (gst_spider_init),
5266         (gst_spider_dispose):
5267           fix spider memleaks.  fixes #137863
5268
5269 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5270
5271         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
5272
5273         * gst/schedulers/gstoptimalscheduler.c:
5274         (gst_opt_scheduler_pad_unlink):
5275           fix SIGBUS error, fixes #145338
5276
5277 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5278
5279         * gst/gstobject.c: (gst_object_replace):
5280         * gst/gstscheduler.c: (gst_scheduler_get_clock):
5281         * gst/gstsystemclock.c: (gst_system_clock_obtain):
5282           clean up clock lifecycle.  Fixes #109831
5283
5284 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5285
5286         * po/LINGUAS:
5287         * po/cs.po:
5288           added Czech translation (Miloslav Trmac)
5289
5290 2004-07-04  David Schleef  <ds@schleef.org>
5291
5292         * tools/Makefile.am:
5293         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
5294
5295 2004-07-04  David Schleef  <ds@schleef.org>
5296
5297         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
5298
5299 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5300
5301         * gst/gstbin.c: (gst_bin_restore_thyself):
5302           chain to parent restore so the bins get restored correctly
5303           in the editor
5304
5305 2004-07-03  David Schleef  <ds@schleef.org>
5306
5307         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5308         Actually do something in these functions, like before the big
5309         caps change.  (bug #145137)
5310
5311 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5312
5313         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
5314         (gst_element_get_compatible_pad_filtered):
5315         * gst/gstthread.c: (gst_thread_main_loop):
5316           more debugging
5317
5318 2004-07-02  David Schleef  <ds@schleef.org>
5319
5320         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
5321         * gst/gstobject.h:
5322         * gst/gstparse.h:
5323         * gst/gsttrace.h:
5324         * gst/gstxml.h:
5325
5326 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5327
5328         * gst/gstpad.c: (gst_pad_check_schedulers),
5329         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
5330         (gst_pad_link_prepare):
5331           revert until testsuite is fixed
5332
5333 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5334
5335         * testsuite/Makefile.am:
5336         * testsuite/caps/filtercaps.c: (main):
5337         * testsuite/clock/clock1.c: (main):
5338         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
5339           fix some more tests
5340
5341 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5342
5343         * testsuite/cleanup/cleanup1.c: (create_pipeline):
5344         * testsuite/cleanup/cleanup2.c: (create_pipeline):
5345         * testsuite/cleanup/cleanup4.c: (main):
5346           fix testsuite
5347
5348 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5349
5350         * libs/gst/control/control.c:
5351         * libs/gst/control/dparam.c:
5352         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
5353         * libs/gst/control/dparammanager.c:
5354         * libs/gst/control/dparammanager.h:
5355         * testsuite/dynparams/Makefile.am:
5356         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
5357         (gst_dptest_change_state), (gst_dptest_chain), (main):
5358           fix testcase for dparams
5359           add debugging category
5360
5361 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5362
5363         * testsuite/Rules:
5364           change path
5365
5366 2004-07-02  Benjamin Otte  <otte@gnome.org>
5367
5368         * tests/.cvsignore:
5369         * tests/Makefile.am:
5370         * tests/mass_elements.c: (gst_get_current_time), (main):
5371           add simple benchmark to test various speeds of fakesrc ! identity !
5372           identity ! ... ! fakesink.
5373           Usage: mass_elements [num_identities] [num_buffers]
5374           If not specified they default to 1000.
5375
5376 2004-07-02  Benjamin Otte  <otte@gnome.org>
5377
5378         * gst/gstpad.c: (gst_pad_check_schedulers),
5379         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
5380         (gst_pad_link_prepare):
5381           check that pads that get linked belong to the same manager. The old
5382           code allowed linking elements before putting them into bins, so it
5383           worked to link them and then put them in different threads, which
5384           lead to weird behaviour.
5385           Since this effectively disallows linking elements before putting
5386           them in a bin, some applications might not work after this and error
5387           out. If these applications are too critical, we might need to revert
5388           that patch. Please test this before the next release...
5389
5390 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5391
5392         * gst/gstpad.c: (gst_pad_get_caps):
5393           throw an error if the getcaps function does not return a subset of
5394           the template caps.
5395         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
5396           make disconts without position info an error in debugging
5397         * tests/spidey_bench.c: (handoff), (main):
5398           don't count first try when averaging
5399
5400 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5401
5402         * gst/gstplugin.c: (gst_plugin_load_file):
5403           figure out problem with dynamic test
5404
5405 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5406
5407         * docs/gst/Makefile.am:
5408           fix docs build
5409
5410 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5411
5412         * po/POTFILES.in:
5413         * po/af.po:
5414         * po/az.po:
5415         * po/en_GB.po:
5416         * po/fr.po:
5417         * po/nl.po:
5418         * po/sr.po:
5419         * po/sv.po:
5420         * po/tr.po:
5421         * po/uk.po:
5422         * tools/gst-register.c: (plugin_added_func), (main):
5423           i18n-ize -register, fix plural
5424
5425 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5426
5427         * gst/elements/gstidentity.c: (gst_identity_class_init),
5428         (gst_identity_init), (gst_identity_chain),
5429         (gst_identity_set_property), (gst_identity_get_property):
5430         * gst/elements/gstidentity.h:
5431           check for perfect stream
5432
5433 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5434
5435         * gst/elements/gstidentity.c: (gst_identity_chain):
5436           print offset_end
5437
5438 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5439
5440         * docs/gst/Makefile.am:
5441         * docs/gst/gstreamer-docs.sgml:
5442           doc fixes
5443
5444 2004-06-24  David Schleef  <ds@schleef.org>
5445
5446         * autogen.sh:  Remove call to env, since the buildbot isn't
5447         broken anymore.
5448
5449 2004-06-24  Wim Taymans  <wim@fluendo.com>
5450
5451         * gst/elements/Makefile.am:
5452         * gst/elements/gstelements.c:
5453         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
5454         (gst_multifdsink_class_init), (gst_multifdsink_init),
5455         (gst_multifdsink_add), (gst_multifdsink_remove),
5456         (gst_multifdsink_clear), (gst_multifdsink_chain),
5457         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
5458         * gst/elements/gstmultifdsink.h:
5459         Added an element that writes to multiple filedescriptors at once.
5460
5461 2004-06-24  Benjamin Otte  <otte@gnome.org>
5462
5463         * gst/parse/grammar.y:
5464           don't try to link elements before they have been added to bins
5465
5466 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5467
5468         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
5469         (gst_file_pad_get_length):
5470         * libs/gst/bytestream/filepad.h:
5471           add 2 new functions
5472
5473 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5474
5475         * docs/gst/gstreamer-sections.txt:
5476         remove from docs, the define that Benjamin removed from gstelement.h
5477
5478 2004-06-22  Benjamin Otte  <otte@gnome.org>
5479
5480         * gst/gstelement.h:
5481           remove define that referenced a nonexisting GstElement struct member
5482
5483 2004-06-20  Benjamin Otte  <otte@gnome.org>
5484
5485         * gst/gstdata.c: (gst_data_is_writable):
5486           whoops, return values were wrong, so writable data was marked as
5487           non-writable and vice versa. (fixes #143953, spotted by Francis
5488           Labonte)
5489           Shows how rarely we need to copy data ;)
5490
5491 2004-06-20  Benjamin Otte  <otte@gnome.org>
5492
5493         * testsuite/schedulers/.cvsignore:
5494         * testsuite/schedulers/Makefile.am:
5495         * testsuite/schedulers/143777-2.c: (main):
5496           add test for opt breakage in bug #143777
5497
5498 2004-06-20  Benjamin Otte  <otte@gnome.org>
5499
5500         * gst/gstpad.c: (gst_pad_call_chain_function):
5501           check for if we were unlinked while inside the chainfunction (fixes
5502           entrygthread having issues with #143777)
5503         * testsuite/schedulers/143777.c: (main):
5504         * testsuite/schedulers/Makefile.am:
5505           add a test for that fix
5506
5507 2004-06-20  Benjamin Otte  <otte@gnome.org>
5508
5509         * gst/gstvalue.c: (gst_value_set_int_range):
5510           test that start is smaller then end
5511         * libs/gst/bytestream/Makefile.am:
5512         * libs/gst/bytestream/filepad.c: 
5513         * libs/gst/bytestream/filepad.h:
5514           add GstFilePad - a pad that behaves like a FILE*
5515         * testsuite/bytestream/.cvsignore:
5516         * testsuite/bytestream/Makefile.am:
5517         * testsuite/bytestream/filepadsink.c: 
5518           test for the GstFilePad
5519
5520 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5521
5522         * gst/elements/gstidentity.c: (gst_identity_class_init),
5523         (gst_identity_init), (gst_identity_set_clock),
5524         (gst_identity_chain), (gst_identity_set_property),
5525         (gst_identity_get_property):
5526         * gst/elements/gstidentity.h:
5527         * gst/gstclock.c: (gst_clock_id_wait):
5528           add a "sync" property to sync to the clock
5529
5530 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5531
5532         * gst/gstelementfactory.c: (gst_element_factory_create):
5533           make the freakin "elementfactory bla has no type" message more
5534           useful. So we actually can do something when someone shows up
5535           complaining about it.
5536
5537 2004-06-15  Johan Dahlin  <johan@gnome.org>
5538
5539         * tools/gst-inspect.c (main): Fallback to plugin if no element is
5540         found. This matches the old behavior better. Thanks to Thomas for
5541         pointing out.
5542
5543 2004-06-14  David Schleef  <ds@schleef.org>
5544
5545         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
5546         -fomit-frame-pointer.  Appears to generate correct code in
5547         other cases as well.
5548
5549 2004-06-14  Johan Dahlin  <johan@gnome.org>
5550
5551         * tools/gst-inspect.c (main): Add two new command line options: -a
5552         to print all elements and -n to print the name on each line. Also
5553         fix some error reporting.
5554         (main): Simplify, remove -n and always print names if -a is specified
5555
5556 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
5557
5558         * win32/gstconfig.h:
5559         * win32/GSTreamer.vcproj:
5560         * win32/Makefile:
5561         * gst/gstconfig.h.in:
5562         * gst/gst.h:
5563         * gst/gstbin.h:
5564         * gst/gstelement.h:
5565         * gst/gstevent.h:
5566         * gst/gstobject.h:
5567         * gst/gstpad.h:
5568         * docs/gst/gstreamer-sections.txt:
5569         * docs/gst/tmpl/gstconfig.sgml:
5570           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
5571
5572 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
5573         * docs/gst/gstreamer-sections.txt:
5574         * docs/gst/tmpl/gstconfig.sgml:
5575         Add the GSTREAMER_EXPORT macro to the docs
5576
5577 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
5578
5579         * tools/gst-compprep.c: (handle_xmlerror), (main):
5580         Add a check for the version that introduced SetStructuredError to fix
5581         the build on FC1
5582
5583 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
5584
5585         * win32/msvc71.sln:
5586         * win32/testsuite/:
5587           prepare to compile the testsuite with MSVC
5588
5589 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
5590
5591         * docs/manual/win32.xml:
5592           attempt to transform the Win32 README into an XML doc
5593
5594 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
5595
5596         * gst/gst.c:
5597         * gst/gstbin.*:
5598         * gst/config.h.in:
5599         * gst/gstelement.*:
5600         * gst/gstevent.h:
5601         * gst/gstobject.*:
5602         * gst/gstpad.h:
5603         * tools/gst-register.c:
5604         * win32/gstreamer.def:
5605           extern symbols are now exported for the Windows DLL
5606
5607 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
5608
5609         * gst/gstinfo.h:
5610           fix a problem to enable/disable DEBUG under MSVC
5611
5612 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
5613
5614         * win32/:
5615           enable more debug code in DEBUG build
5616
5617 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
5618
5619         * win32/config.h:
5620         * gst/gst-i18n-app.h:
5621           enable NLS under Windows
5622
5623 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
5624         * tools/gst-compprep.c: (handle_xmlerror), (main):
5625           Make an error that baffled me a bit clearer
5626
5627 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5628
5629         * gst/gstqueue.c:
5630           don't use g_queue_get_length () because it's 2.4, use ->length
5631
5632 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
5633
5634         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
5635
5636         * tools/gst-inspect.c: (print_signal_info):
5637           don't free random data twice. (fixes #144185)
5638
5639 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5640
5641         * gst/gstqueue.c:
5642         * gst/gstqueue.h:
5643           fix removing from the wrong queue on event timeout
5644           fix disposing of the event queue by casting correctly
5645           add mutexes for handling the event queue
5646           someone was sleeping when fixing queue last time around :)
5647
5648 2004-06-10  Johan Dahlin  <johan@gnome.org>
5649
5650         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
5651         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
5652
5653 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5654
5655         * docs/random/gdp:
5656         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
5657         * libs/gst/dataprotocol/dataprotocol.c:
5658         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5659         (gst_dp_buffer_from_header):
5660         * libs/gst/dataprotocol/dataprotocol.h:
5661         * libs/gst/dataprotocol/dp-private.h:
5662           rev version to 0.1, add buffer flags and copy them
5663
5664 2004-06-09  Johan Dahlin  <johan@gnome.org>
5665
5666         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
5667         the flags from the buffer we're copying.
5668
5669 2004-06-09  Wim Taymans  <wim@fluendo.com>
5670
5671         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
5672         * gst/elements/gstidentity.c: (gst_identity_init),
5673         (gst_identity_chain):
5674         Print more buffer info in fakesink.
5675         Make identity output similar to fakesink.
5676
5677 2004-06-07  Daniel Gazard  <dany42@free.fr>
5678
5679         reviewed by Benjamin Otte  <otte@gnome.org>
5680
5681         * configure.ac:
5682           fix cross compiling not working. (fixes #143741)
5683
5684 2004-06-07  Benjamin Otte  <otte@gnome.org>
5685
5686         * gst/gstelement.c: (gst_element_set_time_delay):
5687           add failure check
5688         * gst/gstinfo.h:
5689           put brackets around macro arguments of GST_TIME_ARGS, add note to
5690           move it to correct header in 0.9
5691
5692 2004-06-07  Benjamin Otte  <otte@gnome.org>
5693
5694         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
5695         (gst_file_index_load), (_file_index_id_save_entries),
5696         (gst_file_index_commit), (gst_file_index_add_association),
5697         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
5698         (gst_file_index_plugin_init):
5699           make debugging use a default category
5700
5701 2004-06-06  David Moore  <dcm@acm.org>
5702
5703         reviewed by Benjamin Otte  <otte@gnome.org>
5704
5705         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5706         (gst_fdsrc_change_state):
5707           reset offset counter when going READY => PAUSED. (fixes #142903)
5708
5709 2004-06-06  ed@catmur.co.uk
5710
5711         reviewed by Benjamin Otte  <otte@gnome.org>
5712
5713         * gst/registries/gstxmlregistry.c:
5714         (gst_xml_registry_rebuild_recurse):
5715           don't rely on g_dir_open to figure out if a file is a directory, use
5716           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
5717           directories. (fixes #142850)
5718
5719 2004-06-06  Benjamin Otte  <otte@gnome.org>
5720
5721         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
5722           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
5723         * libs/gst/bytestream/adapter.c:
5724         * libs/gst/bytestream/adapter.h:
5725           fix copyright in header and typo in debugging category name
5726
5727 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5728
5729         * configure.ac:
5730           bump nano to cvs
5731
5732 === release 0.8.3 ===
5733
5734 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5735
5736         * configure.ac:
5737           update libtool versioning
5738           do a new release
5739         * docs/gst/tmpl/gstelement.sgml:
5740         * docs/gst/tmpl/gsttypes.sgml:
5741         * gst/gstinfo.c: (_gst_debug_init):
5742           put back GST_CAT_DATAFLOW to fix API breakage
5743
5744 2004-06-04  David Schleef  <ds@schleef.org>
5745
5746         * autogen.sh: Add a temporary 'env' to test buildbot problems.
5747
5748 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5749
5750         * configure.ac:
5751           bump nano to cvs
5752
5753 === release 0.8.2 ===
5754
5755 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5756
5757         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
5758           check GST_DEBUG environment variable which is parsed the same way
5759           as --gst-debug=
5760
5761 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
5762
5763         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
5764                             gstmd5sink.c gstshaper.c gsttee.c
5765                             gsttypefindelement.c
5766         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
5767
5768           - removing trailing commas at end of enums
5769             it is correct C99 code but C90 compilers would complain
5770             (AIX, Forte, ...)
5771             ('should' fix #143290, at least partially)
5772
5773 2004-05-27  Wim Taymans  <wim@fluendo.com>
5774
5775         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
5776         (chain_group_set_enabled), (create_group), (add_to_group),
5777         (merge_groups), (setup_group_scheduler), (group_elements),
5778         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
5779         Don't try to follow the pad connections with other groups
5780         when a loop based element is added to the scheduler because
5781         the bin will inform the scheduler about the pad links a little
5782         later.
5783
5784 2004-05-27  Wim Taymans  <wim@fluendo.com>
5785
5786         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
5787         (remove_from_chain), (chain_group_set_enabled),
5788         (setup_group_scheduler), (group_element_set_enabled),
5789         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
5790         (gst_opt_scheduler_show):
5791         Elements without a group can do a state change as well, just wait
5792         with the setup of the scheduling function when it is added to a
5793         chain.
5794
5795 2004-05-27  Wim Taymans  <wim@fluendo.com>
5796
5797         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
5798         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
5799         (merge_groups), (setup_group_scheduler),
5800         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
5801         (gst_opt_scheduler_show):
5802         Fixes to maintain internal consistency of the scheduler data
5803         structures. 
5804          - adding an enabled group to a chain should increment the
5805            number of enabled elements in that chain.
5806          - removing an enabled group from a chain could disable the
5807            chain.
5808          - removing a disabled group from a chain could enable the
5809            chain.
5810          - add g_assert when internal inconsistency is detected.
5811          - adding an element to a group could increase the number of
5812            links this group has with other groups.
5813          - merging two groups also merges the chains.
5814          - also show group links in the _show method.
5815            
5816
5817 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5818
5819         * gst/gstcaps.c: (gst_caps_structure_simplify):
5820           don't print error messages when there is no error
5821         * gst/gstvalue.c: (gst_value_compare_int_range):
5822           compare the second value, too
5823         * testsuite/caps/Makefile.am:
5824         * testsuite/caps/random.c: (assert_on_error), (main):
5825           add tests to make sure the two things above are checked for
5826
5827 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5828
5829         * configure.ac:
5830         * libs/gst/dataprotocol/Makefile.am:
5831         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
5832         * libs/gst/dataprotocol/dataprotocol.h:
5833           wrap header in GST_ENABLE_NEW.  make code use it
5834
5835 2004-05-23  Johan Dahlin  <johan@gnome.org>
5836
5837         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
5838         so verbose and print GstElement signal names all the time.
5839
5840 2004-05-22  David Schleef  <ds@schleef.org>
5841
5842         * gst/registries/gstxmlregistry.c:
5843         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
5844         (bug #142957)
5845
5846 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5847
5848         * configure.ac:
5849           scrub cflags for glib2 so gcc doesn't complain when glib is in
5850           /usr/local
5851
5852 2004-05-21  Johan Dahlin  <johan@gnome.org>
5853
5854         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
5855         __GNUC__, patch from Brian Cameron, fixes bug #142804
5856
5857 2004-05-20  David Schleef  <ds@schleef.org>
5858
5859         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
5860         comparison code.  (bug #142819)
5861
5862 2004-05-20  Wim Taymans  <wim@fluendo.com>
5863
5864         * gst/gstbuffer.c: (gst_buffer_default_copy):
5865         * gst/gstbuffer.h:
5866         Added Comment to a flag.
5867         copy relevant flags in _buffer_copy.
5868
5869 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5870
5871         reviewed by: Wim Taymans <wim at fluendo dot com>
5872
5873         * gst/gstbuffer.h:
5874           add GST_BUFFER_IN_CAPS buffer flag
5875         * gst/gststructure.c: (gst_structure_value_get_generic_type),
5876         (gst_structure_parse_any_list), (gst_structure_parse_list),
5877         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
5878         * gst/gstvalue.c: (gst_value_serialize_any_list),
5879         (gst_value_transform_any_list_string),
5880         (gst_value_list_prepend_value), (gst_value_list_append_value),
5881         (gst_value_list_get_size), (gst_value_list_get_value),
5882         (gst_value_transform_list_string),
5883         (gst_value_transform_fixed_list_string),
5884         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
5885         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
5886         (_gst_value_initialize):
5887         * gst/gstvalue.h:
5888           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
5889           < , > as a format.
5890         * testsuite/caps/string-conversions.c: (main):
5891           add regression tests for < >
5892
5893 2004-05-20  Johan Dahlin  <johan@gnome.org>
5894
5895         * docs/gst/Makefile.am (all-local): Re-add
5896
5897 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5898
5899         * docs/gst/Makefile.am:
5900         * docs/gst/gstreamer-docs.sgml:
5901         * docs/libs/Makefile.am:
5902         * docs/libs/gstreamer-libs-docs.sgml:
5903           fix distcheck issues
5904
5905 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5906
5907         * libs/gst/dataprotocol/Makefile.am:
5908           add to autotest
5909
5910 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5911
5912         * libs/gst/dataprotocol/Makefile.am:
5913         * libs/gst/dataprotocol/dataprotocol.c:
5914         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5915         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
5916         * libs/gst/dataprotocol/dp-private.h:
5917           use GST macros to read/write fixed length ints
5918           add some more asserts
5919
5920 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5921
5922         * docs/libs/gstreamer-libs-docs.sgml:
5923         * docs/libs/gstreamer-libs-sections.txt:
5924           remove idct and putbits
5925         * configure.ac:
5926         * docs/libs/tmpl/gstdataprotocol.sgml:
5927         * libs/gst/Makefile.am:
5928         * libs/gst/dataprotocol/Makefile.am:
5929         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
5930         (buffer_test), (caps_test), (event_test), (main):
5931         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5932         (gst_dp_dump_byte_array), (gst_dp_init),
5933         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
5934         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5935         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
5936         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
5937         (gst_dp_validate_header), (gst_dp_validate_payload),
5938         (gst_dp_validate_packet), (plugin_init):
5939         * libs/gst/dataprotocol/dataprotocol.h:
5940         * libs/gst/dataprotocol/dp-private.h:
5941           add dataprotocol
5942
5943 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5944
5945         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5946           fix int variable deserialization and add a helper so we can actually
5947           debug this.
5948
5949 2004-05-18  David Schleef  <ds@schleef.org>
5950
5951         * testsuite/debug/commandline.c: (main): Call ./commandline, not
5952           argv[0].  Calling yourself is probably not the best way to
5953           construct a test like this, btw.
5954
5955 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5956
5957         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
5958           don't claim to be more intelligent than a scheduler when the
5959           scheduler claims the pipeline is stopped
5960         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
5961         (safe_cothread_destroy),
5962         (gst_entry_scheduler_remove_all_cothreads),
5963         (gst_entry_scheduler_reset), (_remove_cothread),
5964         (gst_entry_scheduler_state_transition):
5965           hold off cothread destruction if we're not in main cothread
5966         * configure.ac:
5967         * testsuite/Makefile.am:
5968           add new test dir
5969         * testsuite/schedulers/.cvsignore:
5970         * testsuite/schedulers/Makefile.am:
5971           add tests
5972         * testsuite/schedulers/relink.c: (cb_handoff), (main):
5973           check relinking and adding/removing elements from a running pipeline
5974         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
5975           check unlinking in a running pipeline
5976         * testsuite/schedulers/unref.c: (cb_handoff), (main):
5977           check unreffing a running pipeline
5978         * testsuite/schedulers/useless_iteration.c: (main):
5979           check iterating a pipeline that contains running threads works
5980
5981 2004-05-18  David Schleef  <ds@schleef.org>
5982
5983         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
5984           is false.
5985
5986 2004-05-18  Wim Taymans  <wim@fluendo.com>
5987
5988         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
5989         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
5990         Fixed an error introduced with patch for 1.63. When setting
5991         a get based element as the entry point in a group, make sure
5992         to mark the group as GET based.
5993
5994 2004-05-18  Wim Taymans  <wim@fluendo.com>
5995
5996         * gst/schedulers/gstoptimalscheduler.c: (create_group),
5997         (setup_group_scheduler), (loop_group_schedule_function),
5998         (gst_opt_scheduler_pad_link):
5999         Added some more debug info and fixed a bug where the group
6000         type was set to LOOP but it was in fact unknown.
6001
6002 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6003
6004         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
6005           make resetting scheduler work twice in a row
6006
6007 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6008
6009         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
6010         (CREATE_USERIALIZATION), (_gst_value_initialize),
6011         (gst_value_compare_float), (gst_value_serialize_float),
6012         (gst_value_deserialize_float), (gst_value_compare_enum),
6013         (gst_value_serialize_enum), (gst_value_deserialize_enum):
6014           add serialization and comparison functions for long, int64, enum and
6015           float values
6016         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
6017           use best serialization function in type hierarchy instead of only a
6018           matching one. This is required for enums to work.
6019         * gst/parse/grammar.y:
6020           use gst_caps_deserialize
6021         * testsuite/parse/Makefile.am:
6022           parse1 now works
6023         * testsuite/parse/parse1.c: (main):
6024           remove aggregator check, aggregator is broken, this test works now
6025           but fails because of bug #138012
6026         * testsuite/parse/parse2.c: (main):
6027           s/xvideosink/xvimagesink - this test looks a lot like we should
6028           disable it
6029
6030 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6031
6032         * gst/gstelement.c: (gst_element_class_init):
6033           whoops, store the signal id correctly
6034         * gst/schedulers/gstbasicscheduler.c:
6035         (gst_basic_scheduler_chain_wrapper):
6036           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
6037           chain function isn't linked
6038
6039 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
6040         * configure.ac:
6041         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
6042         support until we decide where the flags should be used
6043         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
6044         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
6045         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6046         Output refused caps in the debug info
6047
6048 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6049
6050         * gst/elements/gstidentity.c: (gst_identity_chain):
6051           add duration debug
6052         * gst/gstinfo.c: (gst_debug_log_default):
6053           add timestamp
6054
6055 2004-05-13  Benjamin Otte  <otte@gnome.org>
6056
6057         * gst/gstpipeline.c: (gst_pipeline_dispose),
6058         (gst_pipeline_change_state):
6059           call gst_scheduler_reset on dispose (fixes #141416)
6060
6061 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6062
6063         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6064           compute mapsize correctly
6065         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6066           use correct datatypes when calling a varargs function
6067         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6068           push a DISCONT event as first thing
6069         * gst/gst_private.h:
6070         * gst/gstinfo.c: (_gst_debug_init):
6071           remove GST_DATAFLOW debugging category
6072         * gst/gstbin.c: (gst_bin_iterate):
6073           use GST_SCHEDULING category
6074         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
6075         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
6076         (gst_pad_call_get_function):
6077           add GST_DATAFLOW to easily track flow of buffers or events.
6078         * gst/gstqueue.c: (gst_queue_get_type),
6079         (gst_queue_handle_pending_events), (gst_queue_chain),
6080         (gst_queue_get), (gst_queue_handle_src_event):
6081           use own static debugging category GST_DATAFLOW for dataflow,
6082           use DEBUG category for showing which path events go, use LOG
6083           category for buffers.
6084
6085 2004-05-10  David Schleef  <ds@schleef.org>
6086
6087         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
6088
6089 2004-05-10  David Schleef  <ds@schleef.org>
6090
6091         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
6092         symbols, because otherwise we don't know what they are.  Thanks,
6093         the GStreamer team.
6094         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
6095
6096 2004-05-10  David Schleef  <ds@schleef.org>
6097
6098         (from Steve Lhomme)
6099         * win32/Makefile: When using make clean the MS Visual Studio makefiles
6100         are deleted.  Fix.
6101         * win32/Makefile.inspect:
6102         * win32/Makefile.launch:
6103         * win32/Makefile.register:
6104
6105 2004-05-10  David Schleef  <ds@schleef.org>
6106
6107         * gst/gstinfo.h: Add missing inline function.
6108         * gst/gsttrace.c: add include
6109         * gst/parse/grammar.y: remove unused code
6110         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
6111         more portable.
6112         * tools/gst-register.c: wrap unistd.h
6113         
6114         More additions/fixes from Steve for the MSVC build.
6115         * win32/GStreamer.vcproj:
6116         * win32/Makefile:
6117         * win32/Makefile.inspect:
6118         * win32/Makefile.launch:
6119         * win32/Makefile.register:
6120         * win32/README.txt:
6121         * win32/gst-inspect.vcproj:
6122         * win32/gst-launch.vcproj:
6123         * win32/gst-register.vcproj:
6124         * win32/gstbytestream.def:
6125         * win32/gstbytestream.vcproj:
6126         * win32/gstconfig.h:
6127         * win32/gstelements.def:
6128         * win32/gstelements.vcproj:
6129         * win32/gstenumtypes.c:
6130         * win32/gstenumtypes.h:
6131         * win32/gstoptimalscheduler.def:
6132         * win32/gstoptimalscheduler.vcproj:
6133         * win32/gstreamer.def:
6134         * win32/gstspider.def:
6135         * win32/gstspider.vcproj:
6136         * win32/gstversion.h:
6137         * win32/msvc71.sln:
6138
6139 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6140
6141         * gst/gstelement.c: (gst_element_class_init),
6142         (gst_element_no_more_pads):
6143         * gst/gstelement.h:
6144           add gst_element_no_more_pads and the "no-more-pads" signal
6145
6146 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6147
6148         * gst/gstregistry.c: (gst_registry_add_plugin):
6149           refuse to add plugins when a plugin with same name is already
6150           registered. Fixes a bunch of "How to remove plugins?" issues.
6151           May lead to other problems though, let's test
6152
6153 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6154
6155         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
6156         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
6157         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
6158
6159 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6160
6161         * tests/Makefile.am: fix am16 issue
6162
6163 2004-05-09  Benjamin Otte  <otte@gnome.org>
6164
6165         * libs/gst/bytestream/Makefile.am:
6166           we should indeed add .c files to makefiles or they won't be built
6167           (d'oh)
6168
6169 2004-05-08  Benjamin Otte  <otte@gnome.org>
6170
6171         * gst/gstpad.c: (gst_pad_proxy_fixate):
6172           really reduce the set of caps
6173
6174 2004-05-08  Benjamin Otte  <otte@gnome.org>
6175
6176         * tests/Makefile.am:
6177         * tests/spidey_bench.c: (handoff), (main):
6178           add benchmark to test how long spider needs to create a pipeline
6179
6180 2004-05-08  Benjamin Otte  <otte@gnome.org>
6181
6182         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
6183           mark links as unengaged when unnegotiating instead of deactivating.
6184           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
6185
6186 2004-05-08  Benjamin Otte  <otte@gnome.org>
6187
6188         * docs/manual/helloworld.xml:
6189           s/audiosink/osssink (patch by Patrick Guimond)
6190
6191 2004-05-07  David Schleef  <ds@schleef.org>
6192
6193         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
6194         since it contains important stuff.
6195
6196 2004-05-07  David Schleef  <ds@schleef.org>
6197
6198         * testsuite/caps/caps.c: (test3), (main): A check for appending
6199         ANY caps.
6200
6201 2004-05-07  David Schleef  <ds@schleef.org>
6202
6203         * common/m4/as-compiler-flag.m4: Properly quote arguments,
6204         which may contain commas.  Fixes detection of -Wa,-mregnames
6205
6206 2004-05-06  David Schleef  <ds@schleef.org>
6207
6208         Changes to handle compilers that don't have variadic macro
6209         support.  In particular, glib headers define some inlines
6210         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
6211         builds.
6212         * gst/Makefile.am:
6213         * gst/cothreads.c:
6214         * gst/elements/gstfdsink.c:
6215         * gst/elements/gstfdsrc.c:
6216         * gst/elements/gstfilesink.c:
6217         * gst/elements/gstfilesrc.c:
6218         * gst/gst_private.h:
6219         * gst/gstatomic.c:
6220         * gst/gstcaps.c: (gst_caps_append):
6221         * gst/gstcpu.c: (gst_cpuid_i386):
6222         * gst/gstelement.c:
6223         * gst/gsterror.c:
6224         * gst/gstfilter.c:
6225         * gst/gstinfo.h:
6226         * gst/gstprobe.c:
6227         * gst/gstquery.c:
6228         * gst/gstregistry.c:
6229         * gst/gststructure.c:
6230         * gst/gsttaginterface.c:
6231         * gst/gsttrace.c: (gst_trace_new):
6232         * gst/gsttrashstack.c:
6233         * gst/gsturi.c:
6234         * gst/gstvalue.c:
6235         * gst/parse/grammar.y:
6236         * gst/parse/parse.l:
6237         * tools/gst-inspect.c: (main):
6238         * tools/gst-launch.c: (main):
6239         * tools/gst-xmlinspect.c: (PUT_STRING):
6240
6241 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6242
6243         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
6244         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
6245         * gst/elements/gstfilesrc.h:
6246           send NEW_MEDIA events correctly
6247         * gst/elements/gsttypefindelement.c: (start_typefinding),
6248         (gst_type_find_element_handle_event):
6249           restart typefinding when we get a NEW_MEDIA event
6250         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
6251         (gst_bin_dispose):
6252           don't die when someone removes elements in callbacks
6253         * gst/gstelement.c: (gst_element_change_state):
6254           improve debugging
6255         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
6256           we need a NEW_MEDIA event to engage a link
6257         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
6258           don't g_print debugging stuff
6259         * testsuite/caps/simplify.c: (check_caps):
6260
6261 2004-05-04  Benjamin Otte  <otte@gnome.org>
6262
6263         * gst/parse/grammar.y:
6264           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
6265
6266 2004-05-04  Benjamin Otte  <otte@gnome.org>
6267
6268         * testsuite/caps/renegotiate.c: (main):
6269           improve output in error case
6270
6271 2004-05-04  Benjamin Otte  <otte@gnome.org>
6272
6273         * gst/parse/grammar.y:
6274           fix assert to not trigger when there's no error argument
6275         * gst/parse/parse.l:
6276           fix definition of caps to allow more than two structures
6277         * testsuite/caps/Makefile.am:
6278         * testsuite/caps/renegotiate.c: (main):
6279           it's sinesrc and works in that case
6280
6281 2004-05-04  Wim Taymans  <wim@fluendo.com>
6282
6283         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6284         (group_dec_link), (gst_opt_scheduler_pad_unlink):
6285         when removing an element from a group, we always need to
6286         decrement the link count that this group had with other 
6287         groups through the element.
6288         added an extra assert to catch inconsistencies when decrementing
6289         the link count.
6290
6291 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6292
6293         * configure.ac:
6294         * docs/gst/Makefile.am:
6295         * docs/gst/gstreamer-sections.txt:
6296         * docs/gst/tmpl/gstcompat.sgml:
6297         * examples/appreader/Makefile.am:
6298         * examples/cutter/Makefile.am:
6299         * examples/events/Makefile.am:
6300         * examples/helloworld/Makefile.am:
6301         * examples/helloworld2/Makefile.am:
6302         * examples/launch/Makefile.am:
6303         * examples/manual/Makefile.am:
6304         * examples/mixer/Makefile.am:
6305         * examples/pingpong/Makefile.am:
6306         * examples/plugins/Makefile.am:
6307         * examples/queue/Makefile.am:
6308         * examples/queue2/Makefile.am:
6309         * examples/queue3/Makefile.am:
6310         * examples/queue4/Makefile.am:
6311         * examples/retag/Makefile.am:
6312         * examples/thread/Makefile.am:
6313         * examples/typefind/Makefile.am:
6314         * examples/xml/Makefile.am:
6315         * gst/Makefile.am:
6316         * gst/autoplug/Makefile.am:
6317         * gst/elements/Makefile.am:
6318         * gst/gstcompat.h:
6319         * gst/indexers/Makefile.am:
6320         * gst/parse/Makefile.am:
6321         * gst/registries/Makefile.am:
6322         * gst/schedulers/Makefile.am:
6323         * libs/gst/bytestream/Makefile.am:
6324         * libs/gst/control/Makefile.am:
6325         * libs/gst/getbits/Makefile.am:
6326         * po/af.po:
6327         * po/az.po:
6328         * po/en_GB.po:
6329         * po/fr.po:
6330         * po/nl.po:
6331         * po/sr.po:
6332         * po/sv.po:
6333         * po/tr.po:
6334         * po/uk.po:
6335         * tests/Makefile.am:
6336         * tests/bufspeed/Makefile.am:
6337         * tests/instantiate/Makefile.am:
6338         * tests/memchunk/Makefile.am:
6339         * tests/muxing/Makefile.am:
6340         * tests/negotiation/Makefile.am:
6341         * tests/probes/Makefile.am:
6342         * tests/sched/Makefile.am:
6343         * tests/seeking/Makefile.am:
6344         * tests/threadstate/Makefile.am:
6345         * testsuite/caps/Makefile.am:
6346         * testsuite/cleanup/Makefile.am:
6347         * testsuite/dlopen/Makefile.am:
6348         * testsuite/dynparams/Makefile.am:
6349         * testsuite/plugin/Makefile.am:
6350         * testsuite/states/Makefile.am:
6351         * tools/Makefile.am:
6352           reorganize compile/link flags to be consistent
6353           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
6354
6355 2004-05-04  David Schleef  <ds@schleef.org>
6356
6357         The "once more, with feeling" check-in.
6358         * testsuite/caps/Makefile.am: dist caps_strings
6359         * testsuite/caps/renegotiate.c: (main): This test triggers a
6360           segfault in the core.  Marking as failing.
6361
6362 2004-05-03  David Schleef  <ds@schleef.org>
6363
6364         * testsuite/caps/deserialize.c: (main): Fix problems noticed
6365           by the build bots.
6366         * testsuite/caps/renegotiate.c: (main): Same.
6367
6368 2004-05-03  David Schleef  <ds@schleef.org>
6369
6370         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
6371
6372 2004-05-03  David Schleef  <ds@schleef.org>
6373
6374         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
6375           variable to find our source file.
6376
6377 2004-05-03  David Schleef  <ds@schleef.org>
6378
6379         * configure.ac:  Link plugins with libgstreamer and dependent
6380           libraries
6381         * testsuite/caps/Makefile.am:
6382         * testsuite/caps/caps_strings:
6383         * testsuite/caps/deserialize.c: (main): Add a little test to slog
6384           through a file of caps strings and test each one
6385
6386 2004-05-04  Benjamin Otte  <otte@gnome.org>
6387
6388         * libs/gst/bytestream/Makefile.am:
6389         * libs/gst/bytestream/adapter.c: 
6390         * libs/gst/bytestream/adapter.h:
6391           add GstAdapter, similar to bytestream, but doesn't require ugly event
6392           handling or uglier loopbased elements
6393
6394 2004-05-03  David Schleef  <ds@schleef.org>
6395
6396         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
6397         * testsuite/caps/erathostenes.c:
6398         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
6399
6400 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6401
6402         * docs/pwg/pwg.xml:
6403           remove hardcoded stylesheet path (duh)
6404         * docs/random/release:
6405         * docs/gst/gstreamer-sections.txt:
6406         * gst/Makefile.am:
6407         * gst/gst.h:
6408         * gst/gst_private.h:
6409         * gst/gstcaps.c:
6410         * gst/gstevent.c:
6411         * gst/gstformat.c:
6412         * gst/gstinfo.c:
6413         * gst/gstinfo.h:
6414         * gst/gstinterface.c:
6415         * gst/gstmemchunk.c:
6416         * gst/gstprobe.c:
6417         * gst/gstquery.c:
6418         * gst/gstregistry.c:
6419         * gst/gstregistrypool.c:
6420         * gst/gststructure.c:
6421         * gst/gsttaginterface.c:
6422         * gst/gstthread.c:
6423         * gst/gsttrace.c:
6424         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
6425         * gst/gsturi.c:
6426         * gst/gstvalue.c:
6427           deprecate gst_info; remove gstlog.h
6428    
6429
6430 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6431
6432         * Makefile.am:
6433         * po/en_GB.po:
6434         * po/sv.po:
6435         * po/uk.po:
6436           updated translations
6437
6438 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6439
6440         * gst/gstbin.c: (gst_bin_dispose):
6441           better debugging
6442
6443 2004-05-03  Johan Dahlin  <johan@gnome.org>
6444
6445         * gst/schedulers/gstoptimalscheduler.c
6446         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
6447         really is a GstElement. Avoids critical when running gst-launch -v
6448         and a oggdemux/decoding pipeline.
6449
6450 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6451
6452         * docs/gst/tmpl/gstpipeline.sgml :
6453         * docs/manual/elements-api.xml :
6454                 doc fix by Patrick Guimond (Protector) from devel ML
6455                 reviewed by ronald
6456
6457 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6458
6459         * docs/gst/Makefile.am :
6460         * docs/libs/Makefile.am :
6461                 apply a patch from Arwed v. Merkatz so that gtk-doc
6462                 generated docs install (same for .devhelp file)
6463                 (fixes part 1 of #138836)
6464
6465 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6466
6467         * docs/faq/dependencies.xml: typo
6468         * docs/faq/getting.xml :
6469             - fix download URL for new gstreamer site
6470             - hide sf.net download page as latest version aren't there
6471             - fix apt URLs
6472             - fill "get via CVS" paragraph (link to dev page on the site)
6473         * docs/faq/general.xml:
6474             hide status tables as they no more exists
6475             change case on plugins license file to reflect reality
6476         * docs/faq/troubleshooting.xml:
6477             remove the wiki question/answer as there is no more wiki
6478
6479 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6480
6481         * gst/gsterror.h:
6482           include the headers needed for declarations used in this header
6483
6484 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6485
6486         * docs/random/uraeus/gstreamer_and_midi.txt :
6487           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
6488           (fixes #132288)
6489
6490 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
6491
6492         reviewed by Benjamin Otte  <otte@gnome.org>
6493
6494         * gst/schedulers/gthread-cothreads.h:
6495           free allocated data for main cothread, too when destroying context
6496           (fixes #141417)
6497
6498 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6499
6500         * docs/manual/goals.xml : remove duplicated paragraph at end 
6501         of doc page (fixes #141448)
6502
6503 2004-04-29  David Schleef  <ds@schleef.org>
6504
6505         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6506         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
6507
6508 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6509
6510         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
6511           fix property
6512         * gst/gstcaps.c:
6513           fix doc string
6514         * po/POTFILES.in:
6515           rename typefind source file
6516
6517 2004-04-28  David Schleef  <ds@schleef.org>
6518
6519         Several new files from Steve Lhomme's MSVC patch (bug #141317):
6520         * win32/GStreamer.vcproj:
6521         * win32/Makefile:
6522         * win32/config.h:
6523         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
6524         (_trewinddir), (_ttelldir), (_tseekdir):
6525         * win32/dirent.h:
6526         * win32/gst-inspect.vcproj:
6527         * win32/gst-launch.vcproj:
6528         * win32/gst-register.vcproj:
6529         * win32/gstbytestream.vcproj:
6530         * win32/gstelements.vcproj:
6531         * win32/gstoptimalscheduler.vcproj:
6532         * win32/gstspider.vcproj:
6533         * win32/gtchar.h:
6534         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
6535         * win32/mman.h:
6536         * win32/mman.inl:
6537         * win32/msvc71.sln:
6538
6539 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6540
6541         * gst/gst.c: (init_post):
6542         * gst/gstinfo.c:
6543           remove useless _gst_progname stuff
6544         * tools/gst-inspect.c: (print_field), (print_caps):
6545           improve caps output
6546
6547 2004-04-28  David Schleef  <ds@schleef.org>
6548
6549         Disable parsing of a lot of files that aren't part of the
6550         exported API.  Move corresponding template files to old/,
6551         waiting for removal when they don't contain anything
6552         interesting.
6553         * docs/gst/Makefile.am:
6554         * docs/gst/gstreamer-sections.txt:
6555         * docs/gst/tmpl/cothreads.sgml:
6556         * docs/gst/tmpl/cothreads_compat.sgml:
6557         * docs/gst/tmpl/gettext.sgml:
6558         * docs/gst/tmpl/gobject2gtk.sgml:
6559         * docs/gst/tmpl/grammar.tab.sgml:
6560         * docs/gst/tmpl/gst-i18n-app.sgml:
6561         * docs/gst/tmpl/gst-i18n-lib.sgml:
6562         * docs/gst/tmpl/gst_private.sgml:
6563         * docs/gst/tmpl/gstaggregator.sgml:
6564         * docs/gst/tmpl/gstarch.sgml:
6565         * docs/gst/tmpl/gstatomic_impl.sgml:
6566         * docs/gst/tmpl/gstbufferstore.sgml:
6567         * docs/gst/tmpl/gstdata_private.sgml:
6568         * docs/gst/tmpl/gstdisksink.sgml:
6569         * docs/gst/tmpl/gstdisksrc.sgml:
6570         * docs/gst/tmpl/gstelementfactory.sgml:
6571         * docs/gst/tmpl/gstextratypes.sgml:
6572         * docs/gst/tmpl/gstfakesink.sgml:
6573         * docs/gst/tmpl/gstfakesrc.sgml:
6574         * docs/gst/tmpl/gstfdsink.sgml:
6575         * docs/gst/tmpl/gstfdsrc.sgml:
6576         * docs/gst/tmpl/gstfilesink.sgml:
6577         * docs/gst/tmpl/gstfilesrc.sgml:
6578         * docs/gst/tmpl/gsthttpsrc.sgml:
6579         * docs/gst/tmpl/gstidentity.sgml:
6580         * docs/gst/tmpl/gstindexfactory.sgml:
6581         * docs/gst/tmpl/gstmarshal.sgml:
6582         * docs/gst/tmpl/gstmd5sink.sgml:
6583         * docs/gst/tmpl/gstmultidisksrc.sgml:
6584         * docs/gst/tmpl/gstmultifilesrc.sgml:
6585         * docs/gst/tmpl/gstpadtemplate.sgml:
6586         * docs/gst/tmpl/gstpipefilter.sgml:
6587         * docs/gst/tmpl/gstschedulerfactory.sgml:
6588         * docs/gst/tmpl/gstsearchfuncs.sgml:
6589         * docs/gst/tmpl/gstshaper.sgml:
6590         * docs/gst/tmpl/gstspider.sgml:
6591         * docs/gst/tmpl/gstspideridentity.sgml:
6592         * docs/gst/tmpl/gststatistics.sgml:
6593         * docs/gst/tmpl/gsttee.sgml:
6594         * docs/gst/tmpl/gsttimecache.sgml:
6595         * docs/gst/tmpl/gsttypefind.sgml:
6596         * docs/gst/tmpl/gsttypefindfactory.sgml:
6597         * docs/gst/tmpl/gstxmlregistry.sgml:
6598         * docs/gst/tmpl/gthread-cothreads.sgml:
6599         * docs/gst/tmpl/old/cothreads.sgml:
6600         * docs/gst/tmpl/old/cothreads_compat.sgml:
6601         * docs/gst/tmpl/old/gettext.sgml:
6602         * docs/gst/tmpl/old/gobject2gtk.sgml:
6603         * docs/gst/tmpl/old/grammar.tab.sgml:
6604         * docs/gst/tmpl/old/gst-i18n-app.sgml:
6605         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
6606         * docs/gst/tmpl/old/gst_private.sgml:
6607         * docs/gst/tmpl/old/gstaggregator.sgml:
6608         * docs/gst/tmpl/old/gstarch.sgml:
6609         * docs/gst/tmpl/old/gstatomic_impl.sgml:
6610         * docs/gst/tmpl/old/gstbufferstore.sgml:
6611         * docs/gst/tmpl/old/gstdata_private.sgml:
6612         * docs/gst/tmpl/old/gstdisksink.sgml:
6613         * docs/gst/tmpl/old/gstdisksrc.sgml:
6614         * docs/gst/tmpl/old/gstelementfactory.sgml:
6615         * docs/gst/tmpl/old/gstextratypes.sgml:
6616         * docs/gst/tmpl/old/gstfakesink.sgml:
6617         * docs/gst/tmpl/old/gstfakesrc.sgml:
6618         * docs/gst/tmpl/old/gstfdsink.sgml:
6619         * docs/gst/tmpl/old/gstfdsrc.sgml:
6620         * docs/gst/tmpl/old/gstfilesink.sgml:
6621         * docs/gst/tmpl/old/gstfilesrc.sgml:
6622         * docs/gst/tmpl/old/gsthttpsrc.sgml:
6623         * docs/gst/tmpl/old/gstidentity.sgml:
6624         * docs/gst/tmpl/old/gstindexfactory.sgml:
6625         * docs/gst/tmpl/old/gstmarshal.sgml:
6626         * docs/gst/tmpl/old/gstmd5sink.sgml:
6627         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
6628         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
6629         * docs/gst/tmpl/old/gstpadtemplate.sgml:
6630         * docs/gst/tmpl/old/gstpipefilter.sgml:
6631         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
6632         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
6633         * docs/gst/tmpl/old/gstshaper.sgml:
6634         * docs/gst/tmpl/old/gstspider.sgml:
6635         * docs/gst/tmpl/old/gstspideridentity.sgml:
6636         * docs/gst/tmpl/old/gststatistics.sgml:
6637         * docs/gst/tmpl/old/gsttee.sgml:
6638         * docs/gst/tmpl/old/gsttimecache.sgml:
6639         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
6640         * docs/gst/tmpl/old/gstxmlregistry.sgml:
6641         * docs/gst/tmpl/old/gthread-cothreads.sgml:
6642         * docs/gst/tmpl/old/types.sgml:
6643         * docs/gst/tmpl/types.sgml:
6644
6645         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
6646         gtkdoc-scan doesn't like files with the same name in different
6647         directories.
6648         * gst/elements/Makefile.am:
6649         * gst/elements/gstelements.c:
6650         * gst/elements/gsttypefind.c: 
6651         * gst/elements/gsttypefind.h:
6652         * gst/elements/gsttypefindelement.c:
6653         * gst/elements/gsttypefindelement.h:
6654
6655 2004-04-28  David Schleef  <ds@schleef.org>
6656
6657         A bunch of portability fixes, derived from Steve Lhomme's MSVC
6658         patch (bug #141317):
6659         * gst/gst-i18n-lib.h: Allow disabling gettext.
6660         * gst/gstatomic_impl.h: disable warning when it's dumb.
6661         * gst/gstclock.c: fix include
6662         * gst/gstcompat.h: fix variadic macro
6663         * gst/gstinfo.c: fix include
6664         * gst/gstmacros.h: add defines for inlines on MSVC
6665         * gst/gstplugin.c: fix includes
6666         * gst/gstregistry.c: fix includes
6667         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
6668         * gst/gstsystemclock.c: fix include
6669         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
6670         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
6671         * gst/registries/gstxmlregistry.c:
6672         (gst_xml_registry_parse_element_factory): fix use of non-portable
6673         functions
6674         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
6675         * libs/gst/control/dparammanager.h: same
6676
6677 2004-04-28  David Schleef  <ds@schleef.org>
6678
6679         Move a bunch of unused files to old/ with names that are
6680         not case-insensitive-unique.  These files still contain some
6681         useful information that needs to be merged into gstbin.sgml,
6682         etc., so they shouldn't be deleted yet.
6683         * docs/gst/tmpl/GstBin.sgml:
6684         * docs/gst/tmpl/GstBuffer.sgml:
6685         * docs/gst/tmpl/GstCaps.sgml:
6686         * docs/gst/tmpl/GstClock.sgml:
6687         * docs/gst/tmpl/GstCompat.sgml:
6688         * docs/gst/tmpl/GstData.sgml:
6689         * docs/gst/tmpl/GstElement.sgml:
6690         * docs/gst/tmpl/GstEvent.sgml:
6691         * docs/gst/tmpl/GstIndex.sgml:
6692         * docs/gst/tmpl/GstStructure.sgml:
6693         * docs/gst/tmpl/GstTag.sgml:
6694         * docs/gst/tmpl/old/GstBin.sgml:
6695         * docs/gst/tmpl/old/GstBuffer.sgml:
6696         * docs/gst/tmpl/old/GstCaps.sgml:
6697         * docs/gst/tmpl/old/GstClock.sgml:
6698         * docs/gst/tmpl/old/GstCompat.sgml:
6699         * docs/gst/tmpl/old/GstData.sgml:
6700         * docs/gst/tmpl/old/GstElement.sgml:
6701         * docs/gst/tmpl/old/GstEvent.sgml:
6702         * docs/gst/tmpl/old/GstIndex.sgml:
6703         * docs/gst/tmpl/old/GstStructure.sgml:
6704         * docs/gst/tmpl/old/GstTag.sgml:
6705
6706 2004-04-28  David Schleef  <ds@schleef.org>
6707
6708         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6709         (gst_caps_append), (gst_caps_append_structure),
6710         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
6711         (gst_caps_set_simple), (gst_caps_set_simple_valist),
6712         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
6713         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
6714         (gst_caps_intersect), (gst_caps_normalize),
6715         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
6716         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
6717         * gst/gstcaps.h: use GST_IS_CAPS().
6718
6719 2004-04-26  David Schleef  <ds@schleef.org>
6720
6721         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
6722         assembly.  gcc doesn't handle it correctly. (bug #141083)
6723         * gst/gsttrashstack.h: same
6724
6725 2004-04-25  Benjamin Otte  <otte@gnome.org>
6726
6727         * gst/gstelement.c: (gst_element_change_state):
6728           fix assertion to do an int comparison
6729
6730 2004-04-25  Benjamin Otte  <otte@gnome.org>
6731
6732         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
6733           better debugging output on error
6734
6735 2004-04-25  Benjamin Otte  <otte@gnome.org>
6736
6737         * gst/gstcaps.c: (gst_caps_subtract):
6738           fix memleak
6739
6740 2004-04-23  Benjamin Otte  <otte@gnome.org>
6741
6742         * gst/gstvalue.c: (gst_value_compare_buffer),
6743         (_gst_value_initialize):
6744           add comparison function for buffers
6745
6746 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6747
6748         * docs/pwg/pwg.xml:
6749           Just found out that this so-called "ima-wav" format is really
6750           just "dvi adpcm" (according to the MS WAV documentation). So
6751           renaming it. We didn't use it yet anyway.
6752
6753 2004-04-23  Benjamin Otte  <otte@gnome.org>
6754
6755         * gst/gstcaps.c: (gst_caps_is_always_compatible):
6756           call gst_caps_is_subset
6757
6758 2004-04-23  Benjamin Otte  <otte@gnome.org>
6759
6760         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
6761         (gst_caps_is_subset):
6762           add documentation
6763
6764 2004-04-23  Benjamin Otte  <otte@gnome.org>
6765           
6766         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
6767         (gst_caps_structure_subtract), (gst_caps_subtract),
6768         (gst_caps_structure_figure_out_union),
6769         (gst_caps_structure_simplify), (gst_caps_do_simplify):
6770           fix simplifying and subtracting not working correctly with optional
6771           properties
6772           solve assorted problems that make it now simplify ebven more
6773         * docs/gst/tmpl/gstcaps.sgml:
6774         * gst/gstcaps.h:
6775           make gst_caps_do_simplify return a bool to indicate if it simplified
6776         * testsuite/caps/simplify.c: (main):
6777           add more checks. The tests is quite a bit useless right now because
6778           the core is heavily simplifying itself.
6779         * testsuite/caps/caps.h:
6780           fix caps to contain all optional properties
6781
6782 2004-04-22  Benjamin Otte  <otte@gnome.org>
6783
6784         * docs/gst/tmpl/gstcaps.sgml:
6785         * docs/gst/tmpl/gstfilesrc.sgml:
6786         * docs/gst/tmpl/gststructure.sgml:
6787         * docs/gst/tmpl/gstvalue.sgml:
6788           update for recent API changes
6789         * gst/gstcaps.c: (gst_caps_do_simplify):
6790           fix to stop trying with a freed structure
6791         * gst/gstpad.c: (gst_pad_link_fixate):
6792           simplify caps
6793         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
6794           remove C++ comment
6795         * gst/gstpad.h:
6796           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
6797         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6798         (gst_structure_to_string):
6799           keep the correct type when using lists of ranges
6800         * gst/gstvalue.c: (gst_value_list_prepend_value),
6801         (gst_value_list_append_value):
6802           copy the value before adding to the list (d'oh)
6803         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
6804         (gst_value_subtract_int_range_int_range):
6805           handle overflows correctly
6806         * gst/gstvalue.c: (gst_value_subtract_from_list):
6807           fix memleak
6808         * testsuite/caps/caps.h:
6809           add a caps that caused segfaults
6810
6811 2004-04-22  Benjamin Otte  <otte@gnome.org>
6812
6813         * testsuite/refcounting/pad.c: (main):
6814           fix test
6815
6816 2004-04-22  Benjamin Otte  <otte@gnome.org>
6817
6818         * gst/gstcaps.c: (gst_caps_subtract):
6819           allow subtracting ANY and EMPTY from ANY caps
6820
6821 2004-04-22  Benjamin Otte  <otte@gnome.org>
6822
6823         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
6824         (gst_caps_union):
6825           only simplify in functions that create new caps. Simplifying in
6826           gst_caps_append breaks tests.
6827
6828 2004-04-22  Benjamin Otte  <otte@gnome.org>
6829
6830         * gst/gstcaps.c: (gst_caps_structure_simplify):
6831           unset GValue after use
6832         * gst/gstcaps.c: (gst_caps_append), 
6833         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
6834           use gst_caps_simplify (reduces registry size by 30%)
6835         * gst/gstpad.c: (gst_pad_template_new):
6836           don't allow NULL caps
6837
6838 2004-04-22  Benjamin Otte  <otte@gnome.org>
6839
6840         * docs/gst/gstreamer-sections.txt:
6841           add gst_caps_do_simplify
6842         * gst/gstcaps.c:
6843           add documentation for gst_caps_do_simplify
6844         * gst/gstvalue.h:
6845           fix typo in gst_value_register_subtract_func declaration for gst-doc
6846
6847 2004-04-22  Benjamin Otte  <otte@gnome.org>
6848
6849         * gst/gstcaps.c: (gst_caps_from_string_inplace):
6850           fix bug when converting from empty string.
6851         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
6852         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
6853           use gst_caps_new_empty to allocate a new caps. Only that function
6854           allocates memory for caps now.
6855         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
6856         (gst_caps_remove_structure):
6857           add ability to remove one structure (but not to header yet)
6858         * gst/gstcaps.c: (gst_caps_compare_structures),
6859         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
6860         (gst_caps_structure_simplify), (gst_caps_do_simplify),
6861         * gst/gstcaps.h:
6862           add gst_caps_do_simplify that tries to simplify a caps in place.
6863           Deprecate old gst_caps_simplify function.
6864         * testsuite/caps/caps.h:
6865           add caps.h containing a common set of caps to test against.
6866         * testsuite/caps/sets.c: (check_caps), (main):
6867           use it.
6868         * testsuite/caps/.cvsignore:
6869         * testsuite/caps/Makefile.am:
6870         * testsuite/caps/simplify.c: (check_caps), (main):
6871           add test to check correctness and efficency of caps simplification.
6872
6873 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
6874
6875         reviewed by Benjamin Otte  <otte@gnome.org>
6876
6877         * gst/gstparse.c: (_gst_parse_escape):
6878           Free the GString used in _gst_parse_escape()
6879
6880 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6881
6882         * gst/gstpad.c: (gst_pad_link_negotiate):
6883           refuse to link if the link is not possible
6884         * configure.ac:
6885         * testsuite/Makefile.am:
6886         * testsuite/negotiation/.cvsignore:
6887         * testsuite/negotiation/Makefile.am:
6888         * testsuite/negotiation/pad_link.c: (main):
6889           add test that checks the above behaviour
6890
6891 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6892
6893         * docs/gst/gstreamer-sections.txt:
6894           add newly added API
6895
6896 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6897
6898         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
6899         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
6900         (gst_filesrc_open_file), (gst_filesrc_close_file),
6901         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
6902         * gst/elements/gstfilesrc.h:
6903           add support for non-regular files (#140734)
6904
6905 2004-04-21  Benjamin Otte  <otte@gnome.org>
6906
6907         * gst/gstpad.c: (gst_pad_link_fixate):
6908           add sophisticated error checking code to see if fixation functions
6909           did their fixation right
6910
6911 2004-04-21  Benjamin Otte  <otte@gnome.org>
6912
6913         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
6914           check for ANY caps before appending/unioning
6915         * gst/gstcaps.c: (gst_caps_is_subset),
6916         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
6917         (gst_caps_structure_subtract), (gst_caps_subtract):
6918         * gst/gstcaps.h:
6919           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
6920           the API. deprecate gst_caps_is_equal_fixed
6921         * gst/gstpad.c: (gst_pad_try_set_caps):
6922         * gst/gstqueue.c: (gst_queue_link):
6923           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
6924         * gst/gststructure.c: (gst_structure_get_name_id):
6925         * gst/gststructure.h:
6926           add function gst_structure_get_name_id
6927         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
6928         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6929         (gst_value_subtract_int_range_int_range),
6930         (gst_value_subtract_double_double_range),
6931         (gst_value_subtract_double_range_double),
6932         (gst_value_subtract_double_range_double_range),
6933         (gst_value_subtract_from_list), (gst_value_subtract_list),
6934         (gst_value_can_intersect), (gst_value_subtract),
6935         (gst_value_can_subtract), (gst_value_register_subtract_func),
6936         (_gst_value_initialize):
6937         * gst/gstvalue.h:
6938           add support for subtracting values from each other. Note that
6939           subtracting means subtracting as in set theory. Required for caps
6940           stuff above.
6941         * testsuite/caps/.cvsignore:
6942         * testsuite/caps/Makefile.am:
6943         * testsuite/caps/erathostenes.c: (erathostenes), (main):
6944         * testsuite/caps/sets.c: (check_caps), (main):
6945         * testsuite/caps/subtract.c: (check_caps), (main):
6946           add tests for subtraction and equality code.
6947
6948 2004-04-20  David Schleef  <ds@schleef.org>
6949
6950         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
6951         * gst/indexers/Makefile.am:
6952         * gst/schedulers/Makefile.am:
6953         * libs/gst/bytestream/Makefile.am:
6954         * libs/gst/control/Makefile.am:
6955         * libs/gst/getbits/Makefile.am:
6956
6957 2004-04-20  David Schleef  <ds@schleef.org>
6958
6959         * common/as-libtool.mak: Fine-tune DLL building.
6960         * configure.ac: Link plugins against libgstreamer.  Define plugindir
6961         (like gst-plugins)
6962         * examples/plugins/Makefile.am: remove plugindir
6963         * gst/autoplug/Makefile.am: DLL building fixes
6964         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
6965         Windows.
6966         * gst/elements/gstelements.c: Conditionally disable pipefilter.
6967         * gst/indexers/Makefile.am: DLL building fixes
6968         * gst/schedulers/Makefile.am: DLL building fixes.
6969         * libs/gst/bytestream/Makefile.am: DLL building fixes.
6970         * libs/gst/control/Makefile.am: same
6971         * libs/gst/getbits/Makefile.am: same
6972         * testsuite/Makefile.am: New dlopen directory
6973         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
6974         when dlopened.
6975         * testsuite/dlopen/dlopen_gst.c: (main): same
6976         * testsuite/dlopen/loadgst.c: (do_test): same
6977
6978 2004-04-20  David Schleef  <ds@schleef.org>
6979
6980         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
6981         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
6982
6983 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6984
6985         * gst/gstelement.c: (gst_element_wait),
6986         (gst_element_set_time_delay), (gst_element_change_state):
6987           Use GST_TIME_*
6988
6989 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6990
6991         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
6992         (gst_spider_identity_plug):
6993           improve debugging messages
6994         * gst/gstbin.c: (gst_bin_remove_func):
6995           make sure the state_change function is only called with simple state
6996           transitions
6997
6998 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6999
7000         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
7001         (gst_fakesink_set_property), (gst_fakesink_chain):
7002         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
7003         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
7004         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
7005         * gst/elements/gstidentity.c: (gst_identity_chain),
7006         (gst_identity_set_property):
7007         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
7008         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
7009           add warnings to _set_property for unknown arguments
7010           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
7011
7012 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7013
7014         * Makefile.am:
7015         * docs/manuals.mak:
7016           add .po file download snippet
7017           fix a bug in the doc makefile
7018
7019 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7020
7021         * Makefile.am:
7022         * po/LINGUAS:
7023         * po/en_GB.po:
7024           Added en_GB translation (Gareth Owen)
7025
7026 2004-04-20  Johan Dahlin  <johan@gnome.org>
7027
7028         * gst/gstpad.c (_invent_event): Clean up
7029
7030 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7031
7032         * testsuite/caps/filtercaps.c: (main):
7033           fix test to test things correctly (caps are complicated)
7034
7035 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7036
7037         * testsuite/caps/Makefile.am:
7038         * testsuite/caps/filtercaps.c: (main):
7039           add test (that doesn't work right now, but should)
7040
7041 2004-04-19  David Schleef  <ds@schleef.org>
7042
7043         * configure.ac: Add test for allowing unaligned access.  Add define
7044         to put in gstconfig.h.
7045         * docs/gst/gstreamer-sections.txt: New symbols
7046         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
7047         * docs/gst/tmpl/gstfilesrc.sgml:
7048         * docs/gst/tmpl/gstparse.sgml:
7049         * docs/gst/tmpl/gsttypes.sgml:
7050         * docs/gst/tmpl/gstutils.sgml:
7051         * docs/gst/tmpl/gstvalue.sgml:
7052         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
7053         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
7054         on most !i386/!powerpc architectures.  From Daniel Gazard
7055         <daniel.gazard@free.fr>.  (bug #140156)
7056         * po/af.po: Check in changes made by gettext.
7057         * po/az.po:
7058         * po/fr.po:
7059         * po/nl.po:
7060         * po/sr.po:
7061         * po/sv.po:
7062
7063 2004-04-20  Benjamin Otte  <otte@gnome.org>
7064
7065         * gst/schedulers/entryscheduler.c: 
7066         (gst_entry_scheduler_yield):
7067           refuse to yield when decoupled elements insist on doing that.
7068           At least it's better than crashing
7069
7070 2004-04-19  David Schleef  <ds@schleef.org>
7071
7072         * docs/libs/Makefile.am: Change sinclude to include
7073         * docs/gst/Makefile.am: same
7074         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
7075
7076 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7077
7078         * po/LINGUAS:
7079         * po/uk.po:
7080           Added Ukrainian translation (Maxim V. Dziumanenko)
7081
7082 2004-04-19  Johan Dahlin  <johan@gnome.org>
7083
7084         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
7085         checking here, do it before calling the function.
7086         Clean up, use for loops instead of while loops while iterating
7087         over lists.
7088
7089         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
7090         in debug message.
7091         (gst_spider_create_and_plug): Improve debug message.
7092         General: Replace while loops which iterates over GLists with for
7093         loops. Which are much cleaner, improves readability, especially
7094         for gst_spider_identity_plug
7095
7096         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
7097         fixes bug 140477
7098
7099 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7100
7101         * po/LINGUAS:
7102         * po/tr.po:
7103           Added Turkish translation (Baris Cicek)
7104
7105 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7106
7107         * docs/faq/troubleshooting.xml:
7108           Mention gst-register in the FAQ (fixes 139045).
7109
7110 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7111
7112         * docs/gst/gstreamer-sections.txt:
7113
7114 2004-04-17  Benjamin Otte  <otte@gnome.org>
7115
7116         * gst/gstelement.c: (gst_element_dispose):
7117           simplify
7118         * gst/gstpad.c: (gst_pad_call_chain_function):
7119           don't create loads of events due to bad macro usage
7120
7121 2004-04-16  David Schleef  <ds@schleef.org>
7122
7123         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
7124         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
7125         * gst/gstvalue.c: (gst_value_serialize_buffer),
7126         (gst_value_deserialize_buffer), (gst_type_is_fixed),
7127         (_gst_value_initialize): Create a new function gst_type_is_fixed()
7128         to indicate types that are fixed wrt caps or not.  Switching to
7129         this function fixes (bug #140298).
7130         * gst/gstvalue.h:
7131
7132 2004-04-16  David Schleef  <ds@schleef.org>
7133
7134         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
7135         for GST_UNALIGNED_ACESS, since we essentially know which archs
7136         are ok.
7137
7138 2004-04-17  Benjamin Otte  <otte@gnome.org>
7139
7140         * docs/gst/Makefile.am:
7141           ignore gst/parse directory when building docs (fixes #140205)
7142
7143 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7144
7145         * testsuite/refcounting/mem.c: (vmsize):
7146           do error checking
7147
7148 2004-04-16  Johan Dahlin  <johan@gnome.org>
7149
7150         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
7151         and gst_pad_call_get_function.
7152
7153 2004-04-15  David Schleef  <ds@schleef.org>
7154
7155         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
7156         checks if we can access unaligned memory.
7157         * configure.ac: Use it.
7158
7159 2004-04-16  Benjamin Otte  <otte@gnome.org>
7160
7161         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
7162         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
7163         * gst/elements/gstfilesrc.h:
7164           s/seek_happened/need_discont/ and require discont before sending any
7165           data
7166
7167 2004-04-15  David Schleef  <ds@schleef.org>
7168
7169         * gst/gstvalue.c: (gst_value_serialize_buffer),
7170         (gst_value_deserialize_buffer), (_gst_value_initialize):
7171         Register these types as fundamental types. (bug #140015)
7172
7173 2004-04-16  Benjamin Otte  <otte@gnome.org>
7174
7175         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
7176         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
7177         (gst_pad_pull):
7178           implement enforcing discont events before buffers are passed. This
7179           allows state changes of only some elements and later correctly going
7180           on where they left off (or in short: you can now set audio sinks to
7181           NULL to release the device when the pipeline is paused)
7182         * gst/gstpad.c: (gst_pad_call_chain_function),
7183         (gst_pad_call_get_function):
7184         * gst/gstpad.h:
7185           add gst_pad_call_chain_function and gst_pad_call_get_function for
7186           scheduler interaction. They are required because of the changes
7187           above.
7188         * gst/schedulers/entryscheduler.c: (get_buffer),
7189         (gst_entry_scheduler_chain_wrapper),
7190         (gst_entry_scheduler_get_wrapper),
7191         (gst_entry_scheduler_state_transition),
7192         (gst_entry_scheduler_pad_link):
7193         * gst/schedulers/gstbasicscheduler.c:
7194         (gst_basic_scheduler_chain_wrapper),
7195         (gst_basic_scheduler_src_wrapper),
7196         (gst_basic_scheduler_chainhandler_proxy),
7197         (gst_basic_scheduler_gethandler_proxy),
7198         (gst_basic_scheduler_cothreaded_chain),
7199         (gst_basic_scheduler_chain_elements):
7200         * gst/schedulers/gstoptimalscheduler.c:
7201         (get_group_schedule_function), (pad_clear_queued),
7202         (gst_opt_scheduler_pad_link):
7203           use the new functions instead of calling get/chain-functions
7204           directly.
7205
7206 2004-04-15  David Schleef  <ds@schleef.org>
7207
7208         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
7209         * docs/gst/tmpl/gstinfo.sgml: same
7210         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
7211         gtk-doc put here.
7212         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
7213         * examples/queue/queue.c: (main):  We iterate pipelines, not
7214         bins.  (bug #139996)
7215
7216 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7217
7218         * docs/pwg/advanced-types.xml:
7219           Add MS RLE support. Also document Qt RLE although I have no sample
7220           files for that yet. And document an extra property for ADPCM.
7221
7222 2004-04-15  David Schleef  <ds@schleef.org>
7223
7224         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
7225         (_gst_plugin_fault_handler_setup):  Disable more stuff on
7226         Windows.
7227
7228 2004-04-15  David Schleef  <ds@schleef.org>
7229
7230         * gst/gstinfo.c: (_gst_debug_init): Change some internal
7231         symbol names to not conflict with new gstinfo.h symbols.
7232         * gst/gstinfo.h: Add inline functions for all those crazy
7233         compilers that don't know how to handle variadic macros (MSVC).
7234
7235 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7236
7237         * configure.ac: bump nano to 1
7238
7239 === release 0.8.1 ===
7240
7241 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7242
7243         * NEWS:
7244         * RELEASE:
7245         * configure.ac:
7246           releasing 0.8.1, "Snow Brigade"
7247
7248 2004-04-14  David Schleef  <ds@schleef.org>
7249
7250         * testsuite/Makefile.am: define tests_ignore
7251         * testsuite/Rules: Added new tests_ignore, which get compiled,
7252         but not run (generally because they're inconsistent or have
7253         heisenbugs).  Now we can ensure all the .c files compile in
7254         testsuite/.
7255         * testsuite/bins/Makefile.am: define tests_ignore
7256         * testsuite/bytestream/Makefile.am:
7257         * testsuite/caps/Makefile.am:
7258         * testsuite/clock/Makefile.am:
7259         * testsuite/debug/Makefile.am:
7260         * testsuite/debug/global.c: (gst_debug_log_one),
7261         (gst_debug_log_two): Fix compilation problem.
7262         * testsuite/dynparams/Makefile.am:
7263         * testsuite/elements/Makefile.am:
7264         * testsuite/ghostpads/Makefile.am:
7265         * testsuite/indexers/Makefile.am:
7266         * testsuite/parse/Makefile.am:
7267         * testsuite/plugin/Makefile.am:
7268         * testsuite/refcounting/Makefile.am:
7269         * testsuite/refcounting/element_pad.c: (main): Don't return leak
7270         results, because it's not calculated correctly.
7271         * testsuite/refcounting/pad.c: (main): same
7272         * testsuite/states/Makefile.am:
7273         * testsuite/tags/Makefile.am:
7274         * testsuite/threads/Makefile.am:
7275
7276 2004-04-14  David Schleef  <ds@schleef.org>
7277
7278         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
7279         generating bad code around the cpu detection asm code.
7280
7281 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7282
7283         * tools/gst-inspect.c: (print_element_info):
7284           print numeric version of rank as well, since we added some - 1
7285           rank values to elements
7286
7287 2004-04-13  David Schleef  <ds@schleef.org>
7288
7289         * configure.ac:  Disable various code when compiling for MinGW.
7290         * gst/elements/Makefile.am:
7291         * gst/elements/gstelements.c:
7292         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
7293         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
7294         * gst/registries/gstxmlregistry.c: (make_dir):
7295
7296 2004-04-13  David Schleef  <ds@schleef.org>
7297
7298         * gst/Makefile.am:
7299         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
7300         assembly.
7301         * gst/gstcpuid_i386.s: remove
7302
7303 2004-04-13  David Schleef  <ds@schleef.org>
7304
7305         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
7306         seems to think it needs to be done.
7307         * docs/gst/tmpl/gstfakesink.sgml:
7308         * docs/gst/tmpl/gstfakesrc.sgml:
7309         * docs/gst/tmpl/gstfdsink.sgml:
7310         * docs/gst/tmpl/gstfdsrc.sgml:
7311         * docs/gst/tmpl/gstfilesink.sgml:
7312         * docs/gst/tmpl/gstfilesrc.sgml:
7313         * docs/gst/tmpl/gstidentity.sgml:
7314         * docs/gst/tmpl/gstmd5sink.sgml:
7315         * docs/gst/tmpl/gstmultifilesrc.sgml:
7316         * docs/gst/tmpl/gstpipefilter.sgml:
7317         * docs/gst/tmpl/gstshaper.sgml:
7318         * docs/gst/tmpl/gstspider.sgml:
7319         * docs/gst/tmpl/gstspideridentity.sgml:
7320         * docs/gst/tmpl/gststatistics.sgml:
7321         * docs/gst/tmpl/gsttee.sgml:
7322         * docs/gst/tmpl/gsttypefind.sgml:
7323         * docs/gst/tmpl/gstutils.sgml:
7324
7325 2004-04-13  David Schleef  <ds@schleef.org>
7326
7327         * configure.ac: Changes to remove POSIXisms (mmap in this case)
7328         and to build DLLs on Windows.
7329         * gst/Makefile.am:
7330         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
7331         (gst_filesrc_open_file):
7332         * gst/schedulers/Makefile.am:
7333
7334 2004-04-13  David Schleef  <ds@schleef.org>
7335
7336         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
7337         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
7338         fixating lists.
7339
7340 2004-04-12  David Schleef  <ds@schleef.org>
7341
7342         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
7343         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
7344         to using it.
7345         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
7346         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
7347         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
7348         * gst/gststructure.c: (gst_structure_set_valist),
7349         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
7350         support for buffers.
7351         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
7352         intended to be const.
7353         * gst/gsttag.h: same
7354         * gst/gstvalue.c: (gst_value_serialize_buffer),
7355         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
7356         to (de)serialize buffers.
7357         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
7358         * testsuite/caps/string-conversions.c: (main):
7359         * testsuite/caps/value_serialize.c: add new test
7360
7361 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7362
7363         * docs/pwg/advanced-types.xml:
7364           Document MS video 1 (video/x-msvideocodec) mimetype/format.
7365
7366 2004-04-11  Benjamin Otte  <otte@gnome.org>
7367
7368         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7369           rename categories to basic_*
7370         * gst/schedulers/gstbasicscheduler.c: 
7371         (gst_basic_scheduler_chain_wrapper),
7372         (gst_basic_scheduler_chainhandler_proxy),
7373         (gst_basic_scheduler_gethandler_proxy),
7374         (gst_basic_scheduler_eventhandler_proxy):
7375           debugging category fixes - put common stuff in log category
7376         * gst/schedulers/gstbasicscheduler.c: 
7377         (gst_basic_scheduler_chain_elements):
7378           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
7379           active and linking two active chains
7380
7381 2004-04-10  Benjamin Otte  <otte@gnome.org>
7382
7383         * docs/pwg/intro-preface.xml:
7384           fix dead links and remove reference to Wiki
7385
7386 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7387
7388         * gst/schedulers/gstbasicscheduler.c:
7389           make sure we can switch back to the main function if we're still in
7390           the main function (supposed to fix #139617)
7391         * gst/schedulers/gthread-cothreads.h:
7392           don't throw an error when switching to the same cothread
7393
7394 2004-04-09  Benjamin Otte  <otte@gnome.org>
7395
7396         * gst/gstbin.c: (gst_bin_get_type):
7397         * gst/gstclock.c: (gst_clock_get_type):
7398         * gst/gstindex.c: (gst_index_get_type):
7399         * gst/gstobject.c: (gst_object_get_type),
7400         (gst_signal_object_get_type):
7401         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
7402         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
7403         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
7404         * gst/gstqueue.c: (gst_queue_get_type):
7405         * gst/gstregistry.c: (gst_registry_get_type):
7406         * gst/gstsystemclock.c: (gst_system_clock_get_type):
7407         * gst/gstthread.c: (gst_thread_get_type):
7408           don't use memchunks for these objects, use malloc instead
7409
7410 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7411
7412         * docs/gst/.cvsignore:
7413         * docs/gst/Makefile.am:
7414         * docs/gst/gstreamer-sections.txt:
7415         * docs/gst/tmpl/gstaggregator.sgml:
7416         * docs/gst/tmpl/gstbuffer.sgml:
7417         * docs/gst/tmpl/gstclock.sgml:
7418         * docs/gst/tmpl/gstelement.sgml:
7419         * docs/gst/tmpl/gstfakesink.sgml:
7420         * docs/gst/tmpl/gstfakesrc.sgml:
7421         * docs/gst/tmpl/gstfdsink.sgml:
7422         * docs/gst/tmpl/gstfdsrc.sgml:
7423         * docs/gst/tmpl/gstfilesink.sgml:
7424         * docs/gst/tmpl/gstfilesrc.sgml:
7425         * docs/gst/tmpl/gstidentity.sgml:
7426         * docs/gst/tmpl/gstindex.sgml:
7427         * docs/gst/tmpl/gstinfo.sgml:
7428         * docs/gst/tmpl/gstmd5sink.sgml:
7429         * docs/gst/tmpl/gstmultifilesrc.sgml:
7430         * docs/gst/tmpl/gstpad.sgml:
7431         * docs/gst/tmpl/gstpipefilter.sgml:
7432         * docs/gst/tmpl/gstpipeline.sgml:
7433         * docs/gst/tmpl/gstpluginfeature.sgml:
7434         * docs/gst/tmpl/gstqueue.sgml:
7435         * docs/gst/tmpl/gstregistry.sgml:
7436         * docs/gst/tmpl/gstscheduler.sgml:
7437         * docs/gst/tmpl/gstshaper.sgml:
7438         * docs/gst/tmpl/gstspider.sgml:
7439         * docs/gst/tmpl/gstspideridentity.sgml:
7440         * docs/gst/tmpl/gststatistics.sgml:
7441         * docs/gst/tmpl/gstsystemclock.sgml:
7442         * docs/gst/tmpl/gsttee.sgml:
7443         * docs/gst/tmpl/gstthread.sgml:
7444         * docs/gst/tmpl/gsttypefind.sgml:
7445         * docs/gst/tmpl/gstutils.sgml:
7446           further doc build fixes
7447
7448 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7449
7450         * docs/gst/Makefile.am:
7451           make docs exit on scanning problems
7452           fix nonsrcdir build issues
7453         * docs/gst/gstreamer-sections.txt:
7454           adding stuff from -unused
7455         * gst/gstqueue.h:
7456           create GstQueueSize
7457         * gst/schedulers/cothreads_compat.h:
7458           fix cothread warnings
7459
7460 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7461
7462         * docs/gst/gstreamer-sections.txt:
7463           remove defines deprecated by Benjamin
7464
7465 2004-04-07  Benjamin Otte  <otte@gnome.org>
7466
7467         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
7468           when the buffer is complete, don't check if other buffers are needed
7469         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
7470           check that the offset is >0 so we don't try to read before the
7471           beginning of the file
7472         * gst/gstpad.c: (gst_pad_set_pad_template):
7473           sink the template, so we don't end up with 130k pad templates
7474
7475 2004-04-06  Benjamin Otte  <otte@gnome.org>
7476
7477         * gst/autoplug/gstspider.c: (gst_spider_link_add):
7478           don't ref the element, adding already reffed it. And we didn't unref
7479           it later anyway... (huge memleak when you used many spider elements)
7480         * gst/gstelement.c: (gst_element_base_class_finalize):
7481         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
7482         (gst_element_register):
7483         * gst/gsturi.c: (gst_element_make_from_uri):
7484           use gst_object_(un)ref instead of g_object(un)ref
7485
7486 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7487
7488         * gst/gstbuffer.h:
7489           remove macro that wouldn't work anymore because struct member has
7490           been removed.
7491         * gst/schedulers/entryscheduler.c: (schedule_forward):
7492           fix segfault for unconnected pads
7493         
7494 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7495
7496         reviewed by David Schleef <ds@schleef.org>
7497
7498         * gst/gstinfo.h:
7499           *_FORMAT modifiers should require putting a % in front of them for
7500           consistency reasons.
7501
7502 2004-04-05  Colin Walters  <walters@redhat.com>
7503
7504         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
7505         space.
7506
7507 2004-04-05  Benjamin Otte  <otte@gnome.org>
7508
7509         * configure.ac:
7510         * gst/Makefile.am:
7511         * gst/gst_private.h:
7512         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
7513           add support for detecting if GStreamer runs inside valgrind.
7514           requires valgrind (d'oh) and --enable-debug for correct cdetection.
7515           print a big message in valgrind that GStreamer has detected it's
7516           running inside and might now use different code.
7517         * gst/gstmemchunk.c: (populate), (free_area),
7518         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
7519         (gst_mem_chunk_free):
7520           flag memchunks for valgrind, so it can detect leaking of chunks.
7521           This allows detecting leaks of GstBuffer and GstEvent correctly
7522           inside valgrind.
7523
7524 2004-04-05  David Schleef  <ds@schleef.org>
7525
7526         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
7527           jensgr@gmx.net (Jens Granseuer)
7528
7529 2004-04-05  David Schleef  <ds@schleef.org>
7530
7531         * gst/gstbuffer.c: (_gst_buffer_sub_free),
7532         (gst_buffer_default_free), (gst_buffer_default_copy),
7533         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
7534         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
7535         structures in one place.
7536
7537 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7538
7539         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
7540           (GST_TIME_FORMAT, GST_TIME_ARGS)
7541
7542 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7543
7544         * testsuite/elements/Makefile.am:
7545           disable test until it stops breaking make distcheck
7546
7547 2004-04-05  Johan Dahlin  <johan@gnome.org>
7548
7549         * po/sv.po: Updated translation
7550
7551 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7552
7553         * gst/gstplugin.c: (gst_plugin_load_file):
7554           fix segfault for when original plugin was loaded statically
7555
7556 2004-04-05  Benjamin Otte  <otte@gnome.org>
7557
7558         * testsuite/debug/category.c: (main):
7559         * testsuite/debug/commandline.c: (main):
7560         * testsuite/debug/output.c: (main):
7561           fix tests to work again with debugging enabled
7562
7563 2004-04-05  Benjamin Otte  <otte@gnome.org>
7564
7565         * gst/schedulers/gstbasicscheduler.c:
7566         (gst_basic_scheduler_pad_link):
7567           fix to work with recent scheduling changes
7568
7569 2004-04-05  Benjamin Otte  <otte@gnome.org>
7570
7571         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
7572         prepareChangeLog doesn't work when cvs indents):
7573           don't throw an error when no element can be scheduled, there's too
7574           many weird reasons why it doesn't work. Return STOPPED instead.
7575           decoupled elemts' schedulability doesn't depend on bufpens.
7576
7577 2004-04-04  Benjamin Otte  <otte@gnome.org>
7578
7579         * gst/schedulers/gstbasicscheduler.c:
7580         (gst_basic_scheduler_pad_select):
7581           fix uninitialized variable warnings
7582
7583 2004-04-04  Benjamin Otte  <otte@gnome.org>
7584
7585         * gst/gstpad.c: (gst_pad_collect_valist):
7586           fix uninitialized variable warning
7587         * gst/schedulers/entryscheduler.c: (schedule_forward):
7588           fix shadowed variable
7589
7590 2004-04-04  Benjamin Otte  <otte@gnome.org>
7591
7592         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
7593         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
7594         (gst_pad_select):
7595         * gst/gstpad.h:
7596         * gst/gstscheduler.c: (gst_scheduler_pad_select),
7597         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
7598         * gst/gstscheduler.h:
7599           implement gst_pad_collect as replacement for gst_pad_select.
7600           deprecate gst_pad_select and gst_scheduler_(un)lock_element
7601           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
7602           new pad_select, lock and unlock calls.
7603         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
7604         * gst/cothreads.h:
7605         * gst/schedulers/cothreads_compat.h:
7606         * gst/schedulers/gthread-cothreads.h:
7607           remove unused cothread_lock and cothread_unlock calls
7608         * gst/schedulers/entryscheduler.c:
7609         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
7610         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
7611         (gst_entry_scheduler_pad_select):
7612           update to new API
7613         * gst/schedulers/gstbasicscheduler.c:
7614         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
7615         (gst_basic_scheduler_pad_select):
7616           remove useless lock and unlock calls, update pad_select to new API
7617           (untested)
7618         * gst/schedulers/gstoptimalscheduler.c:
7619         (gst_opt_scheduler_class_init):
7620           remove useless select, lock and unlock function calls
7621         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
7622           use gst_pad_collect instead of gst_pad_select
7623
7624 2004-04-04  Benjamin Otte  <otte@gnome.org>
7625
7626         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
7627         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
7628         (schedule_next_element), (print_entry):
7629           add can_schedule_pad to handle element states.
7630           add schedule_forward to select the correct entry to schedule next
7631
7632 2004-04-03  Benjamin Otte  <otte@gnome.org>
7633
7634         * gst/schedulers/entryscheduler.c: 
7635           remove unused variable, fix error inside Rb, fix compile warning in
7636           unreachable code
7637
7638 2004-04-03  Benjamin Otte  <otte@gnome.org>
7639
7640         * gst/schedulers/entryscheduler.c:
7641           completely revamp the inner workings, so it's a lot easier to
7642           understand and extend
7643
7644 2004-04-03  Andy Wingo  <wingo@pobox.com>
7645
7646         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
7647         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
7648         This allows better introspection of pipeline topology.
7649         (add_to_chain): Don't do trickery to put loop elements first;
7650         rather, queue a chain sort by marking the chain as dirty.
7651         (remove_from_chain): Mark the chain dirty.
7652         (sort_chain): New function. Sorts the group list so that terminal
7653         sinks are first. This means elements on the sink side will be
7654         preferentially sscheduled before elements on the src side of the
7655         pipeline.
7656         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
7657         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
7658         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
7659         (group_inc_link): Change argument and variable names to match the
7660         new link structure member names (src and sink).
7661         (group_dec_link): Add some description
7662
7663 2004-04-03  Benjamin Otte  <otte@gnome.org>
7664
7665         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
7666         * gst/gstinfo.h:
7667         * testsuite/debug/category.c: (main):
7668         * testsuite/debug/commandline.c: (main):
7669         * testsuite/debug/output.c: (main):
7670         * testsuite/debug/printf_extension.c: (main):
7671           fix to successfully build and test with --disable-gst-debug
7672           configure switch (fixes #138705)
7673
7674 2004-04-03  Benjamin Otte  <otte@gnome.org>
7675
7676         * docs/pwg/building-boiler.xml:
7677           add cvs login line and s/anonymous/anoncvs/
7678
7679 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
7680
7681         reviewed by Benjamin Otte  <otte@gnome.org>
7682
7683         * gst/gststructure.c: (gst_structure_free):
7684           memleak fix: free fields array (partial fix for #134839)
7685
7686 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7687
7688         * docs/random/ds/0.9-suggested-changes:
7689           Add a note to change handoff use in fakesrc to be usable in
7690           a more generic way (fakesrc should be renamed to appsrc or so).
7691         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7692           Change signal type to scope, so we can fill the buffer in the
7693           handoff handler (that's the whole use of this signal...).
7694
7695 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7696
7697         * docs/pwg/other-ntoone.xml:
7698           Document muxers and n-to-1 elements.
7699
7700 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
7701
7702         * gst/registries/gstxmlregistry.c
7703         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
7704         determine if a file is a G_MODULE. The old one discards paths
7705         containing "so" somewhere in the middle. My home directory is
7706         called "soto". Go figure...
7707
7708 2004-03-31  David Schleef  <ds@schleef.org>
7709
7710         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
7711         to eventually deprecate gst_buffer_merge().  (bug: #136408)
7712         * gst/gstbuffer.h:
7713
7714 2004-03-31  David Schleef  <ds@schleef.org>
7715
7716         * gst/gstvalue.c: (gst_value_union_int_int_range),
7717         (gst_value_union_int_range_int_range), (gst_value_can_union),
7718         (gst_value_union), (_gst_value_initialize):  Add some union
7719         implementations.  We didn't have any previously.
7720         * testsuite/caps/Makefile.am:
7721         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
7722         (gst_audioscale_getcaps), (test_caps), (main): A little test
7723         that is the same as the caps manipulation in audioscale.
7724
7725 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7726
7727         * docs/faq/general.xml:
7728           add entry about "does gst support format X?"
7729
7730 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7731
7732         * gst/gstthread.c:
7733           fix docs
7734         * gst/gstutils.h:
7735           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
7736
7737 2004-03-30  Benjamin Otte  <otte@gnome.org>
7738
7739         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
7740           set the offset of the buffer to the requested offset
7741         * gst/elements/gsttypefind.c: (stop_typefinding):
7742           revert patch 1.18 (which I unfortunately don't know the reason for).
7743           This is needed to allow downstream elements to seek. Otherwise
7744           typefind might overwrite a previous seek by downstream elements.
7745           This lead to errors with id3tag and typefind on some mp3s.
7746         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
7747         (gst_entry_scheduler_iterate):
7748           be more verbose when debugging
7749
7750 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7751
7752         * gst/gstcaps.c: (gst_caps_from_string_inplace):
7753           make sure we don't get NULL strings
7754
7755 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7756
7757         * gst/gstcaps.c:
7758         * gst/gstelement.c:
7759         * gst/gstelementfactory.c: (gst_element_factory_get_type):
7760         * gst/gstindex.c: (gst_index_resolver_get_type),
7761         (gst_index_get_type), (gst_index_factory_get_type):
7762         * gst/gstinfo.c:
7763         * gst/gstpad.c:
7764         * gst/gstplugin.c:
7765         * gst/gsturi.c: (gst_uri_handler_get_type):
7766         * gst/gstvalue.c:
7767           first batch of documentation fixes
7768
7769 2004-03-29  David Schleef  <ds@schleef.org>
7770
7771         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
7772         * docs/gst/gstreamer-docs.sgml:  More hacking
7773         * docs/gst/gstreamer-sections.txt:
7774         * docs/gst/tmpl/cothreads_compat.sgml:
7775         * docs/gst/tmpl/gstcaps.sgml:
7776         * docs/gst/tmpl/gstclock.sgml:
7777         * docs/gst/tmpl/gstelement.sgml:
7778         * docs/gst/tmpl/gstevent.sgml:
7779         * docs/gst/tmpl/gstpad.sgml:
7780         * docs/gst/tmpl/gstutils.sgml:
7781         * docs/gst/tmpl/gstxml.sgml:
7782         * docs/gst/tmpl/gthread-cothreads.sgml:
7783         * docs/random/ds/0.9-suggested-changes:
7784         * gst/elements/gstfakesink.h: doc fixes
7785         * gst/elements/gstfakesrc.h: doc fixes
7786         * gst/gstcaps.c: doc fixes
7787         * gst/gstcaps.h: doc fixes
7788         * gst/gstelement.c: doc fixes
7789         * gst/gstelement.h: doc fixes
7790         * gst/gstindex.c: doc fixes
7791         * gst/gstinfo.c: doc fixes
7792         * gst/gstpad.c: doc fixes
7793         * gst/gstpad.h: doc fixes
7794         * gst/gstplugin.c: doc fixes
7795         * gst/gsttypefind.h: doc fixes
7796         * gst/gsturi.c: doc fixes
7797         * gst/gstvalue.c: doc fixes
7798
7799 2004-03-29  Colin Walters  <walters@redhat.com>
7800
7801         * gst/registries/gstxmlregistry.c (get_time)
7802         (plugin_times_older_than_recurse):
7803         Use the result of stat to determine whether a path is a file,
7804         so we don't attempt to opendir() files.
7805
7806 2004-03-29  Benjamin Otte  <otte@gnome.org>
7807
7808         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7809           print caps in debugging output when setting caps failed
7810         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
7811         (schedule_next_element), (get_buffer), (run_chainhandler),
7812         (element_may_start), (gst_entry_scheduler_chain_handler),
7813         (gst_entry_scheduler_get_handler),
7814         (gst_entry_scheduler_state_transition),
7815         (gst_entry_scheduler_pad_link):
7816           make this scheduler a testcase for mandatory
7817           discont-before-first-buffer which is needed if we want to allow apps
7818           to release the sound device.
7819           add SCHED_ASSERT macro to print scheduler state before an assertion
7820           triggers.
7821
7822 2004-03-29  Benjamin Otte  <otte@gnome.org>
7823
7824         * COPYING:
7825           replace by LGPL (former COPYING.LIB). The core is completely
7826           licensed LGPL.
7827         * COPYING.LIB:
7828           remove
7829
7830 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7831
7832         * po/af.po:
7833         * po/sv.po:
7834           updated Afrikaans and Swedish
7835
7836 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7837
7838         * po/LINGUAS:
7839         * po/az.po:
7840           adding Azerbaijani (Mətin Əmirov)
7841
7842 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
7843
7844         * gst/gstelement.h: 
7845         * gst/gstelement.c (gst_element_set_time_delay): New function for
7846         setting element time taking into account a hardware buffering
7847         delay.
7848         (gst_element_set_time): Now just an invocation of
7849         gst_element_set_time_delay.
7850         * gst/gstclock.h: 
7851         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
7852         allowing to set event times in the future.
7853         (gst_clock_get_event_time): Now just an invocation of
7854         gst_clock_get_event_time_delay.
7855
7856 2004-03-28  Benjamin Otte  <otte@gnome.org>
7857
7858         * gst/gstbin.c: (gst_bin_set_element_sched),
7859         (gst_bin_unset_element_sched):
7860           don't add decoupled elements to schedulers - otherwise it's
7861           impossible to control if a link to a decoupled element was already
7862           removed from a scheduler or not.
7863         * gst/schedulers/cothreads_compat.h:
7864         * gst/schedulers/gthread-cothreads.h:
7865           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
7866           is no "unused" warning.
7867         * gst/schedulers/Makefile.am:
7868         * gst/schedulers/entryscheduler.c:
7869           add new scheduler, based on ideas from talking to David and Martin.
7870           It's supposed to be small and correct. Currently it's also slow (but
7871           it's not noticable)
7872         * examples/retag/retag.c: (main):
7873         * testsuite/bytestream/test1.c: (main):
7874           fix missing NULLs at end of variadic functions
7875         * testsuite/elements/.cvsignore:
7876           update
7877
7878 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
7879
7880         * gst/gstevent.h:
7881         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
7882
7883 2004-03-25  David Schleef  <ds@schleef.org>
7884
7885         * docs/gst/gstreamer-sections.txt:  More doc hacking.
7886         * docs/gst/tmpl/gstaggregator.sgml:
7887         * docs/gst/tmpl/gstautoplugfactory.sgml:
7888         * docs/gst/tmpl/gstbin.sgml:
7889         * docs/gst/tmpl/gstbuffer.sgml:
7890         * docs/gst/tmpl/gstbufferstore.sgml:
7891         * docs/gst/tmpl/gstfakesink.sgml:
7892         * docs/gst/tmpl/gstfakesrc.sgml:
7893         * docs/gst/tmpl/gstmd5sink.sgml:
7894         * docs/gst/tmpl/gstreamer-unused.sgml:
7895         * docs/gst/tmpl/gstsearchfuncs.sgml:
7896         * docs/gst/tmpl/gstshaper.sgml:
7897         * docs/gst/tmpl/gstspider.sgml:
7898         * docs/gst/tmpl/gsttee.sgml:
7899         * docs/gst/tmpl/gstutils.sgml:
7900         * docs/gst/tmpl/gstvalue.sgml:
7901         * docs/gst/tmpl/gstxml.sgml:
7902         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
7903         and we don't support it.
7904         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7905         (gst_use_threads), (gst_has_threads): same
7906         * gst/gstthreaddummy.c: same
7907         * gst/autoplug/gstspider.c: Make gst_spider_details static.
7908         * gst/autoplug/gstspider.h: same
7909         * gst/elements/gstaggregator.h: Remove bogus function from header
7910         * gst/elements/gstfakesink.h: same
7911         * gst/elements/gstfakesrc.h: same
7912         * gst/elements/gstmd5sink.h: same
7913         * gst/elements/gstshaper.h: same
7914         * gst/elements/gsttee.h: same
7915         * gst/gstbin.c: doc fixes
7916         * gst/gstbin.h: Remove unused definition.
7917         * gst/gstbuffer.c: doc fixes
7918         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
7919         * gst/gstfilter.c: doc fixes
7920         * gst/gsttag.c: doc fixes
7921         * gst/gstvalue.c: doc fixes
7922
7923 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7924
7925         * docs/pwg/advanced-types.xml:
7926           Document typefinding.
7927         * docs/pwg/other-oneton.xml:
7928           Document one-to-n elements, demuxers and parsers.
7929
7930 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
7931
7932         reviewed by: David Schleef  <ds@schleef.org>
7933
7934         * configure.ac: Check bison version (bug #127838)
7935
7936 2004-03-25  David Schleef  <ds@schleef.org>
7937
7938         * docs/gst/gstreamer-docs.sgml: More fine tuning.
7939         * docs/gst/gstreamer-sections.txt:
7940         * docs/gst/tmpl/gstautoplug.sgml:
7941         * docs/gst/tmpl/gststaticautoplug.sgml:
7942         * docs/gst/tmpl/gststaticautoplugrender.sgml:
7943         * docs/gst/tmpl/gstutils.sgml:
7944         * docs/gst/tmpl/gstxml.sgml:
7945
7946 2004-03-24  David Schleef  <ds@schleef.org>
7947
7948         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
7949         manual being such complete crap, that I decided to do major
7950         hacking of it.  This checkin replaces any fine tuning that
7951         may have been done previously, with the benefit of actually
7952         being complete for much of the API that was changed since
7953         0.6.  Further fine tuning will occur shortly.  (bug #134721)
7954         * docs/gst/gstreamer-sections.txt:
7955         * docs/gst/tmpl/GstBin.sgml:
7956         * docs/gst/tmpl/GstBuffer.sgml:
7957         * docs/gst/tmpl/GstCaps.sgml:
7958         * docs/gst/tmpl/GstClock.sgml:
7959         * docs/gst/tmpl/GstCompat.sgml:
7960         * docs/gst/tmpl/GstData.sgml:
7961         * docs/gst/tmpl/GstElement.sgml:
7962         * docs/gst/tmpl/GstEvent.sgml:
7963         * docs/gst/tmpl/GstIndex.sgml:
7964         * docs/gst/tmpl/GstStructure.sgml:
7965         * docs/gst/tmpl/GstTag.sgml:
7966         * docs/gst/tmpl/cothreads.sgml:
7967         * docs/gst/tmpl/cothreads_compat.sgml:
7968         * docs/gst/tmpl/gettext.sgml:
7969         * docs/gst/tmpl/grammar.tab.sgml:
7970         * docs/gst/tmpl/gst-i18n-app.sgml:
7971         * docs/gst/tmpl/gst-i18n-lib.sgml:
7972         * docs/gst/tmpl/gst.sgml:
7973         * docs/gst/tmpl/gst_private.sgml:
7974         * docs/gst/tmpl/gstaggregator.sgml:
7975         * docs/gst/tmpl/gstarch.sgml:
7976         * docs/gst/tmpl/gstatomic.sgml:
7977         * docs/gst/tmpl/gstatomic_impl.sgml:
7978         * docs/gst/tmpl/gstbin.sgml:
7979         * docs/gst/tmpl/gstbuffer.sgml:
7980         * docs/gst/tmpl/gstbufferstore.sgml:
7981         * docs/gst/tmpl/gstcaps.sgml:
7982         * docs/gst/tmpl/gstclock.sgml:
7983         * docs/gst/tmpl/gstcompat.sgml:
7984         * docs/gst/tmpl/gstconfig.sgml:
7985         * docs/gst/tmpl/gstcpu.sgml:
7986         * docs/gst/tmpl/gstdata.sgml:
7987         * docs/gst/tmpl/gstdata_private.sgml:
7988         * docs/gst/tmpl/gstelement.sgml:
7989         * docs/gst/tmpl/gstenumtypes.sgml:
7990         * docs/gst/tmpl/gsterror.sgml:
7991         * docs/gst/tmpl/gstevent.sgml:
7992         * docs/gst/tmpl/gstfakesink.sgml:
7993         * docs/gst/tmpl/gstfakesrc.sgml:
7994         * docs/gst/tmpl/gstfilesink.sgml:
7995         * docs/gst/tmpl/gstfilter.sgml:
7996         * docs/gst/tmpl/gstindex.sgml:
7997         * docs/gst/tmpl/gstinfo.sgml:
7998         * docs/gst/tmpl/gstinterface.sgml:
7999         * docs/gst/tmpl/gstlog.sgml:
8000         * docs/gst/tmpl/gstmacros.sgml:
8001         * docs/gst/tmpl/gstmarshal.sgml:
8002         * docs/gst/tmpl/gstmd5sink.sgml:
8003         * docs/gst/tmpl/gstmultifilesrc.sgml:
8004         * docs/gst/tmpl/gstobject.sgml:
8005         * docs/gst/tmpl/gstpad.sgml:
8006         * docs/gst/tmpl/gstparse.sgml:
8007         * docs/gst/tmpl/gstpipeline.sgml:
8008         * docs/gst/tmpl/gstplugin.sgml:
8009         * docs/gst/tmpl/gstpluginfeature.sgml:
8010         * docs/gst/tmpl/gstqueue.sgml:
8011         * docs/gst/tmpl/gstreamer-unused.sgml:
8012         * docs/gst/tmpl/gstregistry.sgml:
8013         * docs/gst/tmpl/gstregistrypool.sgml:
8014         * docs/gst/tmpl/gstscheduler.sgml:
8015         * docs/gst/tmpl/gstsearchfuncs.sgml:
8016         * docs/gst/tmpl/gstshaper.sgml:
8017         * docs/gst/tmpl/gstspider.sgml:
8018         * docs/gst/tmpl/gstspideridentity.sgml:
8019         * docs/gst/tmpl/gststructure.sgml:
8020         * docs/gst/tmpl/gstsystemclock.sgml:
8021         * docs/gst/tmpl/gsttag.sgml:
8022         * docs/gst/tmpl/gsttaginterface.sgml:
8023         * docs/gst/tmpl/gsttee.sgml:
8024         * docs/gst/tmpl/gstthread.sgml:
8025         * docs/gst/tmpl/gsttrace.sgml:
8026         * docs/gst/tmpl/gsttrashstack.sgml:
8027         * docs/gst/tmpl/gsttypefind.sgml:
8028         * docs/gst/tmpl/gsttypes.sgml:
8029         * docs/gst/tmpl/gsturi.sgml:
8030         * docs/gst/tmpl/gsturitype.sgml:
8031         * docs/gst/tmpl/gstutils.sgml:
8032         * docs/gst/tmpl/gstvalue.sgml:
8033         * docs/gst/tmpl/gstversion.sgml:
8034         * docs/gst/tmpl/gstxml.sgml:
8035         * docs/gst/tmpl/gstxmlregistry.sgml:
8036         * docs/gst/tmpl/gthread-cothreads.sgml:
8037         * docs/gst/tmpl/types.sgml:
8038
8039 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8040
8041         * docs/pwg/other-sink.xml:
8042         * docs/pwg/other-source.xml:
8043           Documentation on how to write source and sink elements. Other
8044           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
8045           manager, autoplugger) are all still pending.
8046
8047 2004-03-25  Benjamin Otte  <otte@gnome.org>
8048
8049         * testsuite/elements/Makefile.am:
8050         * testsuite/elements/gst-compprep-check:
8051           add check to make sure gst-compprep works
8052         * testsuite/elements/gst-inspect-check.in:
8053           improve initialization output
8054         * testsuite/Makefile.am:
8055         * testsuite/gst-inspect-check:
8056           remove old file
8057
8058 2004-03-24  David Schleef  <ds@schleef.org>
8059
8060         * testsuite/elements/Makefile.am:
8061         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
8062         to the testsuite.
8063
8064 2004-03-24  Benjamin Otte  <otte@gnome.org>
8065
8066         * libs/gst/control/dparam.c: (gst_dparam_attach),
8067         (gst_dparam_detach):
8068         * libs/gst/control/dparammanager.c: (gst_dpman_init):
8069           fix lvalue casts for real
8070
8071 2004-03-24  Benjamin Otte  <otte@gnome.org>
8072
8073         * gst/schedulers/gstbasicscheduler.c:
8074         (gst_basic_scheduler_src_wrapper):
8075         * gst/schedulers/gstoptimalscheduler.c:
8076         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8077         (pad_clear_queued), (gst_opt_scheduler_add_element),
8078         (gst_opt_scheduler_remove_element):
8079           fix GStreamer to not have issues with lvalue casts anymore (fixes
8080           #136841)
8081
8082 2004-03-24  Benjamin Otte  <otte@gnome.org>
8083
8084         * gst/gstelement.c:
8085           add documentation about a gobject quirk where the object hasn't the
8086           correct class pointer set on initialization
8087         * gst/schedulers/gstbasicscheduler.c:
8088         (gst_basic_scheduler_src_wrapper):
8089           make sure to not run into an infinite loop
8090
8091 2004-03-22  Benjamin Otte  <otte@gnome.org>
8092
8093         * gst/gstutils.c: (gst_util_dump_mem):
8094         * gst/gstutils.h:
8095           first argument of gst_util_dump_mem should be const
8096
8097 2004-03-22  Johan Dahlin  <johan@gnome.org>
8098
8099         * gst/gstvalue.h: Clean up a little bit.
8100
8101 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
8102
8103         reviewed by Benjamin Otte  <otte@gnome.org>
8104
8105         * gst/autoplug/gstspider.c: (gst_spider_dispose):
8106         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
8107         (gst_aggregator_class_init), (gst_aggregator_init):
8108         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8109         (gst_filesrc_dispose), (gst_filesrc_set_location):
8110         * gst/elements/gstidentity.c: (gst_identity_finalize),
8111         (gst_identity_class_init), (gst_identity_chain):
8112         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
8113         * gst/elements/gststatistics.c: (gst_statistics_finalize),
8114         (gst_statistics_class_init):
8115         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
8116         (gst_tee_get_property):
8117           clean up used memory in this elements correctly on teardown (closes
8118           #137279)
8119
8120 2004-03-20  Colin Walters  <walters@redhat.com>
8121
8122         * gst/registries/gstxmlregistry.c:
8123         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
8124         registry saving atomic.
8125
8126 2004-03-20  Colin Walters  <walters@redhat.com>
8127
8128         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
8129         Just use
8130         access() instead of actually creating and deleting files.
8131
8132 2004-03-18  David Schleef  <ds@schleef.org>
8133
8134         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
8135         (bug #137625)
8136
8137 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8138
8139         * po/sv.po: updated translation (Christian Rose)
8140
8141 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8142
8143         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
8144         (gst_filesink_get_query_types), (_do_init),
8145         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
8146           return FALSE silently
8147         * po/af.po: updated translation (Petri Jooste)
8148
8149 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8150
8151         * Makefile.am:
8152         * configure.ac:
8153           dist common properly
8154         * po/af.po:
8155         * po/fr.po:
8156         * po/nl.po:
8157         * po/sr.po:
8158         * po/sv.po:
8159           refreshing translations
8160
8161 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8162
8163         * po/LINGUAS:
8164         * po/sv.po:
8165         * po/af.po:
8166           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
8167
8168 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8169
8170         * Makefile.am: use common/release.mak
8171
8172 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8173
8174         * docs/faq/gst-uninstalled:
8175           adding gst-monkeysaudio to the list of possible plugin dirs
8176
8177 2004-03-16  David Schleef  <ds@schleef.org>
8178
8179         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
8180         (gst_init_check_with_popt_table):  Fix some gettext strings to
8181         make them easier to translate.  Required making the strings
8182         non-const.
8183
8184 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8185
8186         * configure.ac: bump nano to 1
8187
8188 === release 0.8.0 ===
8189
8190 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8191
8192         * configure.ac: release 0.8.0, "Executive Slacks"
8193
8194 2004-03-16  Johan Dahlin  <johan@gnome.org>
8195
8196         * gst/schedulers/gstoptimalscheduler.c
8197         (gst_opt_scheduler_pad_unlink): Remove double ;,
8198         spotted by Scott Wheeler
8199
8200 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8201
8202         * configure.ac: bump libtool version
8203
8204 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8205
8206         * gst/gstcaps.h:
8207         * gst/gststructure.h:
8208           add reserved padding
8209
8210 2004-03-15  Benjamin Otte  <otte@gnome.org>
8211
8212         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8213           set the first parameter for select call correctly.
8214           (fixes #137230)
8215
8216 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8217
8218         * *.c,*.h: don't mix tabs and spaces
8219
8220 2004-03-15  Johan Dahlin  <johan@gnome.org>
8221
8222         * gst/schedulers/gstoptimalscheduler.c
8223         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
8224         crash on MPEG playback. My boolean arithmetic is a bit rusty.
8225
8226         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
8227         
8228 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8229
8230         * testsuite/Rules:
8231           fix gst-register rules
8232
8233 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8234
8235         * testsuite/Rules:
8236           use versioned gst-register
8237
8238 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8239
8240         * docs/libs/gstreamer-libs-sections.txt:
8241           remove </SUBSECTION>
8242         * gst/gstplugin.c:
8243         * gst/gstregistry.c: (gst_registry_add_plugin):
8244         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
8245         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
8246           add debugging and fix some comment blocks
8247
8248 2004-03-15  Johan Dahlin  <johan@gnome.org>
8249
8250         * *.h: Revert indent changes.
8251         
8252 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8253
8254         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
8255           g_error_free the g_error
8256         * tools/gst-feedback-m.m:
8257           check for other versions of gstreamer
8258         * tools/gst-indent:
8259           use sh, not bash
8260
8261 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8262
8263         * tools/gst-register.c: do not spill paths when registries are not
8264           writable, until we fix the "user running gst-register" case.
8265
8266 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8267
8268         * *.c, *.h: commit of gst-indent run on core
8269
8270 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8271
8272         * tools/gst-indent:
8273         * tools/Makefile.am:
8274           add our indentation style as a script
8275
8276 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8277
8278         * po/sr.po:
8279         * po/LINGUAS:
8280           added Serbian translation
8281
8282 2004-03-13  Benjamin Otte  <otte@gnome.org>
8283
8284         * gst/gstelement.c:
8285           add documentation note about gst_element_found_tags_for_pad not
8286           being usable in getfunctions. (see #137042)
8287
8288 2004-03-12  David Schleef  <ds@schleef.org>
8289
8290         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
8291         change API right now!  Readd gst_caps_is_simple() macro.
8292         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
8293         uninitialized variable.  I'd bet this caused crashes.
8294         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
8295
8296 2004-03-12  Johan Dahlin  <johan@gnome.org>
8297
8298         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
8299         * gst/gstcaps.h: Clean up
8300
8301         * gst/gst.c (init_post): call gst_caps_get_type() instead of
8302         _gst_caps_initalize()
8303
8304         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
8305         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
8306
8307         * gst/gststructure.c (gst_structure_get_type): Ditto
8308
8309         * gst/gststructure.h: Ditto
8310         
8311 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8312
8313         * gst/gstqueue.c: (gst_queue_init):
8314           Reset default max. values in queues. Reason is simply to avoid
8315           braindead use. If you want wider values, use the properties. The
8316           default is supposed to always work. Wider values would make this
8317           beast a memory hog by default (250 full-PAL RGB32 video frames?
8318           That's 440 MB! No thank you).
8319
8320 2004-03-10  David Schleef  <ds@schleef.org>
8321
8322         * tools/gst-run.c: (main):  Fix crash when no relevant tools
8323         were found.  (bug #136793)
8324
8325 2004-03-10  Johan Dahlin  <johan@gnome.org>
8326
8327         * gst/schedulers/gstoptimalscheduler.c
8328         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
8329         links to elements within the same group, so we can finally remove
8330         that annoying warning. Refactor the code a little bit
8331         (group_dec_links_for_element): Split out
8332
8333 2004-03-09  David Schleef  <ds@schleef.org>
8334
8335         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
8336         (bug #134863)
8337
8338 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8339
8340         * configure.ac: first bug fix due to major/minor bump
8341
8342 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8343
8344         * configure.ac: bump nano to 1
8345
8346 === release 0.7.6 ===
8347
8348 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8349
8350         * NEWS:
8351         * RELEASE:
8352         * configure.ac:
8353           releasing 0.7.6, "Almost"
8354         * po/fr.po:
8355         * po/nl.po:
8356         * tools/Makefile.am:
8357         * tools/gst-feedback-m.m:
8358           unversioned source
8359
8360 2004-03-09  Johan Dahlin  <johan@gnome.org>
8361
8362         Reviewed by: Thomas Vander Stichele
8363
8364         * gst/gstelement.c (gst_element_class_init): register second
8365         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
8366         language bindings can (de)marshall correctly.
8367
8368         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
8369
8370         * gst/gsterror.c (gst_g_error_get_type): New function
8371
8372         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
8373         with VOID:OBJECT,OBJECT,STRING 
8374
8375 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
8376
8377         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
8378         Free a leaked g_timer on early returns.
8379
8380 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8381
8382         * docs/pwg/advanced-types.xml:
8383           Add cinepak description.
8384
8385 2004-03-07  David Schleef  <ds@schleef.org>
8386
8387         * docs/random/mimetypes:  Added cinepak description
8388
8389 2004-03-07  Andy Wingo  <wingo@pobox.com>
8390
8391         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
8392
8393         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
8394         there are no links to other groups when a group is destroyed.
8395         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
8396         removed from a group, make sure the link count to elements linked
8397         to other pads is appropriately decremented. This really fixes
8398         #135672.
8399
8400         The 1.60->1.61 patch has been reapplied in light of this fix.
8401
8402         * gst/gstelement.c (gst_element_dispose): Really protect against
8403         multiple invocations this time.
8404
8405 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8406
8407         * docs/gst/gstreamer-sections.txt:
8408         * docs/gst/tmpl/gsttag.sgml:
8409           remove some deprecated functions, document some existing ones
8410         * gst/gsttag.c: (gst_tag_get_flag):
8411         * gst/gsttag.h:
8412           add accessor function
8413
8414 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8415
8416         * docs/gst/gstreamer-sections.txt:
8417         * docs/gst/tmpl/gsttag.sgml:
8418         * docs/gst/tmpl/gstxml.sgml:
8419         * gst/gsttag.c: (gst_tag_get_flag):
8420         * gst/gsttag.h:
8421
8422 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
8423
8424         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
8425         leak
8426
8427 2004-03-05  David Schleef  <ds@schleef.org>
8428
8429         * REQUIREMENTS: Add bison and flex.
8430         * configure.ac: Fix comment about bison.
8431         * docs/random/ds/0.9-suggested-changes: yer ma
8432         * tools/gst-inspect.c: (print_element_info):  Fix warning.
8433
8434 2004-03-05  Benjamin Otte  <otte@gnome.org>
8435
8436         * gst/gstelement.c: (gst_element_error_full):
8437           revert recent recursive state changing commit - messing with other
8438           elements' states is evil and should be done by apps only.
8439
8440 2004-03-05  Benjamin Otte  <otte@gnome.org>
8441
8442         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
8443           check for empty intersection instead of NULL caps
8444         (gst_element_get_compatible_pad_filtered):
8445           remove old workaround that is only a bug nowadays
8446
8447 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8448
8449         * gst/gstelement.c: (gst_element_error_full):
8450           make elements try to recursively change state to PAUSED on all
8451           parents after an error to suppress ensuing warnings
8452         * gst/parse/grammar.y:
8453           make it check if it was able to sync the state, and throw an error
8454           if not, so stuff like
8455           oggdemux ! vorbisdec ! osssink gets caught
8456
8457 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8458
8459         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
8460           it contains lib64; use AS_AC_EXPAND to handle it properly
8461
8462 2004-03-05  David Schleef  <ds@schleef.org>
8463
8464         * gst/gstcpuid_i386.s:  Remove unused code
8465         * libs/gst/getbits/getbits.c: (gst_getbits_init),
8466         (gst_getbits_newbuf): Remove MMX code
8467         * libs/gst/getbits/getbits.h: Remove MMX code
8468
8469 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
8470
8471         * debian/.cvsignore:
8472         * debian/README.Debian:
8473         * debian/changelog:
8474         * debian/control:
8475         * debian/control.in:
8476         * debian/copyright:
8477         * debian/gstreamer-core-libs-dev.files:
8478         * debian/gstreamer-core-libs.files:
8479         * debian/gstreamer-core.files:
8480         * debian/gstreamer-core.postinst:
8481         * debian/gstreamer-core.postrm:
8482         * debian/gstreamer-doc.files:
8483         * debian/gstreamer-doc.links:
8484         * debian/gstreamer-doc.lintian:
8485         * debian/gstreamer-runtime.files:
8486         * debian/gstreamer-runtime.manpages:
8487         * debian/gstreamer-runtime.postinst:
8488         * debian/gstreamer-runtime.postrm:
8489         * debian/gstreamer-tools.files:
8490         * debian/gstreamer-tools.manpages:
8491         * debian/libgstreamer-dev.files:
8492         * debian/libgstreamer0.4.1.files:
8493         * debian/libgstreamerVERSION.files:
8494         * debian/rules:
8495         Debian package info not maintained here.
8496
8497 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8498
8499         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
8500         * gst/gstbin.c: (gst_bin_class_init):
8501         * gst/gstelement.c: (gst_element_class_init):
8502         * gst/gstindex.c: (gst_index_class_init):
8503         * gst/gstobject.c: (gst_object_class_init),
8504         (gst_signal_object_class_init):
8505         * gst/gstpad.c: (gst_pad_template_class_init):
8506         * gst/gstregistry.c: (gst_registry_class_init):
8507         * gst/gsturi.c: (gst_uri_handler_base_init):
8508         * gst/gstxml.c: (gst_xml_class_init):
8509         * libs/gst/control/dparam.c: (gst_dparam_class_init):
8510         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
8511           make all signal names use dashes instead of underscore
8512
8513 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8514
8515         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
8516
8517 2004-03-03  Benjamin Otte  <otte@gnome.org>
8518
8519         * gst/schedulers/gstoptimalscheduler.c:
8520           revert last commit by Andy Wingo. It causes segfaults on unreffing
8521           in Rhythmbox. (see bug #135672)
8522
8523 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
8524
8525         * po/fr.po: fix typo
8526
8527 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
8528
8529         * tools/gst-inspect.c: (main): 
8530         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
8531
8532 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8533
8534         * configure.ac:
8535           get GLIB_ONLY and POPT flags for the nonversioned binaries
8536         * tools/Makefile.am:
8537           use them
8538
8539 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8540
8541         * gst/gst.c: (init_post):
8542           change so that GST_REGISTRY now is where the global registry gets
8543           saved, since that is where plugins now get attached to first, and
8544           spilled over to the user registry.  Note that in the case of using
8545           GST_REGISTRY env var, we don't want to affect any real registries
8546           beyond the one given by this var, and thus we don't set a user
8547           registry to spill to.  So make sure GST_REGISTRY is writable.
8548
8549 2004-03-01  David Schleef  <ds@schleef.org>
8550
8551         * AUTHORS:  Added some names.  Add yourself if you're missing.
8552
8553 2004-03-01  David Schleef  <ds@schleef.org>
8554
8555         * MAINTAINERS: Add
8556
8557 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8558
8559         * configure.ac:
8560           remove whitespace
8561         * docs/gst/tmpl/gstbuffer.sgml:
8562         * docs/gst/tmpl/gstdata.sgml:
8563         * docs/gst/tmpl/gstreamer-unused.sgml:
8564         * docs/gst/tmpl/gstxml.sgml:
8565           doc update
8566         * docs/manuals.mak:
8567           add a FIXME
8568         * docs/pwg/intro-preface.xml:
8569         * docs/pwg/pwg.xml:
8570           remove GNOME
8571         * gst/gst.c: (init_post):
8572           try GST_PLUGIN_PATH paths for the _global_registry first
8573         * gst/gstelement.h:
8574           add the error message as well, otherwise (null) debug info doesn't
8575           make much sense
8576         * tools/gst-register.c: (main):
8577           spill paths to next registry if this registry is not writable
8578         * po/fr.po:
8579         * po/nl.po:
8580           translation updates
8581
8582 2004-03-01  Johan Dahlin  <johan@gnome.org>
8583
8584         * gst/gstbuffer.c (_gst_buffer_initialize): 
8585         * gst/gstdata.c (gst_data_get_type): 
8586         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
8587         instead of ref, since some applications that uses GBoxed
8588         routines depends on a function that actually returns a copy.
8589
8590 2004-02-27  Benjamin Otte  <otte@gnome.org>
8591
8592         * gst/gstbuffer.h:
8593           remove gst_buffer_free, use gst_data_unref
8594         * gst/gstdata.c: (gst_data_get_type):
8595           use refcounting in GstData GBoxed registration
8596         * gst/gstdata.h:
8597           remove gst_data_free, use gst_data_unref
8598
8599 2004-02-27  Johan Dahlin  <johan@gnome.org>
8600
8601         * gst/gstdata.c (gst_data_get_type): New function, register
8602         GstData as a GBoxed type.
8603
8604         * gst/gstdata.h (GST_TYPE_DATA): New macro
8605
8606 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8607
8608         * Makefile.am:
8609         * gstreamer.spec.in:
8610           put back RELEASE
8611         * gst/Makefile.am:
8612           clean up non-disting of built files
8613         * testsuite/debug/commandline.c:
8614           test fix for option rename
8615
8616 2004-02-26  David Schleef  <ds@schleef.org>
8617
8618         * configure.ac:  We don't really need glib-2.3.  Also remove
8619         some unneeded checks for library functions.
8620         * gst/Makefile.am:  Instead, we need to not dist files created
8621         by glib-genmarshal.
8622
8623 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8624
8625         * configure.ac:
8626           bump glib required version to 2.3.0 for g_value_takes_boxed
8627
8628  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
8629
8630         * common/m4/gst-docs.m4
8631         change flavour text from enable to disable as enable is our default
8632         closes bug Bug 135304
8633
8634 === release 0.7.5 ===
8635  
8636  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8637  
8638         * NEWS:
8639           instate NEWS file
8640         * Makefile.am:
8641         * gstreamer.spec.in:
8642         * RELEASE:
8643           put back release
8644         * configure.ac:
8645         * docs/random/release:
8646           more updates
8647
8648 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8649
8650         * gst/gsttag.c: (_gst_tag_initialize):
8651         * po/fr.po:
8652         * po/nl.po:
8653           remove hyphen from codec tags
8654
8655 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8656
8657         * gst/parse/Makefile.am:
8658           fix dependency so that a make from a clean build works the first
8659           time
8660
8661 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8662
8663         * docs/random/release:
8664           update release strategy
8665         * po/fr.po:
8666           auto-update po file
8667         * po/nl.po:
8668           update dutch translation
8669
8670 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8671
8672         * docs/manual/debugging.xml:
8673         fix manual for new debugging system
8674
8675 2004-02-25  Andy Wingo  <wingo@pobox.com>
8676
8677         * gst/gstpad.c (gst_pad_link_prepare): Re-add
8678         gst_pad_link_prepare. Please email the list with specific reasons
8679         for reverting.
8680
8681 2004-02-24  Andy Wingo  <wingo@pobox.com>
8682
8683         * gst/gstelement.c (gst_element_dispose): Protect against multiple
8684         invocations.
8685
8686         * gst/schedulers/gstoptimalscheduler.c:
8687         I added a mess of prototypes at the top of the file by way of
8688         documentation. Some of the operations on chains and groups were
8689         re-organized.
8690
8691         (create_group): Added a type argument so if the group is enabled,
8692         the setup_group_scheduler knows what to do.
8693         (group_elements): Added a type argument here, too, to be passed on
8694         to create_group.
8695         (group_element_set_enabled): If an unlinked PLAYING element is
8696         added to a bin, we have to create a new group to hold the element,
8697         and this function will be called before the group is added to the
8698         chain. Thus we have a valid case for group->chain==NULL. Instead
8699         of calling chain_group_set_enabled, just set the flag on the group
8700         (the chain's status will be set when the group is added to it).
8701         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
8702         Setup the group scheduler when the group is enabled, not
8703         specifically when an element goes PAUSED->PLAYING. This means
8704         PLAYING elements can be added, linked, and scheduled into a
8705         PLAYING pipeline, as was intended.
8706         (add_to_group): Don't ref the group twice. I don't know when this
8707         double-ref got in here. Removing it has the potential to cause
8708         segfaults if other parts of the scheduler are buggy. If you find
8709         that the scheduler is segfaulting for you, put in an extra ref
8710         here and see if that hacks over the underlying issue. Of course,
8711         then find out what code is unreffing a group it doesn't own...
8712         (create_group): Make the extra refcount floating, and remove it
8713         after adding the element. This means that...
8714         (unref_group): Destroy when the refcount reaches 0, not 1, like
8715         every other refcounted object in the known universe.
8716         (remove_from_group): When a group becomes empty, set it to be not
8717         active, and remove it from its chain. Don't unref it again,
8718         there's no floating reference any more.
8719         (destroy_group): We have to remove the group from the chain in
8720         remove_from_group (rather than here) to break refcounting cycles
8721         (the chain always has a ref on the group). So assert that
8722         group->chain==NULL.
8723         (ref_group_by_count): Removed, it was commented out anyway.
8724         (merge_chains): Use the remove_from_chain and add_to_chain
8725         primitives to do the reparenting, instead of rolling our own
8726         implementation.
8727         (add_to_chain): The first non-disabled group in the chain's group
8728         list will be the entry point for the chain. Because buffers can
8729         accumulate in loop elements' peer bufpens, we preferentially
8730         schedule loop groups before get groups to avoid unnecessary
8731         execution of get-based groups when the bufpens are already full.
8732         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
8733         (get_group_schedule_function): Ditto.
8734         (loop_group_schedule_function): Ditto.
8735         (gst_opt_scheduler_loop_wrapper): Ditto.
8736         (gst_opt_scheduler_iterate): Ditto.
8737
8738         I understand the opt scheduler now, yippee!
8739
8740         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
8741         (gst_pad_get_name, gst_pad_set_chain_function) 
8742         (gst_pad_set_get_function, gst_pad_set_event_function) 
8743         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
8744         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
8745         (gst_pad_set_query_function, gst_pad_get_query_types) 
8746         (gst_pad_get_query_types_default) 
8747         (gst_pad_set_internal_link_function) 
8748         (gst_pad_set_formats_function, gst_pad_set_link_function) 
8749         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
8750         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
8751         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
8752         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
8753         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
8754         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
8755         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
8756         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
8757         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
8758         (gst_pad_event_default_dispatch, gst_pad_event_default) 
8759         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
8760         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
8761         (gst_pad_get_formats_default, gst_pad_get_formats): Better
8762         argument checks, and some doc fixes.
8763
8764         (gst_pad_custom_new_from_template): Um, does anyone
8765         use these functions? Actually make a custom pad instead of a
8766         normal one.
8767         (gst_pad_try_set_caps): Transpose some checks.
8768         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
8769         the pad is in negotiation.
8770         (gst_pad_try_relink_filtered): Use pad_link_prepare.
8771         
8772         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
8773
8774         * gst/gstelement.h: 
8775         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
8776         on the list.
8777
8778 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8779
8780         * gst/gstbin.c: (gst_bin_add):
8781           add error for not being able to add elements
8782
8783 2004-02-22  Julien MOUTTE <julien@moutte.net>
8784
8785         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
8786         audio-codec and video-codec.
8787
8788 2004-02-22  Benjamin Otte  <otte@gnome.org>
8789
8790         reported by: Padraig O'Briain <padraig.obriain@sun.com>
8791
8792         * autogen.sh:
8793           replace test -e with test -x for mkinstalldirs to be more portable.
8794           (fixes #134816)
8795
8796 2004-02-22  Benjamin Otte  <otte@gnome.org>
8797
8798         * gst/gstpad.c:
8799           revert last patch from Andy, it makes gst_pad_can_link_filtered much
8800           too noisy
8801         * gst/gsttag.c: (_gst_tag_initialize):
8802         * gst/gsttag.h:
8803           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
8804         * libs/gst/control/dparam.c: (gst_dparam_attach):
8805         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
8806           check that types for attached dparams match
8807
8808 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8809
8810         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
8811         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8812         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
8813           fix errors
8814
8815 2004-02-20  Andy Wingo  <wingo@pobox.com>
8816
8817         * gst/gstbin.c:
8818         * gst/gstbuffer.c:
8819         * gst/gstplugin.c:
8820         * gst/registries/gstxmlregistry.c: 
8821         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
8822
8823         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
8824         (gst_element_add_pad): DEBUG->INFO, some fixes.
8825         (gst_element_get_compatible_pad_template): Just see if the
8826         templates' caps intersect, not if one is a strict subset of the
8827         other. This conforms more to what gst_pad_link_intersect() does.
8828         (gst_element_class_add_pad_template): Don't memcpy the pad
8829         template, just ref it.
8830         (gst_element_get_compatible_pad_filtered): Clean up debug messages
8831
8832         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
8833         (gst_pad_link_filtered): Debug changes.
8834         (gst_pad_link_prepare): New function, consolidated from
8835         can_link_filtered and link_filtered.
8836
8837         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
8838         look more like that of the functions in gstelement.c
8839
8840         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
8841         object, and return the empty string if object is NULL.
8842
8843         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
8844         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
8845         LOG, not DEBUG. We still get flex info on debug.
8846
8847         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
8848         debug string more verbose.
8849         (plugin_times_older_than): DEBUG->LOG.
8850
8851 2004-02-20  Julien MOUTTE <julien@moutte.net>
8852
8853         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
8854         will emit found_tag for each stream they demux with the codec.
8855
8856 2004-02-20  Benjamin Otte  <otte@gnome.org>
8857
8858         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
8859           copy navigation event correctly. Check freeing tag lists. 
8860         * gst/gstthread.c: (gst_thread_change_state):
8861           don't abort() on state changing mess - it might happen because of
8862           bugs.
8863         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
8864           use boxed functions
8865         * gst/gstvalue.h:
8866           fix GST_VALUE_HOLDS_CAPS
8867
8868 2004-02-19  David Schleef  <ds@schleef.org>
8869
8870         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
8871         and use it for GST_FUNCTION.  (bug #134750)
8872
8873 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8874
8875         * po/fr.po:
8876         * po/nl.po:
8877           updating translations
8878
8879 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8880
8881         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
8882
8883 2004-02-18  kost@imn.htwk-leipzig.de
8884
8885         reviewed by: David Schleef  <ds@schleef.org>
8886
8887         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
8888         for libgstcontrol.
8889
8890 2004-02-18  David Schleef  <ds@schleef.org>
8891
8892         * libs/gst/control/dparam.c: (gst_dparam_class_init):
8893         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
8894         (gst_dpsmooth_new): Additional fixes to get double dparams working.
8895         * tools/gst-inspect.c: (print_element_info): Support dumping of
8896         double dparam information.
8897
8898 2004-02-17  David Schleef  <ds@schleef.org>
8899
8900         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
8901         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
8902         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
8903         Use GST_TYPE_CAPS in signal prototype.
8904         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
8905         Convert GST_TYPE_CAPS to boxed.
8906         * gst/gstelement.c: (gst_element_class_init):
8907         Use GST_TYPE_TAG_LIST in signal prototype.
8908         * gst/gstindex.c: (gst_index_class_init):
8909         * gst/gstindex.h:
8910         Add GST_TYPE_INDEX_ENTRY type.
8911         * gst/gstmarshal.list:
8912         Add necessary marshal types.
8913         * gst/gstpad.c: (gst_real_pad_class_init),
8914         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
8915         (gst_pad_recover_caps_error):
8916         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
8917         * gst/gststructure.c: (_gst_structure_initialize),
8918         (gst_structure_copy), (_gst_structure_copy_conditional):
8919         * gst/gststructure.h:
8920         Convert GST_TYPE_STRUCTURE to boxed.
8921         * gst/gsttag.c: (gst_tag_list_get_type):
8922         * gst/gsttag.h:
8923         Add GST_TYPE_TAG_LIST type.
8924
8925 2004-02-17  Julien MOUTTE  <julien@moutte.net>
8926
8927         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
8928         to what we agreed with david.
8929         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
8930
8931 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8932
8933         * po/nl.po: update translation
8934
8935 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8936
8937         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
8938           throw an error if spider is trying to play a mime type there is
8939           no decoder for
8940         * po/POTFILES.in:
8941           add gst/autoplug/gstspider.c for translation
8942
8943 2004-02-17  Julien MOUTTE  <julien@moutte.net>
8944
8945         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
8946         silently when the pad is negotiating.
8947
8948 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8949
8950         * docs/faq/Makefile.am:
8951           add script to run gstreamer uninstalled 
8952         * docs/faq/faq.xml:
8953         * docs/faq/developing.xml:
8954         * docs/faq/gst-uninstalled:
8955           extract script to run gstreamer uninstalled
8956         * docs/manuals.mak:
8957           add EXTRA_SOURCES variable for Makefile.am's to set to
8958           use additional SOURCE files for the doc build
8959
8960 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8961
8962         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
8963
8964 2004-02-15  Julien MOUTTE  <julien@moutte.net>
8965
8966         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
8967         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
8968         an error was thrown by osssink. Basically a state change failure for
8969         an element in a different scheduling group was considered as
8970         successful, which means that caps nego was going on and weird stuff
8971         happened. Like I wrote in the comment there, if someone wants to
8972         revert that please drop me a mail explaining why because I really see
8973         no point in keeping that broken behaviour there.
8974         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
8975         be empty, we then return NULL which will trigger a nice error when 
8976         pulling from the pad.
8977
8978 2004-02-13  David Schleef  <ds@schleef.org>
8979
8980         * libs/gst/control/dparam.c: (gst_dparam_class_init),
8981         (gst_dparam_get_property), (gst_dparam_set_property),
8982         (gst_dparam_do_update_default):
8983         * libs/gst/control/dparam.h:
8984         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
8985         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
8986         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
8987         (gst_dpsmooth_do_update_double):
8988         * libs/gst/control/dparam_smooth.h:
8989         * libs/gst/control/dparammanager.c:
8990         (gst_dpman_inline_direct_update):
8991         Add support for double dparams.
8992
8993 2004-02-13  David Schleef  <ds@schleef.org>
8994
8995         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
8996         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
8997
8998 2004-02-13  Mattias Wadman  <mattias@sudac.org>
8999
9000         reviewed by: David Schleef  <ds@schleef.org>
9001
9002         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9003         (gst_fdsrc_init), (gst_fdsrc_set_property),
9004         (gst_fdsrc_get_property), (gst_fdsrc_get):
9005         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
9006         and sends an EOS event if file descriptor reading times out.
9007
9008 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9009
9010         * configure.ac:
9011           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
9012
9013 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9014
9015         * configure.ac: pass required libxml version as argument
9016         (bug reported by Christophe Fergeau)
9017
9018 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9019   
9020         * docs/gst/gstreamer-docs.sgml:
9021         * docs/gst/tmpl/gstxml.sgml:
9022         * docs/libs/gstreamer-libs-docs.sgml:
9023           version API docs
9024
9025 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9026
9027         * gst/gstinfo.c:
9028         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
9029         (gst_registry_pool_feature_filter):
9030         * gst/gstthread.c: (gst_thread_class_init):
9031         * gst/gstvalue.c:
9032           add includes exposed by building without libxml
9033         * gst/indexers/Makefile.am:
9034           do not build fileindex when LOADSAVE disabled; we should have
9035           a better libxml check later since fileindex depends on xml, not
9036           LOADSAVE or REGISTRY
9037         * libs/gst/control/Makefile.am:
9038           link with m
9039         * tools/Makefile.am:
9040           fix wrong source code for gst-xmlinspect
9041
9042 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9043
9044         * configure.ac:
9045           fix gcov help output
9046           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
9047         * docs/random/release:
9048           some updated releasing notes
9049         * gstreamer.spec.in:
9050           more updates
9051
9052 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9053
9054         * docs/faq/faq.xml:
9055         * docs/manual/manual.xml:
9056         * docs/pwg/pwg.xml:
9057         * docs/pwg/titlepage.xml:
9058           put version in documentation
9059
9060 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9061
9062         * tools/Makefile.am: fix man page installation
9063
9064 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9065
9066         * configure.ac:
9067           don't check for libxml when load/save and registry disabled (#105844)
9068         * gstreamer.spec.in:
9069           sync with fedora candidate spec
9070
9071 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9072
9073         * po/fr.po:
9074         * po/nl.po:
9075           replace multidisksrc with multifilesrc
9076
9077 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9078
9079         * po/POTFILES.in:
9080           update to multidisksrc => multifilesrc file renaming (#134145)
9081
9082 2004-02-11  David Schleef  <ds@schleef.org>
9083
9084         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
9085         * docs/gst/tmpl/gstpadtemplate.sgml: same
9086         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
9087         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
9088         fixing dance.
9089         * gst/gstutils.c: Remove disabled code that uses GstProps.
9090         * gst/registries/gstxmlregistry.h: same
9091         * docs/random/ds/0.9-suggested-changes: random notes
9092
9093 2004-02-11  kost@imn.htwk-leipzig.de
9094
9095         reviewed by: David Schleef  <ds@schleef.org>
9096
9097         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
9098         initialisation of clock (bug #134128)
9099
9100 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9101
9102         * configure.ac:
9103         * gst/elements/Makefile.am:
9104         * gst/elements/gstelements.c:
9105         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
9106         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
9107         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
9108         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
9109         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
9110         * gst/elements/gstmultifilesrc.h:
9111           rename multidisksrc to multifilesrc (part of #122200)
9112
9113 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9114
9115         * docs/manuals.mak:
9116           fix automake complaints
9117         * gst-element-check.m4:
9118           fix unquotedness
9119
9120 2004-02-11  David Schleef  <ds@schleef.org>
9121
9122         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
9123         * gst/gstatomic_impl.h: Disable sparc implementation.
9124
9125 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9126
9127         * gst-element-check.m4:
9128           fix underquoted macros as reported by automake 1.8.x (#133800)
9129         * configure.ac:
9130           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
9131           by autopoint (fixes #132996)
9132
9133 2004-02-10  Andy Wingo  <wingo@pobox.com>
9134
9135         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
9136         way to do inheritance.
9137         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
9138         (gst_pad_get_query_types, gst_pad_get_query_types_default):
9139         Routine docs.
9140         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
9141         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
9142         doc.
9143         (gst_pad_unlink, gst_pad_is_linked): Docs.
9144         (gst_pad_renegotiate): A brief description of capsnego.
9145         (gst_pad_try_set_caps): Document.
9146         (gst_pad_try_set_caps_nonfixed): Document.
9147         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
9148         (gst_pad_set_parent): Deprecated (although not out of the API).
9149         (gst_pad_get_parent): Deprecated, although many plugins use this.
9150         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
9151         are private and will go away in 0.9.
9152         (gst_pad_perform_negotiate): Doc.
9153         (gst_pad_link_unnegotiate): I think this is meant to be static.
9154         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
9155         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
9156         (gst_pad_get_peer): Doc updates.
9157         (gst_pad_caps_change_notify): Doc.
9158         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
9159         (gst_ghost_pad_new): Doc fixes.
9160
9161         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
9162         (gst_object_check_uniqueness): 
9163
9164         * gst/gstelement.c (gst_element_add_pad) 
9165         (gst_element_add_ghost_pad, gst_element_remove_pad) 
9166         (gst_element_remove_ghost_pad, gst_element_get_pad) 
9167         (gst_element_get_static_pad, gst_element_get_pad_list) 
9168         (gst_element_class_get_pad_template_list) 
9169         (gst_element_class_get_pad_template): Work on the docs.
9170         (gst_element_get_pad_template_list): Uses the class method.
9171         (gst_element_get_compatible_pad_template): Docs, and consolidate
9172         some test conditions. 
9173         (gst_element_get_pad_from_template): New static function.
9174         (gst_element_request_compatible_pad): Docs, and work with
9175         non-request compatible templates. 
9176         (gst_element_get_compatible_pad_filtered): Docs and remove
9177         redundant checks.
9178         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
9179         (gst_element_link_filtered, gst_element_link_many) 
9180         (gst_element_link, gst_element_link_pads) 
9181         (gst_element_unlink_many): Docs.
9182
9183 2004-02-05  Andy Wingo  <wingo@pobox.com>
9184
9185         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
9186         s/pointer/boxed/.
9187
9188         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
9189
9190         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
9191         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
9192         with the type=GST_TYPE_CAPS. This allows language bindings to know
9193         what kind of data they're dealing with.
9194
9195         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
9196         to NULL when g_value_init is called. GstCaps, which rolls its own
9197         type implementation, now does the same instead of allocating empty
9198         caps.
9199         (_gst_caps_initialize, _gst_caps_collect_value,
9200         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
9201         table methods. This allows G_VALUE_COLLECT to work.
9202
9203 2004-02-05  Andy Wingo  <wingo@pobox.com>
9204
9205         * configure.ac:
9206         * testsuite/Makefile.am (SUBDIRS): 
9207         * testsuite/ghostpads/Makefile.am: 
9208         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
9209
9210         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
9211         These two routines are the only ones that set
9212         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
9213         pad template. They should be made static, depending on ABI needs.
9214         (gst_real_pad_dispose): Handle the case of ghost pads without a
9215         parent. Assert after dealing with ghost pads that the ghost pad
9216         list is empty.
9217         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
9218         set after creation.
9219         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
9220         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
9221         functions. set_property will call add_ghost_pad/remove_ghost_pad
9222         as appropriate.
9223         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
9224
9225         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
9226         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
9227         (gst_element_remove_pad): Handle ghost pads as well.
9228         (gst_element_remove_ghost_pad): Deprecated (could be removed,
9229         depending on API-stability needs).
9230
9231 2004-02-05  Andy Wingo  <wingo@pobox.com>
9232
9233         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
9234         of course they're const
9235
9236 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9237
9238         * tools/Makefile.am:
9239         * tools/gst-feedback:
9240         * tools/gst-feedback-0.7:
9241           make gst-feedback versioned too for consistency
9242
9243 2004-02-11  David Schleef  <ds@schleef.org>
9244
9245         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9246         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
9247
9248 2004-02-10  Julien MOUTTE <julien@moutte.net>
9249
9250         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
9251         the structure does not contain a valid tag list. Adding a safety check
9252         to remove a noisy warning in that case.
9253
9254 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9255
9256         * gst/gst.c: fix name to be in line with others
9257
9258 2004-02-09  Julien MOUTTE <julien@moutte.net>
9259
9260         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
9261         not shout that loud when len is 0. Just return 0 silently.
9262
9263 2004-02-09  Julien MOUTTE  <julien@moutte.net>
9264
9265         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
9266         because data_unref has one and I prefer the debug to be symetric.
9267         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
9268         were refed when added to the queue and unrefed only once when the queue
9269         was flushed. Now the flush handler unref the buffers two times : first
9270         unref for the ref added when pushing in the queue's tail and second
9271         unref to destroy the flushed buffer.
9272
9273 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9274
9275         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
9276
9277 2004-02-06  David Schleef  <ds@schleef.org>
9278
9279         * docs/random/ds/0.9-suggested-changes: Random ramblings
9280         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
9281         to int before printing.
9282         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
9283         * gst/parse/parse.l: same.  See bug #129600
9284
9285 2004-02-06  David Schleef  <ds@schleef.org>
9286
9287         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
9288         (gst_index_add_entry), (gst_index_add_associationv),
9289         (gst_index_add_association): Add gst_index_add_associationv()
9290         and clean up gst_index_add_association(). #127133
9291
9292 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9293
9294         * autogen.sh: check out common with right tag if CVS/Tag exists
9295
9296 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9297
9298         * testsuite/ghostpads/ghostpads.c: (main):
9299           fix testsuite from segfaulting
9300
9301 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9302
9303         * Makefile.am: add release target
9304         * configure.ac: bump nano to 1
9305         * docs/random/release:
9306
9307 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9308
9309         * gst/gstcaps.h:
9310         * gst/gstelement.c: (gst_element_base_class_init),
9311         (gst_element_class_set_details), (gst_element_clear_pad_caps):
9312         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9313         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
9314         (gst_real_pad_dispose):
9315         * gst/gststructure.c: (gst_structure_free),
9316         (gst_structure_from_string):
9317           put reverted patch back in
9318         * gst/gstelement.c: (gst_element_remove_pad):
9319           free explicit caps if they're set
9320         * gst/gstpad.c: (_gst_pad_default_fixate_func):
9321           copy the structure when fixating
9322
9323 2004-02-05  David Schleef  <ds@schleef.org>
9324
9325         * gst/gstmarshal.list:
9326         * gst/gstpad.c: (gst_real_pad_class_init),
9327         (_gst_real_pad_fixate_accumulator):
9328         Revert POINTER->BOXED change in signal marshaller.
9329
9330 === release 0.7.4 ===
9331                                                                                 
9332 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9333                                                                                 
9334         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
9335         * configure.ac: changed for release
9336
9337 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9338
9339         * gstreamer.spec.in:
9340           bump required version of gtk-doc
9341
9342 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9343
9344         * gst/gstcaps.h:
9345         * gst/gstelement.c: (gst_element_base_class_init),
9346         (gst_element_class_set_details), (gst_element_clear_pad_caps):
9347         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9348         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
9349         (gst_real_pad_dispose):
9350         * gst/gststructure.c: (gst_structure_free),
9351         (gst_structure_from_string):
9352           revert patch that breaks applications, reapply after release
9353           to get this fixed properly
9354
9355 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9356
9357         * gst/gsttag.c: (_gst_tag_initialize):
9358         * gst/gsttag.h:
9359           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
9360
9361 2004-02-04  David Schleef  <ds@schleef.org>
9362
9363         Fix some memleaks:
9364         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
9365         (gst_spider_plug_from_srcpad):
9366         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
9367
9368 2004-02-04  David Schleef  <ds@schleef.org>
9369
9370         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
9371         a GstRealPad before accessing its structure members.
9372
9373 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9374
9375         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
9376         (gst_clock_get_speed):
9377         * gst/gstclock.h:
9378           reset padding, remove unused fields
9379
9380 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9381
9382         * gst/autoplug/gstspideridentity.c:
9383         (gst_spider_identity_sink_loop_type_finding):
9384           use get_allowed_caps, not get_caps (fixes #132519)
9385         * gst/elements/gsttypefind.c: (stop_typefinding):
9386           use correct order when sending buffers and seeking
9387
9388 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9389
9390         * configure.ac:
9391         * gst/gstelement.h:
9392         * gst/gstpad.h:
9393         * gst/gstqueue.h:
9394           upgrade libtool CURRENT, reset padding
9395
9396 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9397
9398         * configure.ac:
9399           bump to prerelease
9400           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
9401
9402 2004-02-04  David Schleef  <ds@schleef.org>
9403
9404         * docs/random/ds/0.9-suggested-changes: random notes
9405         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
9406         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
9407         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
9408         expansion.
9409         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
9410         (gst_filesink_get_query_types): same
9411         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
9412         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
9413         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
9414         to use new GST_PTR_FORMAT.
9415         * gst/gstelement.h: deprecate function factory macros
9416         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
9417         These are our last variadic macros that can't be replaced with
9418         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
9419         attempting to deprecate gst_element_clock_wait().
9420         * gst/gstevent.h: same
9421         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9422         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
9423         * gst/gstpad.h: deprecate function factory macros similar to above.
9424
9425 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9426
9427         * configure.ac:
9428         * tools/Makefile.am:
9429         * tools/gst-run.c: (popt_callback), (hash_print_key),
9430         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
9431         (get_candidates), (main):
9432           add new source file to generate non-versioned wrapper binaries
9433           for our tools.
9434
9435 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9436
9437         * gst/gstevent.c: (_gst_event_free):
9438           actually break; inside the switch statement
9439         * gst/parse/grammar.y:
9440           fix memleak where GValues weren't unset
9441
9442 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9443
9444         * gst/gststructure.c: (gst_structure_from_string):
9445           fix huge memleak
9446         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
9447         (new_entry), (gst_type_find_element_chain):
9448         * gst/gstelement.c: (gst_element_base_class_init),
9449         (gst_element_class_set_details):
9450         * gst/gstpad.c: (gst_pad_can_link_filtered):
9451           fix smaller memleaks
9452         * gst/gstpad.c: (gst_real_pad_dispose):
9453           check that explicit caps are gone
9454         * gst/gststructure.c: (gst_structure_free):
9455           actually free the structure
9456         * gst/gstelement.c: (gst_element_clear_pad_caps):
9457           unset explicit caps
9458
9459 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9460
9461         * tools/Makefile.am:
9462           use AM_CFLAGS since all the CFLAGS are the same
9463           use AM_LDFAGS
9464
9465 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9466
9467         * docs/manual/gnome.xml:
9468           expand example a little
9469         * gst/gst.c: (gst_init_with_popt_table),
9470         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
9471           make sure popt option displays are done with right textdomain
9472           use GstPoptOption type
9473         * gst/gst.h:
9474           create GstPoptOption type
9475
9476 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9477
9478         * gst/gsterror.c: (_gst_stream_errors_init):
9479         * gst/gsterror.h:
9480           adding error type for no codec
9481         * po/POTFILES.in:
9482           add gst-inspect
9483         * po/nl.po:
9484           update dutch translation
9485         * tools/gst-inspect.c: (print_element_list), (main):
9486           do proper internationalization
9487         * tools/gst-launch.c: (idle_func):
9488           remove commented out function call
9489
9490 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9491
9492         * docs/README:
9493           add some error fixing notes
9494         * docs/gst/gstreamer-sections.txt:
9495           remove double entries
9496         * docs/gst/tmpl/gstbin.sgml:
9497         * docs/gst/tmpl/gstclock.sgml:
9498           remove override
9499         * docs/gst/tmpl/gstelement.sgml:
9500         * docs/gst/tmpl/gstindex.sgml:
9501         * docs/gst/tmpl/gstobject.sgml:
9502         * docs/gst/tmpl/gstpadtemplate.sgml:
9503         * docs/gst/tmpl/gstreamer-unused.sgml:
9504         * docs/gst/tmpl/gsttag.sgml:
9505         * docs/gst/tmpl/gstthread.sgml:
9506         * docs/gst/tmpl/gstxml.sgml:
9507         * gst/gsttag.h:
9508           sync header prototypes with c decls
9509         * gst/gsttaginterface.c:
9510           fix doc headers
9511
9512 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9513
9514         * gst/parse/Makefile.am:
9515         * gst/gstobject.h:
9516           get rid of gstmarshal.h dependency. It's not needed.
9517         * gst/gst.h:
9518         * gst/elements/gstfakesink.c:
9519         * gst/elements/gstfakesrc.c:
9520         * gst/elements/gstidentity.c:
9521         * gst/gstbin.c:
9522         * gst/gstelement.c:
9523         * gst/gstindex.c:
9524         * gst/gstobject.c:
9525         * gst/gstpad.c:
9526         * gst/gstthread.c:
9527         * gst/gstxml.c:
9528         * libs/gst/control/dparam.c:
9529         * libs/gst/control/dparammanager.c:
9530           include gstmarshal.h.
9531         Fixes #132045
9532
9533 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9534
9535         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9536         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
9537         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
9538         * gst/elements/gstfilesrc.h:
9539           don't ref the filesrc when creating mmaped buffers. Don't keep a
9540           list of not-yet-destroyed buffers.
9541         * gst/gstbuffer.h:
9542           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
9543
9544 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9545
9546         * gst/gst.c: (init_pre):
9547           remove textdomain
9548
9549 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9550
9551         * docs/pwg/advanced-events.xml:
9552         * docs/pwg/advanced-scheduling.xml:
9553         * docs/pwg/intro-basics.xml:
9554         * docs/pwg/other-manager.xml:
9555         * docs/pwg/other-nton.xml:
9556         * docs/pwg/other-ntoone.xml:
9557         * docs/pwg/other-oneton.xml:
9558         * docs/pwg/pwg.xml:
9559           All sort of documentation... Forgot what. Point is that I want this
9560           in before I leave. The 'other-*' will be the last section and will
9561           explain issues specific to these type of elements.
9562
9563 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9564
9565         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
9566         (gst_filesrc_get_read):
9567           set all the values on buffers that we can
9568
9569 2004-02-02  David Schleef  <ds@schleef.org>
9570
9571         Change usage of isblah() to g_ascii_isblah() to be more locale
9572         independent.  (#133076)
9573         * gst/gsturi.c: (gst_uri_protocol_check_internal):
9574         * gst/gstutils.c:
9575         * gst/parse/parse.l:
9576
9577 2004-02-02  Jon Trowbridge  <trow@gnu.org>
9578
9579         reviewed by: David Schleef  <ds@schleef.org>
9580
9581         Fix memory leaks:
9582         * gst/gstcaps.c: (gst_caps_to_string):
9583         * gst/registries/gstxmlregistry.c:
9584         (gst_xml_registry_add_path_list_func),
9585         (gst_xml_registry_parse_padtemplate):
9586
9587 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9588
9589         * gst/gstelement.c: (gst_element_default_error):
9590           suffix error messages with period
9591
9592 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
9593
9594         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9595         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
9596         * gst/gsterror.c: (gst_error_get_message):
9597           Suffix with dots
9598         * po/fr.po:
9599         * po/nl.po:
9600           Update translation files
9601
9602 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
9603
9604         * gst/autoplug/gstspideridentity.c:
9605         (gst_spider_identity_sink_loop_type_finding):
9606         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
9607         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
9608         (gst_filesink_close_file), (gst_filesink_handle_event),
9609         (gst_filesink_chain):
9610         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
9611         (gst_filesrc_get_read), (gst_filesrc_open_file):
9612         * gst/elements/gstidentity.c: (gst_identity_chain):
9613         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
9614         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
9615         (gst_pipefilter_chain), (gst_pipefilter_open_file):
9616         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
9617         * gst/gsterror.c: (_gst_core_errors_init),
9618         (_gst_library_errors_init), (_gst_resource_errors_init),
9619         (_gst_stream_errors_init), (gst_error_get_message):
9620         * gst/gstpad.c: (gst_pad_set_explicit_caps),
9621         (gst_pad_recover_caps_error), (gst_pad_pull):
9622         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
9623         * gst/schedulers/gstbasicscheduler.c:
9624         (gst_basic_scheduler_chainhandler_proxy),
9625         (gst_basic_scheduler_gethandler_proxy),
9626         (gst_basic_scheduler_cothreaded_chain):
9627           Suffix error messages with period.
9628           Use (NULL) instead of NULL
9629
9630 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
9631
9632         * docs/gst/tmpl/gstelement.sgml:
9633         * docs/gst/tmpl/gstxml.sgml:
9634         * gst/gstelement.c: (gst_element_error_full):
9635           add element path to error
9636
9637 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9638
9639         * docs/random/mimetypes:
9640           update raw int/float info
9641         * gst/gsttag.c: (_gst_tag_initialize):
9642         * gst/gsttag.h:
9643           add GST_TAG_ENCODER
9644
9645 2004-01-30  David Schleef  <ds@schleef.org>
9646
9647         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
9648           missing (#132991)
9649
9650 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
9651
9652         reviewed by Benjamin Otte 
9653           parts of the patch submitted in bug #113913
9654
9655         * configure.ac:
9656           use AC_C_INLINE. Use = instead of == with test
9657         * examples/plugins/example.c:
9658         * gst/autoplug/gstspideridentity.c:
9659         * gst/elements/gstfdsrc.c:
9660         * gst/elements/gstfilesrc.c:
9661         * gst/elements/gstidentity.c:
9662         * gst/elements/gstmultidisksrc.c:
9663         * gst/elements/gststatistics.c:
9664         * gst/gstelement.c:
9665         * gst/gstobject.c:
9666         * gst/gstpad.c:
9667         * gst/gstpipeline.c:
9668         * gst/gstthread.c:
9669           don't end enums with a comma
9670         * gst/gstindex.c: (gst_index_compare_func):
9671           do explicit casting to gint
9672         * gst/gsttrace.c: (gst_trace_text_flush):
9673           #define strsize as a macro
9674
9675 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9676
9677         * docs/README:
9678         * docs/gst/gstreamer-docs.sgml:
9679         * docs/gst/gstreamer-sections.txt:
9680         * docs/gst/tmpl/gstelement.sgml:
9681         * docs/gst/tmpl/gsterror.sgml:
9682         * docs/gst/tmpl/gstinterface.sgml:
9683         * docs/gst/tmpl/gstreamer-unused.sgml:
9684         * docs/gst/tmpl/gststructure.sgml:
9685         * docs/gst/tmpl/gsttag.sgml:
9686         * docs/gst/tmpl/gsttaginterface.sgml:
9687         * docs/gst/tmpl/gstvalue.sgml:
9688         make sure all API ends up in the built docs
9689         * gst/gstinterface.c:
9690         * gst/gststructure.c: (gst_structure_id_set_value),
9691         (gst_structure_set_value), (gst_structure_id_get_value):
9692         * gst/gststructure.h:
9693         * gst/gstvalue.h:
9694         sync .h with .c declarations
9695
9696 2004-01-30  Julien Moutte  <julien@moutte.net>
9697
9698         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
9699         Ronald will fix riffread.
9700
9701 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9702
9703         * docs/pwg/advanced-interfaces.xml:
9704           Added tuner interface docs.
9705
9706 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9707
9708         * docs/random/mimetypes:
9709           correct Theora information
9710         * gst/gstelement.h:
9711           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
9712
9713 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9714
9715         * gst/gstelement.c: (gst_element_error_full):
9716         * gst/gstelement.h:
9717           GST_ELEMENT_ERROR in enum -> _IN_ERROR
9718
9719 2004-01-29  Julien MOUTTE  <julien@moutte.net>
9720
9721         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9722         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
9723         again and even before DISCONT.
9724         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
9725         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
9726         bytestream so that it's not stopping to fill the bytestream if events
9727         different than EOS or DISCONT are received. Instead it process them so
9728         that they go downstream.
9729
9730 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9731
9732         * docs/gst/tmpl/gstelement.sgml:
9733         * docs/gst/tmpl/gstreamer-unused.sgml:
9734         * docs/gst/tmpl/gstxml.sgml:
9735         * gst/autoplug/gstspideridentity.c:
9736         (gst_spider_identity_sink_loop_type_finding):
9737         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
9738         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
9739         (gst_filesink_close_file), (gst_filesink_handle_event),
9740         (gst_filesink_chain):
9741         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
9742         (gst_filesrc_get_read), (gst_filesrc_open_file):
9743         * gst/elements/gstidentity.c: (gst_identity_chain):
9744         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
9745         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
9746         (gst_pipefilter_chain), (gst_pipefilter_open_file):
9747         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
9748         * gst/gstelement.h:
9749         * gst/gstpad.c: (gst_pad_set_explicit_caps),
9750         (gst_pad_recover_caps_error), (gst_pad_pull):
9751         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
9752         * gst/schedulers/gstbasicscheduler.c:
9753         (gst_basic_scheduler_chainhandler_proxy),
9754         (gst_basic_scheduler_gethandler_proxy),
9755         (gst_basic_scheduler_cothreaded_chain):
9756           gst_element_error -> GST_ELEMENT_ERROR
9757
9758 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9759
9760         * docs/Makefile.am:
9761         * docs/gst/tmpl/gstelement.sgml:
9762         * docs/gst/tmpl/gstxml.sgml:
9763         * docs/manuals.mak:
9764         * docs/pwg/advanced-request.xml:
9765         * docs/pwg/advanced-scheduling.xml:
9766         * docs/pwg/advanced-tagging.xml:
9767           fix non-validating docbook using CDATA
9768           make sure make check-local gets run first to check if it validates
9769
9770 2004-01-29  Julien MOUTTE <julien@moutte.net>
9771
9772         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
9773         handling (up and downstream).
9774         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
9775         my_filter thing.
9776
9777 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9778
9779         * docs/pwg/advanced-tagging.xml:
9780           Add docs about tag writing.
9781
9782 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9783
9784         * docs/pwg/advanced-tagging.xml:
9785           Add a part about tag reading and application signalling... Tag
9786           writing still needs to be documented.
9787         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
9788           We can set file locations in READY, too.
9789
9790 2004-01-29  Julien MOUTTE <julien@moutte.net>
9791
9792         * docs/random/ds/element-checklist: Adding some notes about src
9793         events.
9794
9795 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9796
9797         * docs/random/mimetypes:
9798           Update docs to point to correct elements for various mimetypes, and
9799           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
9800           <stephane.loeuillet@tiscali.fr>.
9801
9802 2004-01-28  David Schleef  <ds@schleef.org>
9803
9804         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
9805
9806 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9807
9808         * docs/random/mimetypes:
9809           update docs for audio/x-raw-float. Add "buffer-frames=0 means
9810           undefined"
9811         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
9812           make it only work in NULL.
9813         * gst/gstcaps.c:
9814           don't posion NULL caps
9815         * gst/gstelement.c: (gst_element_set_time):
9816           add debugging statement
9817         * gst/gstelement.c: (gst_element_emit_found_tag),
9818         (gst_element_found_tag_func), (gst_element_found_tags):
9819         * gst/gstelement.h:
9820           These functions take const taglists
9821         * gst/gstpad.c: (gst_pad_proxy_getcaps):
9822           fix memleak
9823         * gst/gstpad.c: (gst_pad_event_default):
9824           make more effort on handling discont and clocks, g_warn if everything
9825           fails
9826         * gst/gststructure.c: (gst_structure_remove_fields),
9827         (gst_structure_remove_fields_valist):
9828         * gst/gststructure.h:
9829           add gst_structure_remove_fields(_valist)
9830         * gst/gsttag.c:
9831           fix doc glitch
9832
9833 2004-01-28  David Schleef  <ds@schleef.org>
9834
9835         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
9836         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
9837         Fix memory leakage of gst_caps_to_string().
9838
9839         Use GST_PTR_FORMAT instead of gst_caps_to_string():
9840         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
9841         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
9842         (gst_spider_identity_sink_loop_type_finding):
9843         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
9844         (find_suggest):
9845         * gst/gstpad.c: (gst_pad_try_relink_filtered),
9846         (gst_pad_set_explicit_caps):
9847         * gst/parse/grammar.y:
9848
9849 2004-01-28  David Schleef  <ds@schleef.org>
9850
9851         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
9852         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
9853         * docs/random/ds/0.9-suggested-changes: Notes from Company.
9854         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
9855         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
9856         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
9857         (gst_debug_log_default), (_gst_info_printf_extension),
9858         (_gst_info_printf_extension_arginfo):  Add printf extension.
9859         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
9860         * gst/gststructure.c: (gst_structure_to_string),
9861         (_gst_structure_parse_value): Use gst_value_deserialize() and
9862         remove old code.
9863         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
9864         (gst_value_deserialize_boolean), (gst_strtoi),
9865         (gst_value_deserialize_int), (gst_value_deserialize_double),
9866         (gst_value_deserialize_string), (gst_value_deserialize): Implement
9867         a bunch of deserialize functions and gst_value_deserialize.
9868         * gst/gstvalue.h: er, _de_serialize, not unserialize
9869         * testsuite/caps/string-conversions.c: (main): We don't currently
9870         handle (float) in caps, so convert these to (double).
9871         * testsuite/debug/Makefile.am: Add new test for the printf extension
9872         * testsuite/debug/printf_extension.c: (main): same
9873
9874 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9875
9876         * docs/random/company/time:
9877           Add some docs about clocking and time
9878
9879 2004-01-28  Julien MOUTTE <julien@moutte.net>
9880
9881         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
9882
9883 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9884
9885         * docs/pwg/advanced-clock.xml:
9886         * docs/pwg/advanced-dparams.xml:
9887         * docs/pwg/advanced-events.xml:
9888         * docs/pwg/advanced-interfaces.xml:
9889         * docs/pwg/advanced-midi.xml:
9890         * docs/pwg/advanced-request.xml:
9891         * docs/pwg/advanced-scheduling.xml:
9892         * docs/pwg/advanced-tagging.xml:
9893         * docs/pwg/advanced-types.xml:
9894         * docs/pwg/appendix-checklist.xml:
9895         * docs/pwg/building-boiler.xml:
9896         * docs/pwg/building-chainfn.xml:
9897         * docs/pwg/building-filterfactory.xml:
9898         * docs/pwg/building-pads.xml:
9899         * docs/pwg/building-props.xml:
9900         * docs/pwg/building-signals.xml:
9901         * docs/pwg/building-state.xml:
9902         * docs/pwg/building-testapp.xml:
9903         * docs/pwg/intro-basics.xml:
9904         * docs/pwg/intro-preface.xml:
9905         * docs/pwg/other-autoplugger.xml:
9906         * docs/pwg/other-sink.xml:
9907         * docs/pwg/other-source.xml:
9908         * docs/pwg/titlepage.xml:
9909           fix up id's
9910
9911 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9912
9913         * docs/95NonPath:
9914         * docs/HACKING:
9915         * docs/README:
9916         * docs/building-the-docs-on-debian:
9917           collect relevant bits of doc info
9918
9919 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9920
9921         * docs/pwg/advanced_tagging.xml:
9922           Half-assed commit so Thomas can re-arrange document IDs here to be
9923           consistent, too.
9924
9925 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9926
9927         * docs/manual/autoplugging.xml:
9928         * docs/manual/bins-api.xml:
9929         * docs/manual/bins.xml:
9930         * docs/manual/buffers-api.xml:
9931         * docs/manual/buffers.xml:
9932         * docs/manual/clocks.xml:
9933         * docs/manual/components.xml:
9934         * docs/manual/cothreads.xml:
9935         * docs/manual/debugging.xml:
9936         * docs/manual/dparams-app.xml:
9937         * docs/manual/dynamic.xml:
9938         * docs/manual/elements-api.xml:
9939         * docs/manual/elements.xml:
9940         * docs/manual/factories.xml:
9941         * docs/manual/gnome.xml:
9942         * docs/manual/goals.xml:
9943         * docs/manual/helloworld.xml:
9944         * docs/manual/helloworld2.xml:
9945         * docs/manual/init-api.xml:
9946         * docs/manual/intro.xml:
9947         * docs/manual/links-api.xml:
9948         * docs/manual/links.xml:
9949         * docs/manual/manual.xml:
9950         * docs/manual/motivation.xml:
9951         * docs/manual/pads-api.xml:
9952         * docs/manual/pads.xml:
9953         * docs/manual/plugins-api.xml:
9954         * docs/manual/plugins.xml:
9955         * docs/manual/programs.xml:
9956         * docs/manual/queues.xml:
9957         * docs/manual/quotes.xml:
9958         * docs/manual/schedulers.xml:
9959         * docs/manual/states-api.xml:
9960         * docs/manual/states.xml:
9961         * docs/manual/threads.xml:
9962         * docs/manual/typedetection.xml:
9963         * docs/manual/xml.xml:
9964           use chapter, part, section or misc as id starts for all bits
9965
9966 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9967
9968         * docs/gst/gstreamer-sections.txt:
9969           Fix up TITLE of the sections
9970
9971 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9972
9973         * docs/pwg/advanced_interfaces.xml:
9974           Add documentation on propertyprobing.
9975         * docs/pwg/advanced_events.xml:
9976         * docs/pwg/advanced_tagging.xml:
9977         * docs/pwg/building_boiler.xml:
9978         * docs/pwg/building_filterfactory.xml:
9979         * docs/pwg/pwg.xml:
9980           Move filterfactory and tagging into their own chapter, add a chapter
9981           on events. all these are empty placeholders that will be filled in
9982           some day.
9983
9984 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9985
9986         * docs/pwg/advanced_interfaces.xml:
9987           Docs for mixer interface. Also a check for website uploading.
9988
9989 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9990
9991         * docs/HACKING:
9992         * docs/Makefile.am:
9993         * docs/faq/Makefile.am:
9994         * docs/gst/Makefile.am:
9995         * docs/gst/tmpl/gstelement.sgml:
9996         * docs/gst/tmpl/gstplugin.sgml:
9997         * docs/gst/tmpl/gstreamer-unused.sgml:
9998         * docs/libs/Makefile.am:
9999         * docs/manual/Makefile.am:
10000         * docs/manuals.mak:
10001         * docs/pwg/Makefile.am:
10002         * docs/upload.mak:
10003           Separate out upload target and make it similar for
10004           both docbook and gtk-doc docs
10005
10006 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10007
10008         * docs/manuals.mak:
10009           Fix upload target to work with freedesktop
10010
10011 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10012
10013         * docs/pwg/advanced_types.xml:
10014           Add notes on creating your own types.
10015         * docs/pwg/building_boiler.xml:
10016         * docs/pwg/building_pads.xml:
10017         * docs/pwg/building_state.xml:
10018           Add some stuff about how to retrieve values from structures, how
10019           that relates to types and change layout slightly again to be almost
10020           perfect.
10021
10022 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10023
10024         * docs/pwg/advanced_dparams.xml:
10025         * docs/pwg/advanced_scheduling.xml:
10026           Change index layout slightly.
10027
10028 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10029
10030         * docs/pwg/advanced_clock.xml:
10031         * docs/pwg/advanced_interfaces.xml:
10032         * docs/pwg/advanced_midi.xml:
10033           General placeholders for now.
10034         * docs/pwg/advanced_request.xml:
10035           Explanation about sometimes and request pads.
10036         * docs/pwg/advanced_scheduling.xml:
10037           Concept of bytestream, loopfunctions and schedulers.
10038         * docs/pwg/building_boiler.xml:
10039           Add something about plugin-init.
10040
10041 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10042
10043         * docs/pwg/building_pads.xml:
10044           Fix broken docbook
10045
10046 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10047
10048         * docs/pwg/advanced_interfaces.xml:
10049         * docs/pwg/pwg.xml:
10050           Add as a placeholder for future filling-in.
10051         * docs/pwg/basics_autoplugging.xml:
10052         * docs/pwg/basics_buffers.xml:
10053         * docs/pwg/basics_elements.xml:
10054         * docs/pwg/basics_events.xml:
10055         * docs/pwg/basics_plugins.xml:
10056         * docs/pwg/basics_types.xml:
10057           Remove, because unused (this is all in intro_basics.xml).
10058         * docs/pwg/building_signals.xml:
10059           Short intro to signals + reference to GObject docs - we really
10060           shouldn't go into these sort of things to deply because we don't
10061           use them that extensively anyway.
10062         * docs/pwg/building_state.xml:
10063           Explanation of states. Benjamin, please check.
10064         * docs/pwg/building_testapp.xml:
10065           Put everything in one page - putting only a few lines of content
10066           per page doesn't really make sense.
10067
10068           Time to get into the advanced topics. ;).
10069
10070 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10071
10072         * docs/pwg/advanced_types.xml:
10073           Finish documenting the current state of mimetypes.
10074         * docs/pwg/building_boiler.xml:
10075         * docs/pwg/building_chainfn.xml:
10076         * docs/pwg/building_pads.xml:
10077         * docs/pwg/building_props.xml:
10078         * docs/pwg/building_testapp.xml:
10079           Start documenting the "how to build a simple audio filter" part
10080           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
10081           states and (maybe?) a short introduction to capsnego in the chapter
10082           on pads (building_pads.xml). Capsnego should probably be explained
10083           fully in advanced_capsnego.xml or so.
10084
10085 2004-01-26  David Schleef  <ds@schleef.org>
10086
10087         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
10088         * gst/gstpad.h: Add new function to allow element to (somewhat)
10089         specify non-fixed caps on a pad.
10090         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
10091         that I added a few weeks ago.
10092
10093 2004-01-26  David Schleef  <ds@schleef.org>
10094
10095         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
10096           making try_set_caps() work with non-fixed caps.
10097
10098 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10099
10100         * docs/pwg/advanced_types.xml:
10101         * docs/pwg/intro_basics.xml:
10102         * docs/pwg/intro_preface.xml:
10103         * docs/pwg/pwg.xml:
10104         * docs/pwg/titlepage.xml:
10105           First try to resurrect the PWG. I'm halfway integrating the mimetypes
10106           in here (docs/random/mimetypes), and will from there on work on both
10107           updating outdated parts and adding missing parts.
10108           That doesn't mean I'll fix it completely, but I'll try at least. ;).
10109
10110 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10111
10112         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
10113           policy is set
10114
10115 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10116
10117         * gst/gstelement.h:
10118           remove gst_element_factory_get_version. It doesn't exist anymore.
10119         * gst/gstplugin.c:
10120         * gst/gstplugin.h:
10121           remove gst_plugin_set_name and change gst_plugin_get_longname to
10122           gst_plugin_get_description to match code.
10123         * gst/gsterror.h:
10124           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
10125         * gst/gstpad.c: (gst_pad_try_set_caps):
10126           make it work with nonfixed caps.
10127           Note that even in the nonfixed case the link function of the pad
10128           that tries to set caps isn't called.
10129
10130 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10131
10132         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10133           fix bug where buffer was not assembled correctly
10134         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
10135           silence by default
10136         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10137           only seek if there's no more buffers that could work without seeking
10138
10139 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10140
10141         * gst/gsttag.c: (_gst_tag_initialize):
10142         * gst/gsttag.h:
10143           Add application tag (for encoding/muxing app).
10144
10145 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10146
10147         * autogen.sh:
10148           make autopoint force, and libtoolize not copy
10149         * common/m4/as-docbook.m4:
10150           added docbook xml catalog setup check
10151         * common/m4/gst-doc.m4:
10152           use docbook check
10153
10154 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10155
10156         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10157         * gst/gsttag.h:
10158           add GstTagFlag
10159
10160 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10161
10162         * docs/gst/gstreamer-sections.txt:
10163         * docs/gst/tmpl/gst.sgml:
10164         * docs/gst/tmpl/gstbuffer.sgml:
10165         * docs/gst/tmpl/gstclock.sgml:
10166         * docs/gst/tmpl/gstelement.sgml:
10167         * docs/gst/tmpl/gstreamer-unused.sgml:
10168         * docs/gst/tmpl/gstxml.sgml:
10169           sync latest API changes to docs
10170
10171 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10172
10173         * gst/gstpluginfeature.c:
10174           fix doc snippet
10175         * tools/gst-inspect.c: (print_element_list):
10176           fix output of typefind
10177           add GPL header
10178         * tools/gst-launch.c:
10179           add GPL header
10180
10181 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10182
10183         * gst/elements/Makefile.am:
10184         * gst/elements/gstelements.c:
10185         * gst/elements/gsttypefindelement.c:
10186         * gst/elements/gsttypefindelement.h:
10187         * po/POTFILES.in:
10188         * po/fr.po:
10189         * po/nl.po:
10190           renamed gsttypefindelement to gsttypefind, conserving CVS history
10191
10192 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10193
10194         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
10195         * gst/gsttag.h:
10196           add some tags used in ogg as well
10197           fix _ in replaygain tags
10198
10199 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10200
10201         * gst/gsterror.h:
10202           fix wrong GST_LIBRARY_ERROR_ENCODE addition
10203
10204 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10205
10206         * gst/gstelement.c: (gst_element_error_full):
10207         * gst/gstelement.h:
10208           change _extended to _full
10209
10210 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10211
10212         reviewed by: <delete if not using a buddy>
10213
10214         * docs/gst/tmpl/gst.sgml:
10215         * docs/gst/tmpl/gstbuffer.sgml:
10216         * docs/gst/tmpl/gstclock.sgml:
10217         * docs/gst/tmpl/gstelement.sgml:
10218         * docs/gst/tmpl/gstreamer-unused.sgml:
10219         * docs/gst/tmpl/gstxml.sgml:
10220         * gst/gstelement.c: (gst_element_error_full):
10221         * gst/gstelement.h:
10222
10223 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10224
10225         * gst/gstelement.h: fix _gst_element_error_printf prototype
10226
10227 2004-01-20  David Schleef  <ds@schleef.org>
10228
10229         * gst/gststructure.c: (gst_structure_to_string):
10230         Convert function to use gst_value_serialize().
10231         * gst/gstvalue.c: (gst_value_serialize_list),
10232         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
10233         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
10234         (gst_value_serialize_int), (gst_value_serialize_double),
10235         (gst_string_wrap), (gst_value_serialize_string),
10236         (gst_value_serialize), (gst_value_deserialize):
10237         * gst/gstvalue.h:
10238         Add implementations for serialize.
10239
10240 2004-01-20  Julien MOUTTE  <julien@moutte.net>
10241
10242         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
10243         we want to keep that one in the future or change xvidenc.c to use 
10244         another error.
10245
10246 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10247
10248         * gst/gstelement.c: (_gst_element_error_printf):
10249         * gst/gstelement.h:
10250           privatise function
10251
10252 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10253
10254         * docs/random/error:
10255           doc explaining error system
10256         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10257           cleanup
10258
10259 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10260
10261         * gst/gst-i18n-app.h:
10262         * gst/gst-i18n-lib.h:
10263           remove inclusion of config.h
10264         * po/POTFILES.in:
10265         * po/nl.po:
10266           add gst/gstelement.c
10267
10268 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10269
10270         * po/nl.po: updated Dutch translation
10271
10272 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10273
10274         * gst/gsterror.c: (_gst_core_errors_init),
10275         (_gst_library_errors_init), (_gst_resource_errors_init),
10276         (_gst_stream_errors_init):
10277         remove ending punctuation dots
10278
10279 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10280
10281         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10282         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
10283         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10284         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10285         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10286         use GST_ERROR_SYSTEM
10287
10288 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10289
10290         * gst/gstelement.c: (gst_element_error_printf),
10291         (gst_element_error_extended):
10292         * gst/gstelement.h:
10293           add a helper printf function so we can have NULL values passed.
10294
10295 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10296
10297         * gst/gstelement.h:
10298           add G_STMT macros to gst_element_error, which isn't strictly
10299           necessary but people tell me to anyway.
10300
10301 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10302
10303         * gst/Makefile.am:
10304         * gst/autoplug/gstspideridentity.c:
10305         (gst_spider_identity_sink_loop_type_finding):
10306         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10307         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10308         (gst_filesink_close_file), (gst_filesink_handle_event),
10309         (gst_filesink_chain):
10310         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
10311         (gst_filesrc_map_region), (gst_filesrc_get_read),
10312         (gst_filesrc_open_file):
10313         * gst/elements/gstidentity.c: (gst_identity_chain):
10314         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10315         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10316         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10317         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
10318         * gst/gst.h:
10319         * gst/gst_private.h:
10320         * gst/gstelement.c: (gst_element_class_init),
10321         (gst_element_default_error), (gst_element_error_func),
10322         (gst_element_error_extended):
10323         * gst/gstelement.h:
10324         * gst/gsterror.c: (_gst_core_errors_init),
10325         (_gst_library_errors_init), (_gst_resource_errors_init),
10326         (_gst_stream_errors_init), (gst_error_get_message):
10327         * gst/gsterror.h:
10328         * gst/gstinfo.c: (_gst_debug_init):
10329         * gst/gstmarshal.list:
10330         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10331         (gst_pad_recover_caps_error), (gst_pad_pull):
10332         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10333         * gst/schedulers/gstbasicscheduler.c:
10334         (gst_basic_scheduler_chainhandler_proxy),
10335         (gst_basic_scheduler_gethandler_proxy),
10336         (gst_basic_scheduler_cothreaded_chain):
10337         * po/POTFILES.in:
10338         * po/fr.po:
10339         * po/nl.po:
10340           change error signal
10341           add error categories
10342
10343 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
10344
10345         * gst/gsttag.c: (_gst_tag_initialize):
10346         * gst/gsttag.h:
10347         Add replaygain tag
10348
10349 2004-01-18  Colin Walters  <walters@verbum.org>
10350
10351         * examples/retag/retag.c: Call gst_init before processing
10352         program args.  Add g_assert to _link_many call.
10353
10354 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10355
10356         * gst/gstpad.c: (gst_pad_alloc_buffer):
10357           Return a newly allocated buffer when the pad has no peer.
10358
10359 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10360
10361         * gst/gstclock.c: (gst_clock_get_time):
10362           make it compile with gcc 2.95 again.
10363           Patch by Scott Wheeler
10364
10365 2004-01-15  David Schleef  <ds@schleef.org>
10366
10367         * gst/gstcaps.h:
10368         Added gst_caps_is_simple() macro.
10369         * testsuite/caps/caps.c: (test1):
10370         * testsuite/caps/intersect2.c: (main):
10371         * testsuite/caps/intersection.c: (main):
10372         Fixes to make 'make check' work again after removing
10373         gst_caps_is_chained().
10374
10375 2004-01-15  Leif Johnson <leif@ambient.2y.net>
10376
10377         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
10378         and additions to the MIDI document.
10379
10380 2004-01-15  David Schleef  <ds@schleef.org>
10381
10382         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
10383         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
10384         of GST_RPAD_, since we don't know if it's a real or ghost pad.
10385
10386 2004-01-15  David Schleef  <ds@schleef.org>
10387
10388         * gst/gstqueue.c:
10389         * gst/gstqueue.h:
10390         Fix the spelling of "treshold" and make min_threshold actually
10391         affect the queue.
10392
10393 2004-01-15  David Schleef  <ds@schleef.org>
10394
10395         * gst/gstcaps.c:
10396         Add lots of documentation.
10397         * gst/gstcaps.h:
10398         Deprecate a few functions.
10399         * gst/gstpad.c:
10400         Removed use of deprecated functions.
10401
10402 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10403
10404         * gst/gstpad.c: (gst_pad_is_linked):
10405         * gst/gstpad.h:
10406           implement gst_pad_is_linked
10407         * gst/gstelement.h:
10408           reserve space for initiate_state_change
10409
10410 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10411
10412         * gst/autoplug/gstspideridentity.c:
10413         (gst_spider_identity_sink_loop_type_finding):
10414           break infinite loop by just returning instead of looping
10415         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
10416           set event time difference correctly. Set it to 1 second instead
10417           of 100ms to be more tolerant
10418         * gst/gstelement.c: (gst_element_set_time):
10419           add debugging output
10420
10421 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10422
10423         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
10424           query if buffers are inside the pool, ignore events
10425
10426 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10427
10428         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
10429         (gst_clock_set_speed), (gst_clock_set_active),
10430         (gst_clock_is_active), (gst_clock_reset),
10431         (gst_clock_handle_discont):
10432         * gst/gstclock.h:
10433           deprecate old interface and disable functions that aren't in use
10434           anymore.
10435         * gst/gstelement.h:
10436         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
10437         (gst_element_set_time), (gst_element_adjust_time):
10438           add concept of "element time" and functions to get/set this time.
10439         * gst/gstelement.c: (gst_element_change_state):
10440           update element time correctly.
10441         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
10442           This is a debug message, not a g_critical.
10443         * gst/gstpad.c: (gst_pad_event_default):
10444           handle discontinuous events right with element time.
10445         * gst/gstscheduler.c: (gst_scheduler_state_transition):
10446           update to clocking fixes.
10447           set clocks on elements in READY=>PAUSED. The old behaviour caused
10448           a wrong element time on the first element that started playing.
10449         * gst/schedulers/gstbasicscheduler.c:
10450         (gst_basic_scheduler_class_init):
10451         * gst/schedulers/gstoptimalscheduler.c:
10452         (gst_opt_scheduler_class_init):
10453           remove code that just implements the default behaviour.
10454         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
10455           update to use new clocking functions
10456         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
10457         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
10458           update to test new element time.
10459         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
10460           use _get_allowed_caps instead of _get_caps. This catches filtered
10461           caps correctly.
10462         * testsuite/debug/commandline.c:
10463           update for new GST_DEBUG syntax.
10464         * testsuite/threads/Makefile.am:
10465           disable a test that only works sometimes.
10466
10467 2004-01-13  Julien MOUTTE <julien@moutte.net>
10468
10469         * po/LINGUAS: Adding fr.
10470         * po/fr.po: Adding french translation.
10471
10472 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10473
10474         * gst/parse/grammar.y:
10475         * po/POTFILES.in:
10476         * po/nl.po:
10477         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
10478           translate parsing error messages
10479
10480 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10481
10482         * po/POTFILES.in: adding gst-launch
10483         * po/nl.po: updated translation, all 99 strings translated
10484         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
10485         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
10486           fix strings for translation
10487
10488 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10489
10490         * gst/gst.c:
10491           - capitalize beginnings of popt options
10492           - fix strings for translation
10493           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
10494
10495 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10496
10497         * po/README: add some notes on how to update translations
10498
10499 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10500
10501         * ABOUT-NLS: removed, is autogenerated from autopoint
10502         * autogen.sh: add autopoint stuff
10503         * configure.ac: fix up gettext stuff
10504         * gst/Makefile.am: add i18n headers to noinst_HEADERS
10505         * gst/elements/gsttypefindelement.c: add header include
10506         * gst/gettext.h: add header, copy from system-installed header
10507         * gst/gst-i18n-app.h: to be included by each app having translations
10508         * gst/gst-i18n-lib.h: to be included by each lib having translations
10509         * gst/gst.c: (init_pre): fix up gettext calls
10510         * gst/gst_private.h: remove i18n stuff, moving to separate headers
10511         * po/LINGUAS: the new way to specify translations present
10512         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
10513         * po/Makevars: the variables filled in for GStreamer
10514         * po/POTFILES.in: added new files with translations
10515         * po/de.po: has new strings
10516         * po/nl.po: readded, has new strings
10517
10518 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10519
10520         * gst/gsttag.c: fix some strings marked for translation
10521
10522 2004-01-13  Iain <iain@prettypeople.org>
10523
10524         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
10525         group when we add an element to it, cos we unref it when we remove one
10526
10527 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10528
10529         * testsuite/debug/commandline.c: (debug_not_reached):
10530         * testsuite/debug/output.c: (check_message):
10531           fix testsuite
10532
10533 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10534
10535         * examples/cutter/.cvsignore:
10536         * examples/helloworld/.cvsignore:
10537         * examples/launch/.cvsignore:
10538         * examples/manual/.cvsignore:
10539         * examples/mixer/.cvsignore:
10540         * examples/pingpong/.cvsignore:
10541         * examples/plugins/.cvsignore:
10542         * examples/queue/.cvsignore:
10543         * examples/queue2/.cvsignore:
10544         * examples/queue3/.cvsignore:
10545         * examples/queue4/.cvsignore:
10546         * examples/retag/.cvsignore:
10547         * examples/thread/.cvsignore:
10548         * examples/typefind/.cvsignore:
10549         * examples/xml/.cvsignore:
10550         * gst/.cvsignore:
10551         * gst/autoplug/.cvsignore:
10552         * gst/elements/.cvsignore:
10553         * gst/indexers/.cvsignore:
10554         * gst/parse/.cvsignore:
10555         * gst/registries/.cvsignore:
10556         * gst/schedulers/.cvsignore:
10557         * libs/gst/bytestream/.cvsignore:
10558         * libs/gst/control/.cvsignore:
10559         * libs/gst/getbits/.cvsignore:
10560         * tests/.cvsignore:
10561         * tests/bufspeed/.cvsignore:
10562         * tests/instantiate/.cvsignore:
10563         * tests/memchunk/.cvsignore:
10564         * tests/muxing/.cvsignore:
10565         * tests/sched/.cvsignore:
10566         * tests/seeking/.cvsignore:
10567         * tests/threadstate/.cvsignore:
10568         * testsuite/.cvsignore:
10569         * testsuite/caps/.cvsignore:
10570         * testsuite/cleanup/.cvsignore:
10571         * testsuite/dynparams/.cvsignore:
10572         * testsuite/plugin/.cvsignore:
10573         * tools/.cvsignore:
10574           update - this is huge, because it includes *.bb, *.bbg and *.da files
10575           which are generated for gcov.
10576
10577 2004-01-11  David Schleef  <ds@schleef.org>
10578
10579         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
10580         a function to parse integers in ways that strto[u]l() does not.
10581
10582 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10583
10584         * tools/gst-inspect.c: (print_caps):
10585           improve output of caps a bit
10586
10587 2004-01-11  David Schleef  <ds@schleef.org>
10588
10589         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
10590         inherit correct flags (READONLY and DONTKEEP).
10591
10592 2004-01-11  David Schleef  <ds@schleef.org>
10593
10594         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
10595         (gst_filesrc_map_region):
10596         * gst/gstbuffer.c: (_gst_buffer_initialize),
10597         (_gst_buffer_sub_free), (gst_buffer_default_copy),
10598         (gst_buffer_new), (gst_buffer_create_sub),
10599         (gst_buffer_is_span_fast), (gst_buffer_span):
10600         * gst/gstbuffer.h:
10601         Change GstBuffer private structure element names. (all files)
10602         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10603         (gst_queue_link):
10604         * gst/gstqueue.h:
10605         Implement getcaps/pad_link functions that handle the case where
10606         there are data in the queue.
10607
10608 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10609
10610         * gst/elements/gstbufferstore.c:
10611           initialize debugging structure correctly
10612         * gst/elements/gsttee.c: (gst_tee_set_property):
10613           g_object_notify when property was changed
10614         * gst/elements/gsttypefindelement.c:
10615         (gst_type_find_element_change_state):
10616           clear caps correctly
10617
10618 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10619
10620         * gst/gstqueue.c: (gst_queue_init):
10621           Use better defaults for when a queue should block. This
10622           gets rid of jerky playback for quite a few files.
10623           It takes more memory.
10624
10625 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10626
10627         (gst_xml_registry_parse_padtemplate):
10628           make critical message slightly more useful
10629
10630 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10631
10632         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
10633         (gst_debug_message_get), (gst_debug_log_default):
10634         * gst/gstinfo.h:
10635           Change gst_debug_log(_valist) to take a const format string.
10636           Change prototype of log function and functions using those to 
10637           take a GstDebugMessage instead of a string that requires using
10638           gst_debug_message_get.
10639
10640 2004-01-08  David Schleef  <ds@schleef.org>
10641
10642         * Makefile.am:
10643         * configure.ac:
10644         Add option --enable-gcov to build GStreamer with -fprofile-arcs
10645         and -ftest-coverage, which allows gcov to show information about
10646         testsuite coverage.
10647
10648 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10649
10650         * gst/gstutils.h:
10651           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
10652           GST_PARENT_CALL_WITH_DEFAULT
10653         * gst/elements/gstaggregator.c: 
10654         * gst/elements/gstbufferstore.c: 
10655         * gst/elements/gstfakesink.c: 
10656         * gst/elements/gstfakesrc.c: 
10657         * gst/elements/gstfdsink.c: 
10658         * gst/elements/gstfdsrc.c: 
10659         * gst/elements/gstfilesink.c: 
10660         * gst/elements/gstfilesrc.c: 
10661         * gst/elements/gstidentity.c: 
10662         * gst/elements/gstmd5sink.c: 
10663         * gst/elements/gstmultidisksrc.c:
10664         * gst/elements/gstpipefilter.c: 
10665         * gst/elements/gstshaper.c:
10666         * gst/elements/gststatistics.c:
10667         * gst/elements/gsttee.c:
10668         * gst/elements/gsttypefindelement.c:
10669           use them.
10670
10671 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10672
10673         * docs/gst/gstreamer-docs.sgml: remove props
10674         * docs/gst/gstreamer-sections.txt: remove props
10675         * docs/gst/tmpl/gst.sgml:
10676         * docs/gst/tmpl/gstbin.sgml:
10677         * docs/gst/tmpl/gstbuffer.sgml:
10678         * docs/gst/tmpl/gstcaps.sgml:
10679         * docs/gst/tmpl/gstclock.sgml:
10680         * docs/gst/tmpl/gstelement.sgml:
10681         * docs/gst/tmpl/gstindex.sgml:
10682         * docs/gst/tmpl/gstobject.sgml:
10683         * docs/gst/tmpl/gstpad.sgml:
10684         * docs/gst/tmpl/gstpadtemplate.sgml:
10685         * docs/gst/tmpl/gstreamer-unused.sgml:
10686         * docs/gst/tmpl/gstthread.sgml:
10687         * docs/gst/tmpl/gstxml.sgml:
10688           sync with code reorganization
10689
10690 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
10691
10692         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
10693         Make the 'Could not find compatible pad' message more informative.
10694
10695 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10696                                                                                 
10697         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
10698           Fix for if we pass NULL as property to location.
10699         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
10700         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
10701           Fix for instantiate-test (see below).
10702         * gst/gststructure.c: (_gst_structure_parse_value):
10703           Fix compile error on gcc-2.96.
10704         * configure.ac:
10705         * tests/Makefile.am:
10706         * tests/instantiate/Makefile.am:
10707         * tests/instantiate/create.c: (create_all_elements), (main):
10708           Add a test that instantiates all elements. This makes it easy to
10709           track dead code for old API/design (like setting event functions
10710           on sink pads and so on).
10711
10712 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
10713
10714         * gst/gstcaps.c: (gst_caps_append_structure):
10715           Move the poisoning to allow a NULL structure
10716         * gst/gstevent.c: (_gst_event_free):
10717           When freeing a navigation event, free the structure
10718           also
10719
10720 2004-01-04  David Schleef  <ds@schleef.org>
10721
10722         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
10723         Remove usage of gst_pad_proxy_fixate.
10724         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
10725         (gst_caps_split_one), (gst_caps_replace):
10726         Add poisoning code.
10727         * gst/gstmarshal.list:
10728         Add pointer__pointer for fixate signal
10729         * gst/gstpad.c: (gst_real_pad_class_init),
10730         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
10731         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
10732         (gst_pad_set_explicit_caps), (gst_pad_template_new):
10733         Add poisoning code. Add fixate signal on RealPad. Change
10734         set_explicit_caps() to take const GstCaps, like try_set_caps().
10735         * gst/gstpad.h:
10736         * testsuite/caps/Makefile.am:
10737         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
10738
10739 2004-01-03  David Schleef  <ds@schleef.org>
10740
10741         * gst/elements/gsttypefindelement.c:
10742         (gst_type_find_element_have_type), (gst_type_find_element_init):
10743         Use gst_pad_use_explicit_caps for src pad.
10744         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
10745         before using it.
10746
10747 2004-01-03  David Schleef  <ds@schleef.org>
10748
10749         * gst/gstelement.c: (gst_element_link_pads_filtered),
10750         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
10751         that linking was successful.
10752         * gst/gstpad.c: (gst_pad_link_free),
10753         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
10754         (gst_pad_link_try), (gst_pad_link_unnegotiate),
10755         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
10756         GstPadLinkReturn correctly between functions, and don't fail
10757         when DELAYED is used (DELAYED is very important).  Better
10758         cleanup on unlinking and unnegotiation.  Should fix some spider
10759         bugs.
10760
10761 2004-01-02  David Schleef  <ds@schleef.org>
10762
10763         * gst/gstelement.c: (gst_element_class_init),
10764         (gst_element_base_class_init): ->padtemplates should be cleared
10765         in base_init, since we need to have a fresh list for every
10766         class.  (Alternately, we chould copy the list and share the
10767         actual pad templates (not the list), but that would require
10768         changing every plugin to move pad template registration from
10769         base_init to class_init.)
10770
10771 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10772
10773         * gst/gstelement.c: (gst_element_class_add_pad_template):
10774           Refuse registering a pad template if another pad template
10775           with the same name already exists (#114715).
10776
10777 2004-01-02  David Schleef  <ds@schleef.org>
10778
10779         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
10780         (gst_caps_is_equal_fixed): Add new function.
10781         * gst/gstcaps.h: ditto.
10782         * gst/gstpad.c: (gst_real_pad_class_init),
10783         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
10784         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
10785         check new caps against existing caps -- if they're the same, return
10786         OK without renegotiating.  caps-nego-failed signal fixed so that
10787         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
10788         to save an extra caps copy.  Don't complete negotiation if a pad
10789         link function returns DELAYED.
10790
10791 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10792
10793         * gst/gstpad.c: (gst_pad_try_relink_filtered):
10794           Fix wrong g_return_if_fail
10795
10796 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
10797
10798         * gst/gstbin.c: (gst_bin_class_init):
10799         Change the marshalling of element_added/element_removed
10800         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
10801         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
10802
10803 2004-01-01  David Schleef  <ds@schleef.org>
10804
10805         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10806         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
10807         (gst_pad_use_explicit_caps):
10808         * gst/gstpad.h:
10809         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
10810         to use an internal getcaps and link fuction so that negotiation
10811         always results in the explicitly set caps.
10812         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
10813         are particularly useful for decoders.
10814
10815 2003-12-31  David Schleef  <ds@schleef.org>
10816
10817         * gst/elements/gstidentity.c: (gst_identity_class_init),
10818         (gst_identity_init), (gst_identity_chain),
10819         (gst_identity_set_property), (gst_identity_get_property):
10820         * gst/elements/gstidentity.h:
10821         * gst/gstqueue.c: (gst_queue_init):
10822           Negotiation fixes.
10823
10824 2003-12-31  David Schleef  <ds@schleef.org>
10825
10826         * gst/gstcaps.c: (gst_caps_intersect),
10827         (_gst_caps_normalize_foreach), (gst_caps_normalize):
10828           Implement gst_caps_normalize().
10829         * testsuite/caps/normalisation.c: (main):
10830           Add an additional test
10831
10832 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10833
10834         * gst/gstqueue.c: (gst_queue_init):
10835           use gst_pad_proxy_getcaps()
10836
10837 2003-12-31  David Schleef  <ds@schleef.org>
10838
10839         * gst/elements/gstshaper.c: (gst_shaper_link):
10840         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
10841         * gst/gstqueue.c: (gst_queue_link):
10842           Negotiation fixes.
10843
10844 2003-12-31  David Schleef  <ds@schleef.org>
10845
10846         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
10847         * gst/gstpad.h: Add functions that are useful as default pad
10848         link and fixate functions for elements.
10849
10850 2003-12-30  David Schleef  <ds@schleef.org>
10851
10852         * gst/gstpad.c: (gst_pad_link_try):
10853           Fix segfault when attempting to return to old caps
10854
10855 2003-12-29  David Schleef  <ds@schleef.org>
10856
10857         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
10858         (gst_caps_structure_simplify), (gst_caps_simplify):
10859         * gst/gstcaps.h:
10860           Add simplify function
10861         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
10862         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
10863         * gst/gstpad.h:
10864           Copy over srcnotify, sinknotify when calling old pad_link
10865           functions.  Add new is_negotiated() function.
10866         * gst/gststructure.c: (gst_structure_copy):
10867           Fix an incredibly stupid bug that should have been noticed
10868           weeks ago.  _copy() returned the argument, not the new copy.
10869
10870 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10871
10872         * gst/gstcaps.c: (gst_caps_append):
10873           add sanity checks
10874         * gst/gstcaps.h: (gst_caps_debug):
10875           remove, it doesn't exist anymore.
10876         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
10877         (gst_element_threadsafe_properties_post_run):
10878           make debugging messages not clutter up THREAD debug category
10879         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
10880         (gst_element_change_state):
10881           update to new caps API
10882         * gst/gstinterface.c: (gst_implements_interface_cast):
10883           don't put vital code in g_return_if_fail
10884         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
10885         (gst_pad_link_filtered):
10886           add pst_pad_try_link and use it.
10887         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
10888           implement correctly, deprecate first one.
10889         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
10890           add and implement.
10891         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
10892           implement.
10893         (gst_pad_get_negotiated_caps):
10894           add and implement. Make GST_PAD_CAPS call this function.
10895         (gst_pad_get_caps):
10896           remove unneeded check..
10897         (gst_pad_recover_caps_error):
10898           disable, always return FALSE.
10899         (gst_real_pad_dispose):
10900           don't free caps and appfilter anymore, they're unused.
10901         * gst/gstpad.h:
10902           Reflect changes mentioned above.
10903         * gst/gstsystemclock.c: (gst_system_clock_wait):
10904           Make 'clock is way behind' a debugging message.
10905         * gst/gstthread.c: (gst_thread_change_state):
10906           Fix debugging message
10907
10908 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10909
10910         * gst/gstinfo.h:
10911           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
10912         * docs/gst/tmpl/gstreamer-unused.sgml:
10913           removed all traces of cvs conflicts
10914
10915 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10916
10917         * configure.ac:
10918         * gst/schedulers/cothreads_compat.h:
10919         * libs/Makefile.am:
10920           remove last instances of wingo cothread usage
10921
10922 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10923
10924         * gst/gstplugin.c:
10925         * gst/gstversion.h.in:
10926         * gst/parse/grammar.y:
10927           change comment block from /** to /* when not gtk-doc comments
10928
10929 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10930
10931         * gst/gst.c: whitespace and doc style fixes
10932
10933 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10934
10935         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
10936
10937 2003-12-24  Colin Walters  <walters@verbum.org>
10938
10939         * gst/elements/gsttypefindelement.c:
10940           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
10941           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
10942           Don't double-free caps.
10943
10944 2003-12-23  David Schleef  <ds@schleef.org>
10945
10946         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
10947           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
10948           Many little fixes and additions of debug statements to
10949           get rhythmbox working.
10950
10951 2003-12-23  Colin Walters  <walters@verbum.org>
10952
10953         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
10954         Use GST_PAD_LINK_SUCCESSFUL.
10955
10956 2003-12-23  David Schleef  <ds@schleef.org>
10957
10958         * gst/elements/gstaggregator.c:
10959         * gst/elements/gsttee.c:
10960           Use gst_pad_proxy_getcaps().
10961         * gst/gstpad.c:
10962         * gst/gstpad.h:
10963           Add gst_pad_proxy_getcaps(), which filter elements can use
10964           as a generic getcaps implementation.
10965           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
10966           was advertised.
10967
10968 2003-12-23  David Schleef  <ds@schleef.org>
10969
10970         * gst/gstpad.c:
10971           Rearrange/rewrite much of the pad negotiation code, since it
10972           resembled pasta.  This actually changes the way some
10973           negotiation works, since the previous code was inconsistent
10974           depending on how it was invoked.  Add (internal) structure
10975           GstPadLink, which is used to hold some information (more in
10976           the future) about the link between two pads.  Fixes a number
10977           of bugs, including random lossage of filter caps when the
10978           initial negotiation is delayed.  A few functions are still
10979           unimplemented.
10980         * gst/gstpad.h:
10981           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
10982           these when testing GstPadLinkReturn values instead of comparing
10983           directly.
10984
10985 2003-12-23  David Schleef  <ds@schleef.org>
10986
10987         * gst/gstvalue.c: 
10988         * gst/gstvalue.h:
10989           Rearrange lots of code.  Change registration of compare function
10990           into registration of compare/serialize/deserialize functions.
10991           Doesn't include implementation of gst_value_[de]serialize(),
10992           but that should be easy.
10993
10994 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10995
10996         * docs/gst/gstreamer-sections.txt:
10997         * docs/gst/tmpl/gstprops.sgml: removed
10998         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
10999           David removed props and caps code, so let's remove their docs as well.
11000           Removed all no longer existing symbols from gstreamer-sections.txt
11001           
11002 2003-12-22  Colin Walters  <walters@verbum.org>
11003
11004         * gst/gsttaginterface.c, gst/gsttaginterface.h,
11005           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
11006           of tags directly.
11007
11008 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11009
11010         * gst/elements/gstelements.c:
11011           Set ranks of elements to NONE, so the autoplugger doesn't use them.
11012         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
11013           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
11014           gst_caps (peer).
11015
11016 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11017
11018         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11019         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
11020         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
11021         (gst_spider_identity_sink_loop_type_finding):
11022         * gst/autoplug/gstspideridentity.h:
11023           Fix autoplugging in spider element, so it works with new caps.
11024           This was mainly caused by identifying empty caps incorrectly.
11025
11026 2003-12-22  David Schleef  <ds@schleef.org>
11027
11028         * gststructure.c, gstvalue.c, gstvalue.h: Add
11029           gst_value_init_and_copy() and use it, to avoid silly mistakes in
11030           using g_value_copy()
11031
11032 2003-12-21  David Schleef  <ds@schleef.org>
11033
11034         * many, many files: Merge CAPS branch.  This includes:
11035           - implemention of GstValue and several GstValue types
11036           - implemention of GstStructure
11037           - entire rewrite of GstCaps
11038           - removal of GstProps
11039           - many changes to GstPad to compensate for new caps paradigm
11040           - removal of GstBufferpool
11041         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
11042         gstvalue.h, gst/gstcaps[2]*.[ch]:
11043           - rename gstcaps2.[ch] to gstcaps.[ch]
11044
11045 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11046
11047         * gst/gstqueue.c: (gst_queue_handle_pending_events),
11048         (gst_queue_chain), (gst_queue_handle_src_event):
11049           implement timeout for sending events. Workaround for if the
11050           pipeline on this queue is not passing any data.
11051
11052 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
11053                                                                                 
11054         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
11055         * moved CVS to freedesktop.org
11056