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