gst/gstobject.c (gst_object_unref, gst_object_ref)
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-06-28  Andy Wingo  <wingo@pobox.com>
2
3         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
4         (gst_object_sink): Take gpointer arguments, not GstObject --
5         avoids casts. Like GLib.
6
7         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
8         activate.
9
10 2005-06-27  Andy Wingo  <wingo@pobox.com>
11
12         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
13         remaining buffer.
14
15         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
16         returns a sorted copy of the trace list.
17         (gst_alloc_trace_print_live): New API, only prints traces with
18         live objects. Sort the list.
19         (gst_alloc_trace_print_all): Sort the list.
20         (gst_alloc_trace_print): Align columns.
21
22         * gst/elements/gstttypefindelement.c:
23         * gst/elements/gsttee.c:
24         * gst/base/gstbasesrc.c:
25         * gst/base/gstbasesink.c:
26         * gst/base/gstbasetransform.c:
27         * gst/gstqueue.c: Adapt for pad activation changes.
28
29         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
30         sched.
31         (gst_pipeline_dispose): Drop ref on sched.
32
33         * gst/gstpad.c (gst_pad_init): Set the default activate func.
34         (gst_pad_activate_default): Push mode by default.
35         (pre_activate_switch, post_activate_switch): New stubs, things to
36         do before and after switching activation modes on pads.
37         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
38         the pad's activate function to choose which mode to activate.
39         Shortcut on deactivation and call the right function directly.
40         (gst_pad_activate_pull): New API, (de)activates a pad in pull
41         mode.
42         (gst_pad_activate_push): New API, same for push mode.
43         (gst_pad_set_activate_function) 
44         (gst_pad_set_activatepull_function) 
45         (gst_pad_set_activatepush_function): Setters for new API.
46
47         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
48         Trace all miniobjects.
49         (gst_mini_object_make_writable): Unref the arg if we copy, like
50         gst_caps_make_writable.
51
52         * gst/gstmessage.c (_gst_message_initialize): No trace init.
53
54         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
55         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
56         Adapt for new pad API.
57
58         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
59
60         * gst/gstelement.h:
61         * gst/gstelement.c (gst_element_iterate_src_pads) 
62         (gst_element_iterate_sink_pads): New API functions.
63         
64         * gst/gstelement.c (iterator_fold_with_resync): New utility,
65         should fold into gstiterator.c in some form.
66         (gst_element_pads_activate): Simplified via use of fold and
67         delegation of decisions to gstpad->activate.
68
69         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
70         help in debugging.
71
72         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
73         class once in init, like gstmessage. Didn't run into this issue
74         but it seems correct. Don't initialize a trace, gstminiobject does
75         that.
76
77         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
78         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
79         to the bus.
80         (assert_live_count): New util function, uses alloc traces to check
81         cleanup.
82
83         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
84         To be modified when unlink drops the internal pad.
85
86 2005-06-27  Wim Taymans  <wim@fluendo.com>
87
88         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
89         (gst_bin_change_state):
90         Cleanup the get_state() function a little, make sure it
91         iterates the same set of elements.
92         Added stub iterate_state_order().
93
94 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
95
96         * docs/gst/gstreamer-docs.sgml:
97         * docs/gst/gstreamer-sections.txt:
98         * docs/gst/gstreamer.types:
99         * docs/gst/tmpl/gstbasesink.sgml:
100         * docs/gst/tmpl/gstbasesrc.sgml:
101         * docs/gst/tmpl/gstbasetransform.sgml:
102         * docs/gst/tmpl/gstelement.sgml:
103         * docs/gst/tmpl/gstiterator.sgml:
104         * gst/base/gstbasesrc.c:
105         * gst/base/gstbasesrc.h:
106         * gst/base/gstbasetransform.h:
107         * gst/gstelement.c:
108         * gst/gstiterator.h:
109           adding basetransform and iterator docs
110
111 2005-06-27  Andy Wingo  <wingo@pobox.com>
112
113         * docs/design/part-activation.txt: Notes on how activation should
114         work -- not quite implemented yet.
115
116 2005-06-25  Wim Taymans  <wim@fluendo.com>
117
118         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
119         At least get the chain function correct, needs more
120         fixing.
121
122 2005-06-25  Wim Taymans  <wim@fluendo.com>
123
124         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
125         (gst_basesink_handle_object), (gst_basesink_event),
126         (gst_basesink_do_sync), (gst_basesink_handle_event),
127         (gst_basesink_change_state):
128         * gst/gsttask.h:
129         Right, two problems here: ghostpads don't take locks and
130         glib _rec_mutex_lock_full() with depth==0 still locks.
131         Catch illegal locking and g_warn them.
132
133 2005-06-25  Wim Taymans  <wim@fluendo.com>
134
135         * check/states/sinks.c: (START_TEST), (gst_object_suite):
136         Have to check for completion now...
137
138 2005-06-25  Wim Taymans  <wim@fluendo.com>
139
140         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
141         (gst_basesink_handle_object), (gst_basesink_event),
142         (gst_basesink_do_sync), (gst_basesink_handle_event),
143         (gst_basesink_change_state):
144         * gst/gstpad.h:
145         Unlock STREAM_LOCK whatever the recursion was.
146
147 2005-06-25  Wim Taymans  <wim@fluendo.com>
148
149         * gst/base/gstbasesink.c: (gst_basesink_set_property),
150         (gst_basesink_preroll_queue_empty),
151         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
152         (gst_basesink_event), (gst_basesink_do_sync),
153         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
154         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
155         (gst_basesink_change_state):
156         Reworked the base sink, handle event and buffer serialisation
157         correctly and removed possible deadlock.
158         Handle EOS correctly.
159
160 2005-06-25  Wim Taymans  <wim@fluendo.com>
161
162         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
163         (gst_pipeline_change_state):
164         * tools/gst-launch.c: (check_intr), (event_loop), (main):
165         Allow elements to post EOS in the state change function.
166         Fix up -launch, make it exit the poll loop when the
167         pipeline actually changed state.
168         Fix up warning parsing in -launch.
169
170 2005-06-25  Wim Taymans  <wim@fluendo.com>
171
172         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
173         (gst_tee_sink_activate):
174         Core takes STREAM_LOCK for us now.
175
176 2005-06-25  Wim Taymans  <wim@fluendo.com>
177
178         * gst/gstelement.c: (gst_element_get_state_func),
179         (gst_element_set_state):
180         * gst/gstelement.h:
181         * gst/gstmessage.c: (gst_message_parse_error),
182         (gst_message_parse_warning):
183         Keep track of current target state while performing a state
184         change so that subclasses can do something interesting.
185         Fix parsing of warning/error messages when GError is NULL.
186
187 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
188
189         * docs/gst/Makefile.am:
190         * docs/gst/gstreamer-docs.sgml:
191         * docs/gst/gstreamer-sections.txt:
192         * docs/gst/gstreamer.types:
193         * docs/gst/tmpl/gstbasesink.sgml:
194         * docs/gst/tmpl/gstbasesrc.sgml:
195         * docs/gst/tmpl/gstbin.sgml:
196         * docs/gst/tmpl/gstcompat.sgml:
197         * docs/gst/tmpl/gstfakesink.sgml:
198         * docs/gst/tmpl/gstfakesrc.sgml:
199         * docs/gst/tmpl/gstfilesink.sgml:
200         * docs/gst/tmpl/gstfilesrc.sgml:
201         * docs/gst/tmpl/gstindex.sgml:
202         * docs/manual/appendix-quotes.xml:
203         * gst/base/gstbasesrc.h:
204         * gst/elements/gstfakesrc.h:
205         * gst/gstmessage.h:
206           start pulling in base classes and elements in our docs
207
208 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
209
210         * docs/gst/Makefile.am:
211         * docs/libs/Makefile.am:
212           fixed make distcheck with gtk-doc 1.3
213
214 2005-06-23  Wim Taymans  <wim@fluendo.com>
215
216         * gst/gstelement.c: (gst_element_get_state_func),
217         (gst_element_set_state), (gst_element_change_state):
218         When the state did not change, also report NO_PREROLL
219         when it matters.
220
221 2005-06-23  Wim Taymans  <wim@fluendo.com>
222
223         * gst/gstpad.c: (gst_pad_event_default):
224         * gst/gstqueue.c: (gst_queue_loop):
225         No unsafe task pausing please.
226
227 2005-06-23  Wim Taymans  <wim@fluendo.com>
228
229         * gst/schedulers/threadscheduler.c:
230         (gst_thread_scheduler_task_start),
231         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
232         Ref the task before pushing it on the threadpool. This
233         makes sure that we have a ref when the threadfunction is
234         actually called.
235
236 2005-06-23  Andy Wingo  <wingo@pobox.com>
237
238         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
239         offset is greater than the file's size.
240
241         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
242         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
243         * gst/gstobject.c (gst_object_class_init): Make the class lock
244         recursive. Wim won't let me drop deep_notify. Decodebin works
245         again, whoopdy doo.
246
247         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
248         internal pad, and hacks accordingly. Doesn't do it on the target
249         pad because we change its caps. Probably catches all cases of
250         interest tho.
251         (gst_ghost_pad_set_property): Connect to notify::caps as
252         appropritate.
253
254         * tests/network-clock.scm (plot-simulation): Pipe data to the
255         elite python skript.
256
257         * tests/network-clock-utils.scm (define-parameter): New macro,
258         defines a parameter that can be set via the command line.
259         (set-parameter!, parse-parameter-arguments): Command line args
260         parser.
261
262         * tests/plot-data: Simple matplotlib-based plotter, takes input on
263         stdin.
264
265 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
266
267         * gst/elements/gsttypefindelement.c:
268         (gst_type_find_element_handle_event):
269           Don't restart typefinding on a discont.
270         * gst/gstelement.c: (gst_element_set_state):
271           Debug spelling fix.
272         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
273           Allow changing mode of an active pad.
274           Debug output fixes.
275         * gst/registries/gstlibxmlregistry.c: (load_feature):
276           Don't cast a static pad template to a normal pad template.
277
278 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
279
280         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
281         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
282           remove gst_strtoll completely, since it didn't actually do
283           anything more than what g_ascii_strtoull already does.
284           check for range errors when deserializing
285           do a cast for the unsigned cases; but further fixing needs
286           a decision on what the interpretation of "(int)" and
287           deserialization should be for values that fall outside the
288           type's boundaries (ie, refuse, or interpret as casting)
289
290 2005-06-23  Wim Taymans  <wim@fluendo.com>
291
292         * check/Makefile.am:
293         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
294         * docs/design/part-live-source.txt:
295         * docs/design/part-states.txt:
296         * gst/base/gstbasesrc.c: (gst_basesrc_init),
297         (gst_basesrc_set_live), (gst_basesrc_is_live),
298         (gst_basesrc_get_range), (gst_basesrc_activate),
299         (gst_basesrc_change_state):
300         * gst/base/gstbasesrc.h:
301         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
302         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
303         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
304         * gst/gstelement.c: (gst_element_get_state_func),
305         (gst_element_set_state):
306         * gst/gstelement.h:
307         * gst/gsttypes.h:
308         * tools/gst-launch.c: (event_loop), (main):
309         Added support for live sources and other elements that
310         cannot do preroll.
311         Updated design docs, added live-source design doc.
312         Implemented live source functionality in basesrc
313         Fix error condition in _bin_get_state()
314         Implement live source handling in -launch.
315         Added check for live sources.
316         Fixed case in GstBin where elements were changed state
317         multiple times.
318
319
320 2005-06-23  Andy Wingo  <wingo@pobox.com>
321
322         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
323         borken refcounting.
324
325         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
326         gst_caps_replace takes care of this for us.
327
328         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
329         gst_pad_set_caps on the target, not just its setcaps() function.
330
331         * tests/network-clock.scm: 
332         * tests/network-clock-utils.scm: A network clock simulator.
333         Something of an algorithmic testbed before doing something in C.
334
335 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
336
337         * check/Makefile.am:
338         * check/gst/capslist.h:
339           copy over from 0.8, and add two with bitmasks specified with
340           (int) 0xFF...
341         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
342           add test to parse everything from capslist.h
343         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
344         (main):
345           add test for structure deserialization
346         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
347           add tests for deserialization of strings to int types
348         * gst/gststructure.c: (gst_structure_nth_field_name):
349         * gst/gststructure.h:
350           add a way to get the name of a field referenced by index
351         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
352           instead of checking if the resulting long long lies between
353           min and max, we check if the long long would fit into
354           a number of bytes for the final type.
355           This fixes cases where a string represents 2^32 - 1, which
356           when cast to int would be the (valid) -1, but is bigger than
357           G_MAXINT
358
359 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
360
361         * gst/parse/grammar.y:
362           add a log line for type deserialization
363
364 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
365
366         * check/gst/gstvalue.c: (START_TEST):
367         * gst/gstvalue.c: (gst_value_deserialize):
368           return long long, not int, so gint64 deserialization actually
369           works.  Is there any flag that makes the compiler check this ?
370           Fixes #308559
371
372 2005-06-22  Wim Taymans  <wim@fluendo.com>
373
374         * gst/gstbuffer.h:
375         Added convenience macros for setting buffers in GValue.
376
377 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
378
379         * check/gst/.cvsignore:
380         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
381           add a test deserializing int64, and comment part out because
382           it fails, yay !
383
384 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
385
386         * check/Makefile.am:
387         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
388         * testsuite/Makefile.am:
389         * testsuite/caps/Makefile.am:
390         * testsuite/caps/value_serialize.c:
391         * testsuite/test_gst_init.c:
392           move a value_serialize test over
393
394 2005-06-20  Wim Taymans  <wim@fluendo.com>
395
396         * gst/gstpad.c:
397         Small doc updates.
398         
399         * gst/gstvalue.c: (gst_value_compare_buffer),
400         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
401         (gst_value_compare_flags), (gst_value_serialize_flags),
402         (gst_value_deserialize_flags), (_gst_value_initialize):
403         Fix serialisation of buffers, they are not boxed types anymore
404
405 2005-06-20  Wim Taymans  <wim@fluendo.com>
406
407         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
408         Testcase to show error in buffer-on-caps serialisation.
409
410 2005-06-20  Andy Wingo  <wingo@pobox.com>
411
412         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
413         will be adding to later.
414
415         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
416         if its socks fill with rocks.
417         (gst_system_clock_obtain): Set the name on object construction.
418         Avoid double-checked locking.
419
420 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
421
422         * gst/gsturi.c: (gst_element_make_from_uri):
423           Fix potential endless loop.
424
425 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
426
427         * check/Makefile.am:
428           add gsttag
429         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
430         (main):
431           move over from testsuite dir and clean up
432         * configure.ac:
433         * gst/gsttag.c:
434         * testsuite/Makefile.am:
435         * testsuite/tags/.cvsignore:
436         * testsuite/tags/Makefile.am:
437         * testsuite/tags/merge.c:
438           remove testsuite/tags
439
440 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
441
442         * docs/gst/gstreamer-sections.txt:
443         * docs/gst/tmpl/gstenumtypes.sgml:
444         * win32/gstenumtypes.c:
445           clean up documentation build a little
446
447 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
448
449         * check/gstcheck.h:
450           add macros for checking refcounts on objects and caps
451         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
452           add some more unit tests
453         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
454         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
455           fix leaked refcounts (I hope :)) so unittest works
456         * gst/gstpad.h:
457           whitespace removal
458
459 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
460
461         * configure.ac: back to HEAD
462
463 === release 0.9.1 ===
464
465 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
466
467         * NEWS:
468         * RELEASE:
469           updated
470
471 2005-06-17  Andy Wingo  <wingo@pobox.com>
472
473         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
474         assert; it's always possible that the pad gets deactivated in
475         between the checks in gstpad.c and the implementation. Rely on
476         finish_preroll() to return a FLUSHING or similar instead of on the
477         assert.
478         
479         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
480         clock and post an EOS message if we come out of finish_preroll in
481         the playing state.
482
483 2005-06-16  David Schleef  <ds@schleef.org>
484
485         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
486         (gst_capsfilter_set_property): Allow NULL as possible value
487         for filter_caps property, indicating GST_CAPS_ANY.
488
489 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
490
491         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
492           fix debug output
493         * gst/schedulers/Makefile.am:
494           use libgst prefix
495         * gstreamer.spec.in:
496           fix spec for it
497
498 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
499
500         * gstreamer.spec.in:
501           clean up
502
503 2005-06-08  Andy Wingo  <wingo@pobox.com>
504
505         * gst/gstutils.c: RPAD fixes all around.
506         (gst_element_link_pads): Refcounting fixes.
507
508         * tools/gst-inspect.c:
509         * tools/gst-xmlinspect.c:
510         * parse/grammar.y:
511         * gst/base/gsttypefindhelper.c:
512         * gst/base/gstbasesink.c:
513         * gst/gstqueue.c: RPAD fixes.
514
515         * gst/gstghostpad.h:
516         * gst/gstghostpad.c: New ghost pad implementation as full proxy
517         pads. The tricky thing is they provide both source and sink
518         interfaces, since they proxy the internal pad for the external
519         pad, and vice versa. Implement with lower-level ProxyPad objects,
520         with the interior proxy pad as a child of the exterior ghost pad.
521         Should write a doc on this.
522         
523         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
524         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
525         gst_object API.
526         
527         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
528         pads are real pads. No ghost pads in this file. Not documenting
529         the myriad s/RPAD/PAD/ and REALIZE fixes.
530         (gst_pad_class_init): Add properties for "direction" and
531         "template". Both are construct-only, so they can't change during
532         the life of the pad. Fixes properly deriving from GstPad.
533         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
534         derived objects, just set properties when creating the objects via
535         g_object_new.
536         (gst_pad_get_parent): Implement as a function, return NULL if the
537         parent is not an element.
538         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
539         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
540         
541         * gst/gstobject.c (gst_object_class_init): Make name a construct
542         property. Don't set it in the object init.
543
544         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
545         with UNKNOWN direction.
546         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
547         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
548         (gst_element_remove_pad): Remove ghost-pad special cases.
549         (gst_element_pads_activate): Remove rpad cruft.
550
551         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
552         catch the pad's-parent-not-an-element case.
553
554         * gst/gst.h: Include gstghostpad.h.
555
556         * gst/gst.c (init_post): No more real, ghost pads.
557
558         * gst/Makefile.am: Add gstghostpad.[ch].
559
560         * check/Makefile.am:
561         * check/gst/gstbin.c:
562         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
563         into a bin creates ghost pads, and that the refcounts are right.
564         Partly moved from gstbin.c.
565
566 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
567
568         * check/gst-libs/.cvsignore:
569         * check/gst/.cvsignore:
570         * check/pipelines/.cvsignore:
571           ignore more
572         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
573         (START_TEST), (cleanup_suite), (main):
574           add some tests related to cleanup after running pipelines
575
576 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
577
578         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
579           add a testsuite for GstBuffer
580
581 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
582
583         * gst/gstminiobject.h:
584           add defines for accessing the refcount
585
586 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
587
588         * Makefile.am: added support for html unit test coverage reports
589
590 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
591
592         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
593           Free existing caps if the capsfilter changes. Add a FIXME about
594           setting those caps on the pads.
595
596         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
597           Before adding a ghost pad to a parent bin, check that there isn't
598           already one for the element on the bin. Prevents infinite recursion
599           when using decodebin in parse pipelines. Andy says he'll rewrite the
600           way this works anyway, so ignore the hack.
601
602 2005-06-02  Andy Wingo  <wingo@pobox.com>
603
604         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
605         file size, pass it on to the type find helper.
606
607         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
608         segment_start and segment_end properly according to the seek
609         method. Segment_end is still a bit flaky because offset can be
610         negative for CUR and END cases, but it takes -1 as an "unset"
611         value.
612
613 2005-06-02  Wim Taymans  <wim@fluendo.com>
614
615         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
616         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
617         (gst_basesink_activate):
618         * gst/base/gstbasesink.h:
619         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
620         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
621         (gst_pad_query), (gst_pad_start_task):
622         * gst/gstpad.h:
623         * gst/gstqueue.c: (gst_queue_bufferalloc),
624         (gst_queue_handle_sink_event), (gst_queue_chain):
625         Bufferalloc: return GstFlowReturn to more accuratly report
626         why allocation failed.
627
628 2005-06-02  Wim Taymans  <wim@fluendo.com>
629
630         * gst/gstpipeline.c: (gst_pipeline_send_event):
631         Take snapshot of state without blocking.
632
633 2005-06-02  Wim Taymans  <wim@fluendo.com>
634
635         * docs/design/part-TODO.txt:
636         * docs/design/part-caps.txt:
637         * docs/design/part-clocks.txt:
638         * docs/design/part-negotiation.txt:
639         * docs/design/part-preroll.txt:
640         Small doc updates 
641
642 2005-05-30  Wim Taymans  <wim@fluendo.com>
643
644         * gst/elements/gstidentity.c: (gst_identity_event),
645         (gst_identity_transform), (gst_identity_get_property):
646         Protect last_message property as it is accessed from
647         multiple threads.
648
649 2005-05-30  Wim Taymans  <wim@fluendo.com>
650
651         * gst/gstelement.c: (gst_element_init),
652         (gst_element_pads_activate), (gst_element_change_state):
653         Slicker pad activation code.
654
655 2005-05-30  Wim Taymans  <wim@fluendo.com>
656
657         * gst/Makefile.am:
658         * gst/gstelement.h:
659         * gst/gstelementfactory.h:
660         * gst/gsttypes.h:
661         Move elementfactory methods to separate .h file.
662
663 2005-05-30  Wim Taymans  <wim@fluendo.com>
664
665         * docs/design/part-overview.txt:
666         * gst/gstsystemclock.h:
667         Small typo fixes, doc updates.
668
669 2005-05-30  Wim Taymans  <wim@fluendo.com>
670
671         * gst/gst.c: (gst_init_get_popt_table), (init_post),
672         (init_popt_callback):
673         Remove cpu-opt flag.
674
675 2005-05-30  Wim Taymans  <wim@fluendo.com>
676
677         * gst/gstbuffer.c: (gst_subbuffer_finalize),
678         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
679         * gst/gstbuffer.h:
680         Avoid typechecking in places where not needed.
681         Added accessor for malloc_data.
682
683 2005-05-30  Wim Taymans  <wim@fluendo.com>
684
685         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
686         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
687         (gst_pad_configure_sink), (gst_pad_configure_src),
688         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
689         (gst_pad_start_task):
690         Propagate errors from _set_caps() in configure_src/sink
691         functions instead of returning TRUE.
692         FLUSH events can travel up and downstream
693
694
695 2005-05-30  Wim Taymans  <wim@fluendo.com>
696
697         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
698         (gst_basesink_activate):
699         Handle EOS in preroll.
700
701 2005-05-30  Wim Taymans  <wim@fluendo.com>
702
703         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
704         (gst_queue_loop), (gst_queue_handle_src_event):
705         Remove old pieces of code
706         Flushing the queue in an upstream event is a very bad idea.
707
708 2005-05-26  Andy Wingo  <wingo@pobox.com>
709
710         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
711         gst_value_set_mini_object so as to add a ref on the object (which
712         will be removed when the value is unset).
713
714         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
715         arg type in ::handoff.
716
717         * gst/gstelement.c (gst_element_change_state): Also deactivate
718         pads in READY->NULL, just in case the element didn't make it to
719         PAUSED. Wingo tested, Wim approved.
720
721 2005-05-26  Wim Taymans  <wim@fluendo.com>
722
723         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
724         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
725         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
726         A flushing pad cannot be used to alloc_buffer from.
727
728 2005-05-26  Wim Taymans  <wim@fluendo.com>
729
730         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
731         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
732         (gst_bus_source_dispatch), (gst_bus_source_finalize),
733         (gst_bus_create_watch), (gst_bus_add_watch_full):
734         * gst/gstbus.h:
735         Implement a real GSource and use g_main_context_wakeup() to
736         signal new messages instead of the socketpair.
737
738 2005-05-25  Wim Taymans  <wim@fluendo.com>
739
740         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
741         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
742         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
743         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
744         (gst_pad_send_event), (gst_pad_start_task):
745         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
746         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
747         (gst_queue_sink_activate), (gst_queue_src_activate),
748         (gst_queue_change_state):
749         * gst/gstqueue.h:
750         Fix state changes for non sinks. We now change sinks, then elements
751         with unconnected srcpads, then the rest.
752         More efficient queue unlocking in flush and state changes.
753         Set the pad activate mode even if it does not have an activate
754         function.
755
756 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
757
758         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
759           Don't go in pull mode for non-seekable sources.
760         * gst/elements/gsttypefindelement.h:
761         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
762         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
763         (free_entry), (stop_typefinding),
764         (gst_type_find_element_handle_event), (find_peek),
765         (gst_type_find_element_chain), (do_pull_typefind),
766         (gst_type_find_element_change_state):
767           Allow typefinding (w/o seeking) in push-mode, simplified version
768           of what was in 0.8.
769         * gst/gstutils.c: (gst_buffer_join):
770         * gst/gstutils.h:
771           gst_buffer_join() from 0.8.
772
773 2005-05-25  Wim Taymans  <wim@fluendo.com>
774
775         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
776         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
777         (gst_pad_send_event), (gst_pad_start_task):
778         Disable attempt at mode switching until it is figured out.
779
780 2005-05-25  Wim Taymans  <wim@fluendo.com>
781
782         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
783         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
784         (gst_basesink_finish_preroll), (gst_basesink_chain),
785         (gst_basesink_loop), (gst_basesink_activate),
786         (gst_basesink_change_state):
787         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
788         (gst_basesrc_get_range), (gst_basesrc_loop),
789         (gst_basesrc_activate):
790         * gst/elements/gsttee.c: (gst_tee_sink_activate):
791         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
792         (gst_real_pad_init), (gst_real_pad_set_property),
793         (gst_real_pad_get_property), (gst_pad_set_active),
794         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
795         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
796         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
797         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
798         (gst_pad_event_default_dispatch), (gst_pad_event_default),
799         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
800         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
801         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
802         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
803         (gst_pad_stop_task):
804         * gst/gstpad.h:
805         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
806         (gst_queue_loop), (gst_queue_src_activate):
807         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
808         (gst_task_get_state):
809         * gst/gsttask.h:
810         * gst/schedulers/threadscheduler.c:
811         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
812         Implement gst_pad_pause/start/stop_task(), take STREAM lock
813         in task function.
814         Remove ACTIVE pad flag, use FLUSHING everywhere
815         Added _pad_chain(), _pad_get_range() to call chain/getrange 
816         functions.
817         Add locks around IS_FLUSHING when reading.
818         Take STREAM lock in chain(), get_range() functions so plugins
819         don't need to take it anymore.
820         
821
822
823 2005-05-25  Wim Taymans  <wim@fluendo.com>
824
825         * tools/gst-launch.c: (event_loop):
826         Unref message after using its contents instead of
827         before.
828
829 2005-05-24  Wim Taymans  <wim@fluendo.com>
830
831         * docs/design/draft-ghostpads.txt:
832         * docs/design/draft-push-pull.txt:
833         * docs/design/draft-query.txt:
834         * docs/design/part-overview.txt:
835         Docs updates, added general overview doc.
836
837 2005-05-21  David Schleef  <ds@schleef.org>
838
839         * docs/gst/tmpl/old/GstBin.sgml:
840         * docs/gst/tmpl/old/GstBuffer.sgml:
841         * docs/gst/tmpl/old/GstCaps.sgml:
842         * docs/gst/tmpl/old/GstClock.sgml:
843         * docs/gst/tmpl/old/GstCompat.sgml:
844         * docs/gst/tmpl/old/GstData.sgml:
845         * docs/gst/tmpl/old/GstElement.sgml:
846         * docs/gst/tmpl/old/GstEvent.sgml:
847         * docs/gst/tmpl/old/GstIndex.sgml:
848         * docs/gst/tmpl/old/GstStructure.sgml:
849         * docs/gst/tmpl/old/GstTag.sgml:
850         * docs/gst/tmpl/old/cothreads.sgml:
851         * docs/gst/tmpl/old/cothreads_compat.sgml:
852         * docs/gst/tmpl/old/gettext.sgml:
853         * docs/gst/tmpl/old/gobject2gtk.sgml:
854         * docs/gst/tmpl/old/grammar.tab.sgml:
855         * docs/gst/tmpl/old/gst-i18n-app.sgml:
856         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
857         * docs/gst/tmpl/old/gst_private.sgml:
858         * docs/gst/tmpl/old/gstaggregator.sgml:
859         * docs/gst/tmpl/old/gstarch.sgml:
860         * docs/gst/tmpl/old/gstatomic_impl.sgml:
861         * docs/gst/tmpl/old/gstbufferstore.sgml:
862         * docs/gst/tmpl/old/gstdata_private.sgml:
863         * docs/gst/tmpl/old/gstdisksink.sgml:
864         * docs/gst/tmpl/old/gstdisksrc.sgml:
865         * docs/gst/tmpl/old/gstelementfactory.sgml:
866         * docs/gst/tmpl/old/gstextratypes.sgml:
867         * docs/gst/tmpl/old/gstfakesink.sgml:
868         * docs/gst/tmpl/old/gstfakesrc.sgml:
869         * docs/gst/tmpl/old/gstfdsink.sgml:
870         * docs/gst/tmpl/old/gstfdsrc.sgml:
871         * docs/gst/tmpl/old/gstfilesink.sgml:
872         * docs/gst/tmpl/old/gstfilesrc.sgml:
873         * docs/gst/tmpl/old/gsthttpsrc.sgml:
874         * docs/gst/tmpl/old/gstidentity.sgml:
875         * docs/gst/tmpl/old/gstindexfactory.sgml:
876         * docs/gst/tmpl/old/gstmarshal.sgml:
877         * docs/gst/tmpl/old/gstmd5sink.sgml:
878         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
879         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
880         * docs/gst/tmpl/old/gstpadtemplate.sgml:
881         * docs/gst/tmpl/old/gstpipefilter.sgml:
882         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
883         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
884         * docs/gst/tmpl/old/gstshaper.sgml:
885         * docs/gst/tmpl/old/gstspider.sgml:
886         * docs/gst/tmpl/old/gstspideridentity.sgml:
887         * docs/gst/tmpl/old/gststatistics.sgml:
888         * docs/gst/tmpl/old/gsttee.sgml:
889         * docs/gst/tmpl/old/gsttimecache.sgml:
890         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
891         * docs/gst/tmpl/old/gstxmlregistry.sgml:
892         * docs/gst/tmpl/old/gthread-cothreads.sgml:
893         * docs/gst/tmpl/old/types.sgml:
894           I didn't intend to add these or check them in.
895
896 2005-05-19  David Schleef  <ds@schleef.org>
897
898         * configure.ac: Use -no-common everywhere.  In a sane world, it
899           would be the default in libtool, because without it, you can't
900           build DLLs on Windows.
901         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
902         * docs/gst/gstreamer-sections.txt:
903         * docs/gst/tmpl/gstcpu.sgml:
904         * docs/gst/tmpl/gstdata.sgml:
905         * docs/gst/tmpl/gstthread.sgml:
906
907 2005-05-19  David Schleef  <ds@schleef.org>
908
909         * gst/gstminiobject.c: (gst_value_set_mini_object),
910         (gst_value_take_mini_object), (gst_value_get_mini_object):
911         * gst/gstminiobject.h: Add GValue set/get functions.
912
913 2005-05-19  Wim Taymans  <wim@fluendo.com>
914
915         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
916         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
917         (gst_subbuffer_init), (gst_buffer_is_span_fast):
918         * gst/gstbuffer.h:
919         * gst/gstbus.c: (gst_bus_post):
920         * gst/gstelement.c: (gst_element_get_random_pad):
921         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
922         Make subbufer unref the parent in finalize.
923         some more debugging info.
924
925
926 2005-05-19  Wim Taymans  <wim@fluendo.com>
927
928         * gst/base/gstbasesink.c: (gst_basesink_class_init),
929         (gst_basesink_init), (gst_basesink_finalize),
930         (gst_basesink_activate), (gst_basesink_change_state):
931         Don't free preroll queue too early.
932
933 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
934
935         * gst/Makefile.am:
936         * gst/ROADMAP:
937           Hi, I'm outdated. Please shoot me.
938
939 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
940
941         * gst/gstpipeline.c: (gst_pipeline_send_event):
942           Do not access variables after they have been deleted.
943
944 2005-05-19  Wim Taymans  <wim@fluendo.com>
945
946         * tools/gst-inspect.c: (print_plugin_features):
947         A plugin feature does unfortunatly not use the
948         object name yet...
949
950 2005-05-18  Wim Taymans  <wim@fluendo.com>
951
952         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
953         Port _span() functions to new subbuffers.
954
955 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
956
957         * gst/gstbin.c: (gst_bin_add_func):
958           Fix clock settery in bins when adding kids after the clock has
959           been selected.
960
961 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
962
963         * gst/elements/gstidentity.c: (gst_identity_class_init):
964           Workaround until signals support GstMiniObject.
965
966 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
967
968         * gst/gstbuffer.c:
969         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
970
971 2005-05-18  Wim Taymans  <wim@fluendo.com>
972
973         * gst/base/Makefile.am:
974         * gst/base/gstadapter.c: (gst_adapter_base_init),
975         (gst_adapter_class_init), (gst_adapter_init),
976         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
977         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
978         (gst_adapter_flush), (gst_adapter_available),
979         (gst_adapter_available_fast):
980         * gst/base/gstadapter.h:
981         Ported and added adapter to the base classes.
982
983 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
984
985         * gst/gst.c:
986         * gst/gstmessage.c:
987           Make sure the class is reffed/unreffed once before threads can be
988           used.  Fixes #304551.
989
990 2005-05-17  Wim Taymans  <wim@fluendo.com>
991
992         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
993         (gst_basesink_chain_unlocked), (gst_basesink_activate):
994         * gst/gstminiobject.c: (gst_mini_object_get_type),
995         (gst_mini_object_free):
996         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
997         (gst_pad_push), (gst_pad_push_event):
998         * gst/gstqueue.c: (gst_queue_change_state):
999         Don't queue buffers in basesink when we are flushing.
1000         Unref buffer when flushing in basesink.
1001         Flush queue when going to READY
1002         Unref buffer when _push() returns an error.
1003         Don't free MiniObject instance when refcount is incremented
1004         in _finalize() so that we can recover objects.
1005
1006 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1007
1008         * docs/manual/advanced-schedulers.xml:
1009         * docs/manual/appendix-checklist.xml:
1010         * docs/pwg/advanced-clock.xml:
1011         * docs/pwg/advanced-interfaces.xml:
1012         * docs/pwg/advanced-request.xml:
1013         * docs/pwg/advanced-types.xml:
1014         * docs/pwg/intro-preface.xml:
1015         * examples/plugins/example.c: (gst_example_get_type),
1016         (gst_example_class_init), (gst_example_chain),
1017         (gst_example_set_property), (gst_example_get_property),
1018         (gst_example_change_state), (plugin_init):
1019         * examples/plugins/example.h:
1020           small doc fixes
1021
1022 2005-05-17  Wim Taymans  <wim@fluendo.com>
1023
1024         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
1025         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
1026         * gst/gstqueue.c: (gst_queue_change_state):
1027         Clear queue when going to READY.
1028         Remove IN_SETCAPS flag too.
1029
1030 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
1031
1032         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
1033           Remove implicit cast from gboolean to GstElementStateReturn;
1034           make sure we still return failure in paused => ready case if
1035           the parent class fails to change state and our own stop 
1036           vfunc succeeds.
1037
1038 2005-05-17  Wim Taymans  <wim@fluendo.com>
1039
1040         * tools/gst-launch.c: (event_loop):
1041         Message was unreffed too soon.
1042
1043 2005-05-16  Andy Wingo  <wingo@pobox.com>
1044
1045         * gst/gstbin.c (sink_iterator_filter): Err... um...
1046
1047         * check/gst/gstbin.c (test_ghost_pads): New test for the
1048         ghosting-if-elements-not-in-same-bin behavior.
1049
1050 2005-05-16  David Schleef  <ds@schleef.org>
1051
1052         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
1053         accessing refcount directly.
1054
1055 2005-05-15  David Schleef  <ds@schleef.org>
1056
1057         * check/Makefile.am: remove GstData checks
1058         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
1059         * gst/Makefile.am: add miniobject, remove data
1060         * gst/gst.h: add miniobject, remove data
1061         * gst/gstdata.c: remove
1062         * gst/gstdata.h: remove
1063         * gst/gstdata_private.h: remove
1064         * gst/gsttypes.h: remove GstEvent and GstMessage
1065         * gst/gstelement.c: (gst_element_post_message): fix for API changes
1066         * gst/gstmarshal.list: change BOXED -> OBJECT
1067
1068         Implement GstMiniObject.
1069         * gst/gstminiobject.c:
1070         * gst/gstminiobject.h:
1071
1072         Modify to be subclasses of GstMiniObject.
1073         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
1074         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
1075         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
1076         (gst_subbuffer_get_type), (gst_subbuffer_init),
1077         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
1078         (gst_buffer_span):
1079         * gst/gstbuffer.h:
1080         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
1081         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
1082         (_gst_event_copy), (gst_event_new):
1083         * gst/gstevent.h:
1084         * gst/gstmessage.c: (_gst_message_initialize),
1085         (gst_message_get_type), (gst_message_class_init),
1086         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
1087         (gst_message_new), (gst_message_new_error),
1088         (gst_message_new_warning), (gst_message_new_tag),
1089         (gst_message_new_state_changed), (gst_message_new_application):
1090         * gst/gstmessage.h:
1091         * gst/gstprobe.c: (gst_probe_perform),
1092         (gst_probe_dispatcher_dispatch):
1093         * gst/gstprobe.h:
1094         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
1095         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
1096         (_gst_query_copy), (gst_query_new):
1097
1098         Update elements for GstData -> GstMiniObject changes
1099         * gst/gstquery.h:
1100         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
1101         (gst_queue_chain), (gst_queue_loop):
1102         * gst/elements/gstbufferstore.c:
1103         (gst_buffer_store_add_buffer_func),
1104         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
1105         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1106         (gst_fakesink_render):
1107         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
1108         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
1109         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
1110         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
1111         (gst_filesrc_create_read):
1112         * gst/elements/gstidentity.c: (gst_identity_class_init):
1113         * gst/elements/gsttypefindelement.c:
1114         (gst_type_find_element_src_event), (free_entry_buffers),
1115         (gst_type_find_element_handle_event):
1116         * libs/gst/dataprotocol/dataprotocol.c:
1117         (gst_dp_header_from_buffer):
1118         * libs/gst/dataprotocol/dataprotocol.h:
1119         * libs/gst/dataprotocol/dp-private.h:
1120
1121 2005-05-15  David Schleef  <ds@schleef.org>
1122
1123         * gst/elements/gstelements.c: Don't include headers that were
1124         just removed.
1125
1126 2005-05-15  David Schleef  <ds@schleef.org>
1127
1128         * gst/elements/Makefile.am: Remove some elements that don't
1129         need to be in the core (or even exist at all).
1130         * gst/elements/gstaggregator.c:
1131         * gst/elements/gstaggregator.h:
1132         * gst/elements/gstmd5sink.c:
1133         * gst/elements/gstmd5sink.h:
1134         * gst/elements/gstmultifilesrc.c:
1135         * gst/elements/gstmultifilesrc.h:
1136         * gst/elements/gstpipefilter.c:
1137         * gst/elements/gstpipefilter.h:
1138         * gst/elements/gstshaper.c:
1139         * gst/elements/gstshaper.h:
1140         * gst/elements/gststatistics.c:
1141         * gst/elements/gststatistics.h:
1142         * po/POTFILES.in: Remove above files.
1143
1144 2005-05-14  Andy Wingo  <wingo@pobox.com>
1145
1146         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
1147         so as to get the refs right.
1148         (sink_iterator_filter): New function, wraps bin_element_is_sink,
1149         unreffing objects that don't pass the filter.
1150
1151         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
1152         gst_element_set_bus.
1153         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
1154         normal cases, this will destroy the bus.
1155
1156         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
1157         object.
1158
1159         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
1160         has no sinks.
1161
1162 2005-05-13  Andy Wingo  <wingo@pobox.com>
1163
1164         * gst/gstutils.c (gst_element_link_pads): Instead of calling
1165         gst_pad_link, call pad_link_maybe_ghosting,
1166         (pad_link_maybe_ghosting): Links pads, making sure that the
1167         elements being linked are in the same bin.
1168         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
1169         Helpers for pad_link_maybe_ghosting.
1170
1171 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1172
1173         * configure.ac:
1174           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
1175
1176 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1177
1178         * docs/design/part-element-source.txt:
1179           Mention GstPushSrc
1180
1181 2005-05-12  Wim Taymans  <wim@fluendo.com>
1182
1183         * gst/base/gstbasesink.c: (gst_basesink_init),
1184         (gst_basesink_activate):
1185         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
1186         (gst_basesrc_is_seekable):
1187         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1188         (bin_element_is_sink), (gst_bin_change_state):
1189         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1190         * gst/gstelement.h:
1191         Identify sinks by their flag to avoid overly complicated
1192         checks (fow now).
1193         Do state changes even for elements not reachable from the
1194         sinks.
1195         BaseSink is a sink now :)
1196         Some more debugging info in the basesrc.
1197
1198
1199 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1200
1201         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
1202           Implement _query on a bin, similar to _send_event.
1203
1204 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1205
1206         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
1207           Discont event offset format should be GST_FORMAT_BYTES,
1208           not GST_FORMAT_TIME.
1209
1210 2005-05-12  Wim Taymans  <wim@fluendo.com>
1211
1212         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
1213         Same fix as Ronald's but without the signal. 
1214
1215 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1216
1217         * gst/gstutils.c: (gst_element_query_position):
1218           No, an element is not a pad.
1219
1220 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1221
1222         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
1223         (gst_bin_get_state):
1224           If a child is removed from a bin while we remove the child from
1225           the bin and while we're retrieving its state, signal this to the
1226           get_state function so we abort the wait (instead of waiting for
1227           a timeout) and can immediately re-iterate over all other elements.
1228
1229 2005-05-12  Wim Taymans  <wim@fluendo.com>
1230
1231         * gst/base/Makefile.am:
1232         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
1233         (gst_basesrc_start):
1234         * gst/base/gstbasesrc.h:
1235         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
1236         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
1237         (gst_pushsrc_init), (gst_pushsrc_create):
1238         * gst/base/gstpushsrc.h:
1239         Added is_seekable to BaseSrc
1240         Added simple PushSrc.
1241
1242 2005-05-11  Wim Taymans  <wim@fluendo.com>
1243
1244         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1245         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1246         (gst_element_link_pads), (gst_element_query_position),
1247         (gst_element_query_convert), (intersect_caps_func),
1248         (gst_pad_query_position), (gst_pad_query_convert):
1249         Fix refcounting in utils function.
1250         No point in trying to activate a pad when it's added, it could
1251         be added from the state change function and then we deadlock, the
1252         element has to decide what to do.
1253
1254 2005-05-10  Andy Wingo  <wingo@pobox.com>
1255
1256         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
1257         *all* the arguments.
1258
1259         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
1260         stream lock if it's a FLUSH_DONE; normal flushes don't get the
1261         lock (according to the docs -- if this is wrong change the docs).
1262
1263         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
1264         flush messages in the NULL state.
1265
1266         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
1267         message immediately and return.
1268         (gst_bus_set_flushing): New function. If a bus is flushing, it
1269         flushes out any queued messages and immediately unrefs new
1270         messages. This is so when an element goes to NULL, all of the
1271         unhandled messages coming from it can be freed, and their
1272         references to the element dropped. In other words: message source
1273         ref considered harmful :P
1274
1275         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
1276         we're finished with it.
1277
1278         * gst/gstmessage.c (gst_message_new_state_changed): 
1279
1280 2005-05-10  Wim Taymans  <wim@fluendo.com>
1281
1282         * gst/gstvalue.c: (gst_value_compare_flags),
1283         (gst_value_serialize_flags), (gst_value_deserialize_flags),
1284         (_gst_value_initialize):
1285         Added flags serialize/deserialize/compare code.
1286
1287 2005-05-09  Andy Wingo  <wingo@pobox.com>
1288
1289         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
1290         Intersect the peer's caps with our caps.
1291
1292 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1293
1294         * gst/base/gsttypefindhelper.c: (helper_find_peek):
1295         * gst/elements/gsttypefindelement.c: (find_peek):
1296           Handle negative offsets better. Fixes decodebin.
1297
1298 2005-05-09  Wim Taymans  <wim@fluendo.com>
1299
1300         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
1301         (gst_base_transform_event):
1302         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
1303         Implement accept_caps.
1304         Fix silly lock/unlock mismatch in base class.
1305
1306 2005-05-09  Wim Taymans  <wim@fluendo.com>
1307
1308         * docs/design/draft-push-pull.txt:
1309         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
1310         * gst/elements/gstfilesink.c: (gst_filesink_init),
1311         (gst_filesink_query):
1312         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1313         (gst_type_find_handle_src_query), (find_element_get_length):
1314         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
1315         * gst/gstelement.h:
1316         * gst/gstmessage.c:
1317         * gst/gstmessage.h:
1318         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
1319         (gst_real_pad_get_caps_unlocked),
1320         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
1321         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1322         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
1323         (gst_real_pad_dispose), (gst_real_pad_finalize),
1324         (gst_pad_load_and_link), (gst_pad_save_thyself),
1325         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
1326         (gst_pad_check_pull_range), (gst_pad_pull_range),
1327         (gst_pad_template_get_type), (gst_pad_template_class_init),
1328         (gst_pad_template_init), (gst_pad_template_dispose),
1329         (name_is_valid), (gst_static_pad_template_get),
1330         (gst_pad_template_new), (gst_static_pad_template_get_caps),
1331         (gst_pad_template_get_caps), (gst_pad_set_element_private),
1332         (gst_pad_get_element_private), (gst_pad_start_task),
1333         (gst_pad_pause_task), (gst_pad_stop_task),
1334         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
1335         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
1336         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
1337         (gst_ghost_pad_new):
1338         * gst/gstpad.h:
1339         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
1340         (gst_query_new_position), (gst_query_set_position),
1341         (gst_query_parse_position), (gst_query_new_convert),
1342         (gst_query_set_convert), (gst_query_parse_convert):
1343         * gst/gstquery.h:
1344         * gst/gstqueryutils.c:
1345         * gst/gstqueryutils.h:
1346         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1347         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1348         (gst_queue_handle_src_query):
1349         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1350         (gst_element_query_position), (gst_element_query_convert),
1351         (intersect_caps_func), (gst_pad_query_position),
1352         (gst_pad_query_convert):
1353         * gst/gstutils.h:
1354         * tools/gst-inspect.c: (print_pad_info):
1355         * tools/gst-xmlinspect.c: (print_element_info):
1356         Remove old query functions. Ported old code.
1357         Added position/convert helper functions to gstutils.
1358         Reordered gstpad.c code, grouping relevant things.
1359         Remove gst_message_new(), always need to speficy a specific
1360         message.
1361
1362
1363 2005-05-09  Andy Wingo  <wingo@pobox.com>
1364
1365         * gst/gstiterator.h: Add some includes.
1366
1367         * gst/gstqueryutils.h: Include more headers.
1368
1369         * gst/gstpad.h:
1370         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
1371         some uses of gst_pad_query.
1372
1373         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
1374         NULL out parameters.
1375         (gst_query_new_position): New proc, allocates a new position
1376         query.
1377
1378         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
1379         gstqueryutils.c to the build.
1380
1381         * gst/gststructure.c (gst_structure_set_valist): Implement with
1382         the generic G_VALUE_COLLECT.
1383         
1384 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
1385
1386         * gst/Makefile.am: (gst_headers):
1387         Added gstqueryutils.h to the list of headers to install, that was
1388         a 'nachty' move wingo :)
1389
1390 2005-05-06  Andy Wingo  <wingo@pobox.com>
1391
1392         * gst/gstquery.h
1393         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
1394         GstData, init a memchunk.
1395         (standard_definitions): Add a few query types, deprecate a few.
1396         (gst_query_get_type): New proc.
1397         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
1398         implementation.
1399         (gst_query_new_application, gst_query_get_structure): New public
1400         procs.
1401
1402         * docs/design/draft-query.txt: Removed LINKS from the query types,
1403         because all the rest can be dispatched to other pads -- seemed
1404         ugly to have a query that couldn't be dispatched. internal_links
1405         is fine as a pad method.
1406
1407         * gst/gstpad.h: Add query2 as a pad method, add the new functions
1408         in gstpad.c, but maintain binary compatibility for the moment.
1409         Will fix before 0.9 is out.
1410
1411         * gst/gstqueryutils.c: 
1412         * gst/gstqueryutils.h: New files, implement 3 methods for each
1413         query type: parse_query, parse_response, and set. Probably need an
1414         allocator as well.
1415
1416         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
1417
1418         * gst/elements/gstfilesink.c (gst_filesink_query2):
1419         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
1420         query_types, and formats methods.
1421
1422         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
1423         (gst_pad_set_query2_function): New functions.
1424         (gst_real_pad_init): Set query2_default as the default query2
1425         function. Basically just dispatches to internally linked pads.
1426
1427         Needs review!
1428         
1429         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
1430         without using the atomic operations. Only one thread can possibly
1431         be accessing the data at this point. Changed so as to avoid
1432         gst_atomic operations.
1433
1434 2005-05-06  Wim Taymans  <wim@fluendo.com>
1435
1436         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
1437         Also set caps if we use the fallback buffer alloc.
1438
1439 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
1440
1441         * docs/gst/Makefile.am:
1442         * docs/gst/gstreamer-docs.sgml:
1443         * docs/gst/gstreamer-sections.txt:
1444         * docs/gst/tmpl/gstatomic.sgml:
1445         * docs/gst/tmpl/gstmemchunk.sgml:
1446         * testsuite/elements/struct_i386.h:
1447         * win32/GStreamer.vcproj:
1448         * win32/Makefile:
1449           Purge GstAtomic stuff from docs and win32 makefiles as well
1450
1451 2005-05-06  Wim Taymans  <wim@fluendo.com>
1452
1453         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
1454         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
1455         * gst/gstpad.c: (gst_pad_peer_get_caps):
1456         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1457         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1458         (gst_queue_src_activate), (gst_queue_change_state):
1459         * gst/gstqueue.h:
1460         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1461         (intersect_caps_func):
1462         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
1463         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
1464         Some fixes for the peer_get_caps() change.
1465
1466 2005-05-06  Wim Taymans  <wim@fluendo.com>
1467
1468         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1469         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
1470         (gst_basesink_activate):
1471         Actually do something with error codes returned from the push
1472         functions.
1473
1474 2005-05-06  Wim Taymans  <wim@fluendo.com>
1475
1476         * docs/design/part-element-sink.txt:
1477         * docs/design/part-element-source.txt:
1478         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1479         (gst_basesink_event), (gst_basesink_activate):
1480         * gst/base/gstbasesink.h:
1481         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
1482         (gst_basesrc_activate):
1483         * gst/base/gstbasesrc.h:
1484         * gst/gstelement.c: (gst_element_pads_activate):
1485         Some more documentation.
1486         Fixed scheduling decision in _pads_activate().
1487
1488 2005-05-05  Andy Wingo  <wingo@pobox.com>
1489
1490         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
1491         the test suite.
1492
1493 2005-05-05  Wim Taymans  <wim@fluendo.com>
1494
1495         * gst/base/Makefile.am:
1496         * gst/base/gstbasesink.h:
1497         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1498         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
1499         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
1500         (gst_collectpads_class_init), (gst_collectpads_init),
1501         (gst_collectpads_finalize), (gst_collectpads_new),
1502         (gst_collectpads_set_function), (gst_collectpads_add_pad),
1503         (find_pad), (gst_collectpads_remove_pad),
1504         (gst_collectpads_is_active), (gst_collectpads_collect),
1505         (gst_collectpads_collect_range), (gst_collectpads_start),
1506         (gst_collectpads_stop), (gst_collectpads_peek),
1507         (gst_collectpads_pop), (gst_collectpads_available),
1508         (gst_collectpads_read), (gst_collectpads_flush),
1509         (gst_collectpads_chain):
1510         * gst/base/gstcollectpads.h:
1511         * gst/elements/Makefile.am:
1512         * gst/elements/gstelements.c:
1513         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1514         (gst_fakesink_get_times), (gst_fakesink_event),
1515         (gst_fakesink_preroll), (gst_fakesink_render):
1516         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1517         (gst_filesink_init), (gst_filesink_set_location),
1518         (gst_filesink_open_file), (gst_filesink_close_file),
1519         (gst_filesink_pad_query), (gst_filesink_event),
1520         (gst_filesink_render), (gst_filesink_change_state):
1521         * gst/elements/gstfilesink.h:
1522         Added object to help in making collect pad based elements.
1523         Ported filesink.
1524         Make event function in sink baseclass return gboolean.
1525
1526 2005-05-05  Wim Taymans  <wim@fluendo.com>
1527
1528         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
1529         (gst_bin_get_by_name):
1530         * gst/gstbuffer.h:
1531         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
1532         (gst_clock_finalize):
1533         * gst/gstdata.c: (gst_data_replace):
1534         * gst/gstdata.h:
1535         * gst/gstelement.c: (gst_element_request_pad),
1536         (gst_element_pads_activate):
1537         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1538         (gst_object_unref):
1539         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1540         (gst_pad_set_checkgetrange_function),
1541         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
1542         (gst_pad_check_pull_range), (gst_pad_pull_range),
1543         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1544         (gst_pad_pause_task), (gst_pad_stop_task):
1545         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1546         (gst_element_request_pad), (gst_pad_proxy_getcaps):
1547         Fix name lookup in GstBin.
1548         Added _data_replace() function and _buffer_replace()
1549         Use finalize method to clean up clock.
1550         Fix refcounting on request pads.
1551         Fix pad schedule mode error.
1552         Some more object refcounting debug info,
1553
1554
1555 2005-05-04  Andy Wingo <wingo@pobox.com>
1556
1557         * check/Makefile.am:
1558         * docs/gst/tmpl/gstatomic.sgml:
1559         * docs/gst/tmpl/gstplugin.sgml:
1560         * gst/base/gstbasesink.c: (gst_basesink_activate):
1561         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
1562         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
1563         (gst_basesrc_query), (gst_basesrc_set_property),
1564         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
1565         (gst_basesrc_activate):
1566         * gst/base/gstbasesrc.h:
1567         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
1568         (gst_base_transform_src_activate):
1569         * gst/elements/gstelements.c:
1570         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1571         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1572         * gst/elements/gsttee.c: (gst_tee_sink_activate):
1573         * gst/elements/gsttypefindelement.c: (find_element_get_length),
1574         (gst_type_find_element_checkgetrange),
1575         (gst_type_find_element_activate):
1576         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
1577         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
1578         (gst_caps_load_thyself):
1579         * gst/gstelement.c: (gst_element_pads_activate),
1580         (gst_element_save_thyself), (gst_element_restore_thyself):
1581         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
1582         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
1583         * gst/gstpad.h:
1584         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
1585         (gst_xml_parse_file), (gst_xml_parse_memory),
1586         (gst_xml_get_element), (gst_xml_make_element):
1587         * gst/indexers/gstfileindex.c: (gst_file_index_load),
1588         (_file_index_id_save_xml), (gst_file_index_commit):
1589         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
1590         (read_enum), (load_pad_template), (load_feature), (load_plugin),
1591         (load_paths):
1592         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
1593         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
1594         * tools/gst-complete.c: (main):
1595         * tools/gst-compprep.c: (main):
1596         * tools/gst-inspect.c: (print_element_properties_info):
1597         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1598         * tools/gst-xmlinspect.c: (print_element_properties):
1599         GCC 4 fixen.
1600         
1601 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1602
1603         * gst/gstplugin.c: (gst_plugin_check_module),
1604         (gst_plugin_check_file), (gst_plugin_load_file):
1605             apply patch from #172526 to make register work on MacOSX
1606
1607 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1608
1609         * docs/gst/tmpl/gstconfig.sgml:
1610         * gst/gstconfig.h.in:
1611           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
1612         * testsuite/debug/printf_extension.c: (main):
1613           Do not use GST_PTR_FORMAT on pointers to types with
1614           sizeof < sizeof(gpointer).  Fixes test on 64-bit
1615         * testsuite/elements/property.h:
1616           use correct printf format
1617
1618 2005-05-02  Wim Taymans  <wim@fluendo.com>
1619
1620         * docs/design/draft-push-pull.txt:
1621         * docs/design/draft-query.txt:
1622         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
1623         (gst_basesrc_start):
1624         Added draft for new query API.
1625         Added draft for better selecting scheduling methods.
1626         Make basesrc ignore length if the subclass does not support
1627         it.
1628
1629 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1630
1631         * gst/Makefile.am:
1632           possible fixes for automake-1.5 - _LIBADD is reserved
1633
1634 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1635
1636         * docs/faq/Makefile.am:
1637         * docs/manual/Makefile.am:
1638         * docs/manuals.mak:
1639         * docs/pwg/Makefile.am:
1640         * gst/Makefile.am:
1641           possible fixes for automake-1.5
1642
1643 2005-04-28  Wim Taymans  <wim@fluendo.com>
1644
1645         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1646         (gst_basesink_pad_getcaps), (gst_basesink_init),
1647         (gst_basesink_do_sync):
1648         * gst/gstclock.c: (gst_clock_entry_new):
1649         * gst/gstevent.c: (gst_event_discont_get_value):
1650         * gst/gstpipeline.c: (pipeline_bus_handler),
1651         (gst_pipeline_change_state):
1652         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1653         Better debugging of clocking info.
1654         Allow NULL values when getting discont values.
1655
1656 2005-04-27  Wim Taymans  <wim@fluendo.com>
1657
1658         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
1659         * check/gst/gstpad.c: (gst_pad_suite):
1660         Increase timeout for checks.
1661
1662 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1663
1664         * check/Makefile.am:
1665           fix the broken rule for cleanup.  Apparently this rule is
1666           only needed on FC2, so maybe this warrants further autotool
1667           inspection.
1668
1669 2005-04-26  Wim Taymans  <wim@fluendo.com>
1670
1671         * gst/gsttrashstack.h:
1672         Ooohh. a nasty one! After having a failed pop() from the stack,
1673         it's possible that the stack is empty. In that case, don't
1674         follow the NULL pointer.
1675
1676 2005-04-25  Wim Taymans  <wim@fluendo.com>
1677
1678         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1679         (gst_pad_set_checkgetrange_function),
1680         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
1681         (gst_pad_check_pull_range), (gst_pad_pull_range),
1682         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1683         (gst_pad_pause_task), (gst_pad_stop_task):
1684         * gst/gstplugin.c: (gst_plugin_load):
1685         * gst/gstplugin.h:
1686         Remove gst_library_load as it does more harm than good with
1687         the new g_module flags.
1688         Revert bogus caps template check in pad linking, pad caps
1689         are important when linking not the template, which is more
1690         general than the current caps.
1691
1692 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1693
1694         * gst/autoplug/.cvsignore:
1695         * gst/autoplug/Makefile.am:
1696         * gst/autoplug/gstsearchfuncs.c:
1697         * gst/autoplug/gstsearchfuncs.h:
1698         * gst/autoplug/gstspider.c:
1699         * gst/autoplug/gstspider.h:
1700         * gst/autoplug/gstspideridentity.c:
1701         * gst/autoplug/gstspideridentity.h:
1702         * gst/autoplug/spidertest.c:
1703           Die, spider, die.
1704
1705 2005-04-25  Wim Taymans  <wim@fluendo.com>
1706
1707         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1708         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
1709         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
1710         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
1711         * gst/gstpad.h:
1712         Added stubs for unimplemented functions. 
1713
1714 2005-04-24  David Schleef  <ds@schleef.org>
1715
1716         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
1717         please fix.
1718
1719 2005-04-24  David Schleef  <ds@schleef.org>
1720
1721         Convert everything from GstAtomicInt to g_atomic_int_*, and
1722         remove gstatomic.
1723         * gst/Makefile.am:
1724         * gst/gstatomic.c:
1725         * gst/gstatomic.h:
1726         * gst/gstatomic_impl.h:
1727         * gst/gstbuffer.c:
1728         * gst/gstcaps.c:
1729         * gst/gstcaps.h:
1730         * gst/gstclock.c:
1731         * gst/gstclock.h:
1732         * gst/gstdata.c:
1733         * gst/gstdata.h:
1734         * gst/gstdata_private.h:
1735         * gst/gstevent.c:
1736         * gst/gstinfo.c:
1737         * gst/gstinfo.h:
1738         * gst/gstmessage.c:
1739         * gst/gstobject.c:
1740         * gst/gstobject.h:
1741         * gst/gststructure.c:
1742         * gst/gststructure.h:
1743         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
1744         * gst/gstutils.h:
1745
1746 2005-04-24  David Schleef  <ds@schleef.org>
1747
1748         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
1749         make the regressions tests work.  Remove some code that is no
1750         longer true.
1751         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
1752         Disable warning for pads without templates.
1753
1754 2005-04-24  David Schleef  <ds@schleef.org>
1755
1756         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
1757         functions that handle filtered links.
1758         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
1759         removed functions.
1760         * gst/gstutils.c: Fix/remove utility functions that handle
1761         filtered caps.
1762         * gst/gstutils.h:
1763         * gst/gstvalue.c: Add serialization/deserialization of caps
1764         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
1765         requires fixing so that the filter caps notation creates
1766         a capsfilter element and sets the filter_caps property.  I
1767         think everyone probably wants to keep the shorthand notation.
1768         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
1769         * docs/gst/tmpl/gstpad.sgml:
1770
1771         * gst/elements/gstelements.c: Register capsfilter element.
1772         * gst/Makefile.am: fix spacing
1773         * docs/random/ds/0.9-suggested-changes: random
1774
1775 2005-04-23  David Schleef  <ds@schleef.org>
1776
1777         * gst/elements/Makefile.am:
1778         * gst/elements/gstcapsfilter.c: New element that acts like an
1779         identity, but filters caps.  Will eventually replace filtered
1780         caps in pad linking.
1781         * gst/gstutils.c: (gst_element_create_all_pads): New function
1782         to create all the ALWAYS pads that are registered with an
1783         element class.  This functionality should eventually be
1784         merged in with GstElement initialization.
1785         * gst/gstutils.h:
1786         * testsuite/trigger/README: part of trigger test code that should
1787         have been checked in a long time ago.
1788
1789 2005-04-23  David Schleef  <ds@schleef.org>
1790
1791         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
1792         needed with new versions of libtool (nobody will confirm this),
1793         and hard to carry around.
1794         * gst/autoplug/Makefile.am:
1795         * gst/base/Makefile.am:
1796         * gst/elements/Makefile.am:
1797         * gst/indexers/Makefile.am:
1798         * gst/schedulers/Makefile.am:
1799         * libs/gst/bytestream/Makefile.am:
1800         * libs/gst/control/Makefile.am:
1801         * libs/gst/dataprotocol/Makefile.am:
1802         * libs/gst/getbits/Makefile.am:
1803
1804 2005-04-21  Wim Taymans  <wim@fluendo.com>
1805
1806         * docs/design/draft-push-pull.txt:
1807         * docs/design/part-MT-refcounting.txt:
1808         * docs/design/part-TODO.txt:
1809         * docs/design/part-caps.txt:
1810         * docs/design/part-events.txt:
1811         * docs/design/part-gstbus.txt:
1812         * docs/design/part-gstpipeline.txt:
1813         * docs/design/part-messages.txt:
1814         * docs/design/part-push-pull.txt:
1815         * docs/design/part-query.txt:
1816         Some more docs.
1817
1818 2005-04-21  Wim Taymans  <wim@fluendo.com>
1819
1820         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
1821         (gst_message_new), (gst_message_new_error),
1822         (gst_message_new_warning), (gst_message_new_tag),
1823         (gst_message_new_state_changed), (gst_message_new_application),
1824         (gst_message_get_structure):
1825         * gst/gstmessage.h:
1826         * gst/gststructure.c: (gst_structure_set_parent_refcount),
1827         (gst_structure_copy_conditional):
1828         Use parent refcount in GstMessage to ensure GstStructure
1829         consistency.
1830         Cleaned up headers a bit.
1831         
1832
1833 2005-04-20  Wim Taymans  <wim@fluendo.com>
1834
1835         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1836         (gst_basesink_pad_getcaps), (gst_basesink_init),
1837         (gst_basesink_chain_unlocked):
1838         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
1839         (gst_type_find_helper):
1840         * gst/elements/gsttypefindelement.c:
1841         (gst_type_find_element_have_type), (gst_type_find_element_init),
1842         (stop_typefinding), (gst_type_find_element_handle_event),
1843         (find_suggest), (gst_type_find_element_chain),
1844         (gst_type_find_element_checkgetrange),
1845         (gst_type_find_element_getrange), (do_typefind),
1846         (gst_type_find_element_activate):
1847         * gst/gstbuffer.c: (_gst_buffer_sub_free),
1848         (gst_buffer_default_free), (gst_buffer_default_copy),
1849         (gst_buffer_set_caps):
1850         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
1851         (gst_caps_replace):
1852         * gst/gstmessage.c: (gst_message_new),
1853         (gst_message_new_state_changed):
1854         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1855         (gst_pad_set_checkgetrange_function),
1856         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
1857         (gst_pad_set_caps), (gst_pad_check_pull_range),
1858         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
1859         * gst/gstpad.h:
1860         * gst/gsttypefind.c: (gst_type_find_register):
1861         Make gst_caps_replace() work like other _replace() functions.
1862         Use _caps_replace() where possible.
1863         Make sure _message_new() initialises its field.
1864         Add gst_static_pad_template_get_caps()
1865
1866
1867 2005-04-18  Andy Wingo  <wingo@pobox.com>
1868
1869         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
1870         on the peer, not the pad. I think that was a typo. Pass an extra
1871         arg to see if random access is possible. Activate the pads as
1872         PULL_RANGE if possible.
1873
1874         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
1875
1876         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
1877         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
1878         to PROP_....
1879
1880 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1881
1882         * docs/faq/using.xml:
1883           Add note on gstreamer-properties (#154996).
1884
1885 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1886
1887         * docs/random/bbb/optional-properties:
1888           Some analysis on optional properties.
1889
1890 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1891
1892         * docs/gst/tmpl/gstelementfactory.sgml:
1893         * gst/gstelement.h:
1894         * gst/gstelementfactory.c: (gst_element_factory_init),
1895         (gst_element_factory_cleanup), (gst_element_register),
1896         (__gst_element_factory_add_static_pad_template),
1897         (gst_element_factory_get_static_pad_templates),
1898         (gst_element_factory_can_src_caps),
1899         (gst_element_factory_can_sink_caps):
1900         * gst/registries/Makefile.am:
1901         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
1902         (gst_xml_registry_class_init), (gst_xml_registry_init),
1903         (gst_xml_registry_new), (gst_xml_registry_set_property),
1904         (gst_xml_registry_get_property), (get_time), (make_dir),
1905         (gst_xml_registry_get_perms_func),
1906         (plugin_times_older_than_recurse), (plugin_times_older_than),
1907         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
1908         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
1909         (add_to_char_array), (read_string), (read_uint), (read_enum),
1910         (load_pad_template), (load_feature), (load_plugin), (load_paths),
1911         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
1912         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
1913         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
1914         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
1915         (gst_xml_registry_rebuild):
1916         * gst/registries/gstlibxmlregistry.h:
1917         * tools/gst-compprep.c: (main):
1918         * tools/gst-inspect.c: (print_pad_templates_info):
1919         * tools/gst-xmlinspect.c: (print_element_info):
1920           Use libxml2 for registry parsing, use staticpadtemplates in
1921           elementfactories. Makes gst_init() +/- 10x faster.
1922
1923 2005-04-12  Wim Taymans  <wim@fluendo.com>
1924
1925         * gst/base/Makefile.am:
1926         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1927         (gst_basesink_pad_getcaps), (gst_basesink_init),
1928         (gst_basesink_event), (gst_basesink_change_state):
1929         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1930         (gst_basesrc_init), (gst_basesrc_query),
1931         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1932         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1933         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1934         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1935         (gst_basesrc_stop), (gst_basesrc_activate),
1936         (gst_basesrc_change_state):
1937         * gst/base/gsttypefindhelper.c: (helper_find_peek),
1938         (helper_find_suggest), (gst_type_find_helper):
1939         * gst/base/gsttypefindhelper.h:
1940         * gst/elements/Makefile.am:
1941         * gst/elements/gstelements.c:
1942         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1943         (gst_fakesink_get_times), (gst_fakesink_event),
1944         (gst_fakesink_preroll), (gst_fakesink_render):
1945         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1946         (gst_fakesrc_init), (gst_fakesrc_event_handler),
1947         (gst_fakesrc_get_property), (gst_fakesrc_create),
1948         (gst_fakesrc_start), (gst_fakesrc_stop):
1949         * gst/elements/gstfakesrc.h:
1950         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
1951         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
1952         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
1953         (gst_filesrc_create_read), (gst_filesrc_create),
1954         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
1955         (gst_filesrc_start):
1956         * gst/elements/gsttypefindelement.c:
1957         (gst_type_find_element_have_type), (gst_type_find_element_init),
1958         (start_typefinding), (stop_typefinding), (push_buffer_store),
1959         (gst_type_find_element_handle_event),
1960         (gst_type_find_element_chain),
1961         (gst_type_find_element_checkgetrange),
1962         (gst_type_find_element_getrange), (do_typefind),
1963         (gst_type_find_element_activate),
1964         (gst_type_find_element_change_state):
1965         * gst/elements/gsttypefindelement.h:
1966         * gst/gstpipeline.c: (pipeline_bus_handler):
1967         Added typefind helper.
1968         Small preroll fix in the base sink.
1969         Disable typefind code in basesrc.
1970         Crude port of typefindelement.
1971         Fakesrc cleanups.
1972
1973
1974 2005-04-11  Wim Taymans  <wim@fluendo.com>
1975
1976         * check/gst/gstbus.c: (gstbus_suite):
1977         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
1978         * check/gstcheck.h:
1979           Fix up the timeout so that the test does not fail.
1980
1981 2005-04-06  Wim Taymans  <wim@fluendo.com>
1982
1983         * gst/base/README:
1984         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1985         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
1986         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1987         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1988         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1989         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1990         (gst_basesrc_stop), (gst_basesrc_activate),
1991         (gst_basesrc_change_state), (basesrc_find_peek),
1992         (basesrc_find_suggest), (gst_basesrc_type_find):
1993         * gst/base/gstbasesrc.h:
1994         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
1995         (gst_filesrc_class_init), (gst_filesrc_init),
1996         (gst_filesrc_finalize), (gst_filesrc_set_location),
1997         (gst_filesrc_set_property), (gst_filesrc_get_property),
1998         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
1999         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
2000         (gst_filesrc_create_read), (gst_filesrc_create),
2001         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
2002         * gst/elements/gstfilesrc.h:
2003         * gst/gstelement.c: (gst_element_get_state_func),
2004         (gst_element_lost_state), (gst_element_pads_activate):
2005         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2006         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
2007         (gst_pad_pull_range):
2008         * gst/gstpad.h:
2009         More work on the generic source base class, implement seeking,
2010         query.
2011         Make filesrc extend the base source class.
2012         Added gst_pad_set_checkgetrange_function to GstPad.
2013
2014 2005-04-06  Andy Wingo  <wingo@pobox.com>
2015
2016         * pkgconfig/gstreamer-base.pc.in:
2017         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
2018
2019         * pkgconfig/Makefile.am:
2020         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
2021
2022 2005-04-04  Wim Taymans  <wim@fluendo.com>
2023
2024         * gst/base/Makefile.am:
2025         * gst/base/README:
2026         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2027         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2028         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2029         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
2030         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2031         (gst_basesrc_base_init), (gst_basesrc_class_init),
2032         (gst_basesrc_init), (gst_basesrc_get_formats),
2033         (gst_basesrc_get_query_types), (gst_basesrc_query),
2034         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
2035         (gst_basesrc_set_property), (gst_basesrc_get_property),
2036         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
2037         (gst_basesrc_loop), (gst_basesrc_activate),
2038         (gst_basesrc_change_state):
2039         * gst/base/gstbasesrc.h:
2040         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
2041         (gst_fakesrc_class_init), (gst_fakesrc_init),
2042         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
2043         (gst_fakesrc_get_property), (gst_fakesrc_create):
2044         * gst/elements/gstfakesrc.h:
2045         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
2046         (gst_filesrc_open_file), (gst_filesrc_loop),
2047         (gst_filesrc_activate), (filesrc_find_peek),
2048         (gst_filesrc_type_find):
2049         Made base source class, make fakesrc extend it.
2050         Add comments to basesink class.
2051         Some filesrc cleanup.
2052
2053 2005-03-31  David Schleef  <ds@schleef.org>
2054
2055         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
2056         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
2057         expected to link against libgstreamer.
2058         * gst/base/Makefile.am: link against libgstreamer
2059         * gst/elements/Makefile.am: same
2060
2061 2005-03-31  Andy Wingo  <wingo@pobox.com>
2062
2063         * tests/instantiate/Makefile.am:
2064         * tests/instantiate/caps.c: Add test to test speed of caps copy
2065         and free.
2066
2067         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
2068         GMemChunk to be fair.
2069
2070         * gst/gsttrashstack.h: Remove warning about using the fallback
2071         trash stack implementation, it's still faster than malloc.
2072
2073 2005-03-30  Andy Wingo  <wingo@pobox.com>
2074
2075         * tests/complexity.c: Add a copyright.
2076
2077 2005-03-31  Wim Taymans  <wim@fluendo.com>
2078
2079         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
2080         (gst_base_transform_class_init), (gst_base_transform_init),
2081         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
2082         (gst_base_transform_get_property),
2083         (gst_base_transform_sink_activate),
2084         (gst_base_transform_src_activate),
2085         (gst_base_transform_change_state):
2086         * gst/base/gstbasetransform.h:
2087         * gst/elements/gstidentity.c: (gst_identity_class_init),
2088         (gst_identity_event), (gst_identity_check_perfect),
2089         (gst_identity_transform), (gst_identity_start),
2090         (gst_identity_stop):
2091         Added start/stop methods to transform base class so subclasses 
2092         don't need to deal with state changes even.
2093
2094 2005-03-31  Wim Taymans  <wim@fluendo.com>
2095
2096         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
2097         (gst_event_new_discontinuous), (gst_event_discont_get_value):
2098         * gst/gstevent.h:
2099         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2100         (gst_pad_pull_range):
2101         Added rate to the discont event to prepare for variable speed
2102         and reverse playback.
2103
2104 2005-03-29  David Schleef  <ds@schleef.org>
2105
2106         * configure.ac:
2107         * testsuite/trigger/Makefile.am:
2108         * testsuite/trigger/trigger.c: A little example program to show
2109         how trigger-based elements can work.
2110
2111 2005-03-29  Wim Taymans  <wim@fluendo.com>
2112
2113         * gst/base/Makefile.am:
2114         * gst/base/README:
2115         * gst/base/gstbasesink.c: (gst_basesink_get_type),
2116         (gst_basesink_base_init), (gst_basesink_class_init),
2117         (gst_basesink_pad_getcaps), (gst_basesink_init),
2118         (gst_basesink_activate), (gst_basesink_change_state):
2119         * gst/base/gstbasesink.h:
2120         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2121         (gst_base_transform_base_init), (gst_base_transform_finalize),
2122         (gst_base_transform_class_init), (gst_base_transform_init),
2123         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
2124         (gst_base_transform_event), (gst_base_transform_getrange),
2125         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
2126         (gst_base_transform_set_property),
2127         (gst_base_transform_get_property),
2128         (gst_base_transform_sink_activate),
2129         (gst_base_transform_src_activate),
2130         (gst_base_transform_change_state):
2131         * gst/base/gstbasetransform.h:
2132         * gst/elements/gstidentity.c: (gst_identity_finalize),
2133         (gst_identity_class_init), (gst_identity_init),
2134         (gst_identity_event), (gst_identity_check_perfect),
2135         (gst_identity_transform), (gst_identity_set_property),
2136         (gst_identity_get_property), (gst_identity_change_state):
2137         * gst/elements/gstidentity.h:
2138         * gst/gstelement.c: (gst_element_get_state_func),
2139         (gst_element_lost_state), (gst_element_pads_activate):
2140         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2141         (gst_pad_check_pull_range), (gst_pad_pull_range):
2142         * gst/gstpad.h:
2143         Simplify pad activation.
2144         Added function to check if pull_range can be performed.
2145         Error out when pulling inactive or flushing pads.
2146         Removed const from refcounted types as it does not make sense.
2147         Simplify pad templates in basesink
2148         Added base class for simple 1-to-1 transforms.
2149         Make identity subclass the base transform.
2150
2151 2005-03-29  Andy Wingo  <wingo@pobox.com>
2152
2153         * docs/libs/gstreamer-libs-overrides.txt: 
2154         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
2155         really don't understand what's going on, but like whatever. I want
2156         green buildbot!
2157
2158         * docs/gst/Makefile.am:
2159         * docs/libs/Makefile.am: Dist the overrides files.
2160
2161         * check/Makefile.am (clean-local): Remove .libs directories.
2162
2163         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
2164         elements to EXTRA_DIST, so po/ files are happy.
2165
2166         * po/POTFILES.in: Er, remove it here.
2167
2168         * po/POTFILES: Remove gstspider.c.
2169
2170         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
2171
2172         * docs/libs/gstreamer-libs-docs.sgml: 
2173         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
2174         bytestream.
2175
2176         * tests/complexity.c (main): Set the length of the preroll queue
2177         on the sinks to prevent a lockup.
2178
2179         * libs/gst/dataprotocol/Makefile.am: 
2180         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
2181         the same as the one in check/gst-libs/gdp.c.
2182
2183         * po/, docs/gst/: Commit automatic changes to docs and po files.
2184
2185         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
2186         the versioned libgstbase.
2187
2188         * check/Makefile.am: Depend on an unversioned gst-register, seems
2189         to make autoconf happier.
2190
2191         * gst/base/Makefile.am: Make libgstbase a versioned lib.
2192
2193 2005-03-28  Wim Taymans  <wim@fluendo.com>
2194
2195         * configure.ac:
2196         * docs/design/part-gstelement.txt:
2197         * docs/design/part-negotiation.txt:
2198         * docs/design/part-preroll.txt:
2199         * docs/design/part-scheduling.txt:
2200         * docs/design/part-states.txt:
2201         * gst/Makefile.am:
2202         * gst/base/Makefile.am:
2203         * gst/base/README:
2204         * gst/base/gstbasesink.c: (gst_basesink_get_template),
2205         (gst_basesink_base_init), (gst_basesink_class_init),
2206         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2207         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2208         (gst_basesink_set_pad_functions),
2209         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
2210         (gst_basesink_set_property), (gst_basesink_get_property),
2211         (gst_base_sink_get_template), (gst_base_sink_get_caps),
2212         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
2213         (gst_basesink_preroll_queue_push),
2214         (gst_basesink_preroll_queue_empty),
2215         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
2216         (gst_basesink_event), (gst_basesink_get_times),
2217         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
2218         (gst_basesink_chain_unlocked), (gst_basesink_chain),
2219         (gst_basesink_loop), (gst_basesink_activate),
2220         (gst_basesink_change_state):
2221         * gst/base/gstbasesink.h:
2222         * gst/elements/Makefile.am:
2223         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
2224         (gst_fakesink_class_init), (gst_fakesink_init),
2225         (gst_fakesink_set_property), (gst_fakesink_get_property),
2226         (gst_fakesink_get_times), (gst_fakesink_event),
2227         (gst_fakesink_preroll), (gst_fakesink_render),
2228         (gst_fakesink_change_state):
2229         * gst/elements/gstfakesink.h:
2230         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2231         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
2232         * gst/gstelement.c: (gst_element_add_pad),
2233         (gst_element_get_state_func), (gst_element_abort_state),
2234         (gst_element_commit_state), (gst_element_lost_state),
2235         (gst_element_set_state), (gst_element_pads_activate):
2236         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
2237         * gst/gstpipeline.c: (gst_pipeline_send_event),
2238         (gst_pipeline_change_state):
2239         Added state change code.
2240         Added/updated docs.
2241         Added sink base class, make fakesink extend the base class.
2242         Small cleanups in GstPipeline.
2243
2244 2005-03-26  David Schleef  <ds@schleef.org>
2245
2246         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
2247         is broken and should be implemented in a different library.
2248         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
2249         * gst/gst.h: remove gstcpu.h
2250         * gst/gstcpu.c: remove
2251         * gst/gstcpu.h: remove
2252         * gst/Makefile.am.future: Remove this file.  It's ancient.
2253
2254 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2255
2256         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2257         (gst_bin_send_event):
2258           Add default event/set_manager handlers. The set_manager handler
2259           takes care that the manager is distributed over kids that were
2260           already in the bin before the manager was set. The event handler
2261           is a utility virtual function that sends the event over all sinks,
2262           so that gst_element_send_event (bin, event); has the expected
2263           behaviour.
2264         * gst/gstpad.c: (gst_pad_event_default):
2265           Re-install default event handling for discontinuities, so that
2266           seeking works without requiring hacks in applications or extra
2267           code in sinks.
2268         * gst/gstpipeline.c: (gst_pipeline_class_init),
2269         (gst_pipeline_send_event):
2270           Half hack, half utility: set a pipeline to PAUSED for seek events,
2271           since that is the only way we can guarantee a/v sync. Means that
2272           you can do gst_element_seek (pipeline, method, pos); on a pipeline
2273           and it "just works".
2274
2275 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2276
2277         * gst/gstpipeline.c: (gst_pipeline_use_clock):
2278           Lock/unlock mismatch.
2279
2280 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2281
2282         * docs/faq/gst-uninstalled:
2283           add gst-plugins-base
2284         * docs/gst/Makefile.am:
2285           don't error out until docs are fixed
2286         * docs/gst/gstreamer.types:
2287           remove thread
2288
2289 2005-03-22  Wim Taymans  <wim@fluendo.com>
2290
2291         * check/Makefile.am:
2292         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
2293         * gst/gststructure.c: (gst_structure_set_valist),
2294         (gst_structure_copy_conditional):
2295         Activated more tests.
2296         Added message test.
2297         Added G_TYPE_POINTER to GstStructure.
2298         
2299
2300 2005-03-22  Wim Taymans  <wim@fluendo.com>
2301
2302         * docs/design/part-TODO.txt:
2303         * docs/design/part-events.txt:
2304         * docs/design/part-gstbin.txt:
2305         * docs/design/part-gstbus.txt:
2306         * docs/design/part-gstpipeline.txt:
2307         * docs/design/part-messages.txt:
2308         * gst/gstbus.c:
2309         * gst/gstmessage.c:
2310         Docs updates
2311
2312 2005-03-21  Wim Taymans  <wim@fluendo.com>
2313
2314         * gst/gstbus.c: (gst_bus_post):
2315         Fix copy-and-paste error.
2316
2317 2005-03-21  Wim Taymans  <wim@fluendo.com>
2318
2319         * check/Makefile.am:
2320         * gst/Makefile.am:
2321         * gst/elements/Makefile.am:
2322         * gst/elements/gstelements.c:
2323         * gst/elements/gstfakesink.c: (gst_fakesink_init),
2324         (gst_fakesink_event), (gst_fakesink_chain):
2325         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2326         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
2327         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
2328         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
2329         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2330         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
2331         (gst_fakesrc_loop), (gst_fakesrc_activate),
2332         (gst_fakesrc_change_state):
2333         * gst/elements/gstfakesrc.h:
2334         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
2335         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
2336         (gst_filesrc_open_file), (gst_filesrc_loop),
2337         (gst_filesrc_activate), (gst_filesrc_change_state),
2338         (filesrc_find_peek), (filesrc_find_suggest),
2339         (gst_filesrc_type_find):
2340         * gst/elements/gstidentity.c: (gst_identity_finalize),
2341         (gst_identity_class_init), (gst_identity_init),
2342         (gst_identity_proxy_getcaps), (identity_queue_push),
2343         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
2344         (gst_identity_getrange), (gst_identity_chain),
2345         (gst_identity_sink_loop), (gst_identity_src_loop),
2346         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
2347         (gst_identity_set_property), (gst_identity_get_property),
2348         (gst_identity_change_state):
2349         * gst/elements/gstidentity.h:
2350         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2351         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
2352         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
2353         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
2354         (gst_tee_sink_activate):
2355         * gst/elements/gsttee.h:
2356         * gst/gst.c: (gst_register_core_elements), (init_post):
2357         * gst/gst.h:
2358         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
2359         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
2360         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
2361         (gst_bin_change_state):
2362         * gst/gstbin.h:
2363         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
2364         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
2365         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
2366         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
2367         (gst_bus_set_sync_handler), (gst_bus_create_watch),
2368         (bus_watch_callback), (bus_watch_destroy),
2369         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
2370         (poll_timeout), (gst_bus_poll):
2371         * gst/gstbus.h:
2372         * gst/gstcaps.h:
2373         * gst/gstdata.h:
2374         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2375         (gst_element_post_message), (gst_element_message_full),
2376         (gst_element_get_state_func), (gst_element_get_state),
2377         (gst_element_abort_state), (gst_element_commit_state),
2378         (gst_element_lost_state), (gst_element_set_state),
2379         (gst_element_pads_activate), (gst_element_change_state),
2380         (gst_element_dispose), (gst_element_set_manager_func),
2381         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
2382         (gst_element_set_manager), (gst_element_get_manager),
2383         (gst_element_set_bus), (gst_element_get_bus),
2384         (gst_element_set_scheduler), (gst_element_get_scheduler):
2385         * gst/gstelement.h:
2386         * gst/gstevent.c: (gst_event_new_segment_seek),
2387         (gst_event_new_flush):
2388         * gst/gstevent.h:
2389         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
2390         (_gst_message_free), (gst_message_get_type), (gst_message_new),
2391         (gst_message_new_eos), (gst_message_new_error),
2392         (gst_message_new_warning), (gst_message_new_tag),
2393         (gst_message_new_state_changed), (gst_message_new_application),
2394         (gst_message_get_structure), (gst_message_parse_tag),
2395         (gst_message_parse_state_changed), (gst_message_parse_error),
2396         (gst_message_parse_warning):
2397         * gst/gstmessage.h:
2398         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
2399         (gst_real_pad_set_property), (gst_pad_set_active),
2400         (gst_pad_is_active), (gst_pad_set_blocked_async),
2401         (gst_pad_set_blocked), (gst_pad_is_blocked),
2402         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
2403         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
2404         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
2405         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
2406         (gst_pad_link_filtered), (gst_pad_relink_filtered),
2407         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
2408         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
2409         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
2410         (gst_pad_set_caps), (gst_pad_configure_sink),
2411         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
2412         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
2413         (gst_real_pad_dispose), (gst_real_pad_finalize),
2414         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
2415         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2416         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
2417         * gst/gstpad.h:
2418         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
2419         (pipeline_bus_handler), (gst_pipeline_change_state),
2420         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
2421         * gst/gstpipeline.h:
2422         * gst/gstprobe.h:
2423         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2424         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
2425         (gst_queue_link_src), (gst_queue_bufferalloc),
2426         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2427         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
2428         (gst_queue_loop), (gst_queue_handle_src_event),
2429         (gst_queue_handle_src_query), (gst_queue_src_activate),
2430         (gst_queue_change_state):
2431         * gst/gstqueue.h:
2432         * gst/gstscheduler.c: (gst_scheduler_init),
2433         (gst_scheduler_dispose), (gst_scheduler_create_task),
2434         (gst_scheduler_factory_create):
2435         * gst/gstscheduler.h:
2436         * gst/gststructure.c: (gst_structure_get_type),
2437         (gst_structure_copy_conditional):
2438         * gst/gststructure.h:
2439         * gst/gsttaginterface.h:
2440         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
2441         (gst_task_init), (gst_task_dispose), (gst_task_create),
2442         (gst_task_get_state), (gst_task_start), (gst_task_stop),
2443         (gst_task_pause):
2444         * gst/gsttask.h:
2445         * gst/gstthread.c:
2446         * gst/gstthread.h:
2447         * gst/gsttypes.h:
2448         * gst/schedulers/Makefile.am:
2449         * gst/schedulers/cothreads_compat.h:
2450         * gst/schedulers/entryscheduler.c:
2451         * gst/schedulers/faircothreads.c:
2452         * gst/schedulers/faircothreads.h:
2453         * gst/schedulers/fairscheduler.c:
2454         * gst/schedulers/gstbasicscheduler.c:
2455         * gst/schedulers/gstoptimalscheduler.c:
2456         * gst/schedulers/gthread-cothreads.h:
2457         * gst/schedulers/threadscheduler.c:
2458         (gst_thread_scheduler_task_get_type),
2459         (gst_thread_scheduler_task_class_init),
2460         (gst_thread_scheduler_task_init),
2461         (gst_thread_scheduler_task_start),
2462         (gst_thread_scheduler_task_stop),
2463         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
2464         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2465         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
2466         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
2467         (plugin_init):
2468         * libs/gst/Makefile.am:
2469         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
2470         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
2471         (gst_file_pad_parent_set):
2472         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2473         (gst_dp_event_from_packet):
2474         * tests/complexity.c: (main):
2475         * tests/mass_elements.c: (main):
2476         * testsuite/states/locked.c: (message_received), (main):
2477         * testsuite/states/parent.c: (main):
2478         * tools/gst-inspect.c: (print_element_flag_info),
2479         (print_implementation_info), (print_pad_info):
2480         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
2481         (main):
2482         * tools/gst-md5sum.c: (event_loop), (main):
2483         * tools/gst-typefind.c: (main):
2484         * tools/gst-xmlinspect.c: (print_element_info):
2485         Next big merge.
2486         Added GstBus for mainloop integration.
2487         Added GstMessage for sending notifications on the bus.
2488         Added GstTask as an abstraction for pipeline entry points.
2489         Removed GstThread.
2490         Removed Schedulers.
2491         Simplified GstQueue for multithreaded core.
2492         Made _link threadsafe, removed old capsnego.
2493         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
2494         Added pad blocking functions.
2495         Reworked scheduling functions in GstPad to prepare for
2496         scheduling updates soon.
2497         Moved events out of data stream.
2498         Simplified GstEvent types.
2499         Added return values to push/pull.
2500         Removed clocking from GstElement.
2501         Added prototypes for state change function for next merge.
2502         Removed iterate from bins and state change management.
2503         Fixed some elements, disabled others for now.
2504         Fixed -inspect and -launch.
2505         Added check for GstBus.
2506
2507 2005-03-10  Wim Taymans  <wim@fluendo.com>
2508
2509         * docs/design/part-MT-refcounting.txt:
2510         * docs/design/part-clocks.txt:
2511         * docs/design/part-gstelement.txt:
2512         * docs/design/part-gstobject.txt:
2513         * docs/design/part-standards.txt:
2514         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2515         (gst_bin_remove_func), (gst_bin_remove):
2516         * gst/gstbin.h:
2517         * gst/gstbuffer.c:
2518         * gst/gstcaps.h:
2519         * testsuite/clock/clock1.c: (main):
2520         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
2521         (main):
2522         * testsuite/dlopen/loadgst.c: (do_test):
2523         * testsuite/refcounting/bin.c: (add_remove_test1),
2524         (add_remove_test2), (main):
2525         * testsuite/refcounting/element.c: (main):
2526         * testsuite/refcounting/element_pad.c: (main):
2527         * testsuite/refcounting/pad.c: (main):
2528         * tools/gst-launch.c: (sigint_handler_sighandler):
2529         * tools/gst-typefind.c: (main):
2530         Doc updates.
2531         Added doc about clock.
2532         removed gst_bin_iterate_recurse_up(), marked methods
2533         for removal.
2534         Fix more testsuites.
2535
2536 2005-03-09  Wim Taymans  <wim@fluendo.com>
2537
2538         * gst/gstpad.c: (gst_pad_get_direction),
2539         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
2540         (gst_pad_collect_valist):
2541         * testsuite/bins/interface.c: (main):
2542         * testsuite/caps/audioscale.c: (test_caps):
2543         * testsuite/caps/caps.c: (test1), (test2), (test3):
2544         * testsuite/caps/deserialize.c: (main):
2545         * testsuite/caps/enumcaps.c: (main):
2546         * testsuite/caps/filtercaps.c: (main):
2547         * testsuite/caps/intersect2.c: (main):
2548         * testsuite/caps/random.c: (main):
2549         * testsuite/caps/renegotiate.c: (my_fixate), (main):
2550         * testsuite/caps/sets.c: (check_caps):
2551         * testsuite/caps/simplify.c: (check_caps), (main):
2552         * testsuite/caps/subtract.c: (check_caps):
2553         Fix _pad_get_direction wrt ghostpads.
2554         Fix caps testsuite.
2555
2556 2005-03-09  Wim Taymans  <wim@fluendo.com>
2557
2558         * check/Makefile.am:
2559         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
2560         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
2561         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
2562         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
2563         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
2564         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
2565         (gst_bin_remove), (gst_bin_iterate_recurse_up),
2566         (bin_element_is_sink), (gst_bin_iterate_sinks),
2567         (gst_bin_iterate_all_by_interface):
2568         * gst/gstbin.h:
2569         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
2570         (gst_element_change_state), (gst_element_dispose),
2571         (gst_element_finalize), (gst_element_set_loop_function):
2572         * gst/gstelement.h:
2573         * gst/gstiterator.c: (find_custom_fold_func):
2574         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2575         (gst_pad_collectv), (gst_pad_collect_valist),
2576         (gst_pad_template_new):
2577         * gst/gstpipeline.c: (gst_pipeline_class_init),
2578         (gst_pipeline_dispose), (gst_pipeline_set_property),
2579         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
2580         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
2581         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
2582         * gst/gstutils.h:
2583         * gst/schedulers/entryscheduler.c:
2584         * gst/schedulers/gstbasicscheduler.c:
2585         (gst_basic_scheduler_cothreaded_chain),
2586         (gst_basic_scheduler_chain_add_element):
2587         * testsuite/bins/interface.c: (main):
2588         Added GstBin test.
2589         Added GstSystemClock test.
2590         Implemented clock distribution code in GstBin.
2591         Implemented iterate sinks method for future use.
2592         Rearranged gstelement.h
2593         Fix GstIterator comparison bug.
2594         Moved some code to GstPipeline, mostly clocking related.
2595
2596 2005-03-09  Wim Taymans  <wim@fluendo.com>
2597
2598         * configure.ac:
2599         * gst/gst_private.h:
2600         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2601         (gst_bin_remove_func), (gst_bin_remove),
2602         (gst_bin_get_by_name_recurse_up):
2603         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
2604         (gst_clock_id_compare_func), (gst_clock_id_wait),
2605         (gst_clock_id_wait_async), (gst_clock_init),
2606         (gst_clock_adjust_unlocked), (gst_clock_get_time):
2607         * gst/gstelement.h:
2608         * gst/gstinfo.c: (_gst_debug_init):
2609         * gst/gstobject.h:
2610         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2611         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
2612         * gst/gstpad.h:
2613         Bump version number, we're now 0.9.0
2614         Add future debugging category.
2615         Fix NULL _unref() in _get_by_name_recurse_up
2616         Rearrange gstpad.h.
2617         Update some docs.
2618
2619 2005-03-08  Wim Taymans  <wim@fluendo.com>
2620
2621         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
2622         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
2623         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2624         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
2625         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
2626         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
2627         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
2628         * gst/elements/gstidentity.c: (gst_identity_class_init):
2629         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
2630         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
2631         * gst/elements/gstshaper.c: (gst_shaper_class_init):
2632         * gst/elements/gststatistics.c: (gst_statistics_class_init):
2633         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
2634         (gst_tee_link):
2635         * gst/gstelement.c: (gst_element_class_init),
2636         (gst_element_base_class_init), (gst_element_init),
2637         (gst_element_get_random_pad), (gst_element_wait_state_change),
2638         (gst_element_change_state), (gst_element_dispose),
2639         (gst_element_finalize), (gst_element_set_loop_function):
2640         * gst/gstelement.h:
2641         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
2642         * gst/gstthread.c: (gst_thread_class_init),
2643         (gst_thread_release_children_locks), (gst_thread_change_state):
2644         * gst/schedulers/gstbasicscheduler.c:
2645         (gst_basic_scheduler_loopfunc_wrapper),
2646         (gst_basic_scheduler_chain_wrapper),
2647         (gst_basic_scheduler_src_wrapper),
2648         (gst_basic_scheduler_remove_element):
2649         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
2650         Remove threadsafe properties. Fix elements because GObject
2651         complains when installing a property before declaring a
2652         set/get_property handler.
2653         Rearrange gstelement.h file, use STATE macros for state locks.
2654         Free mutexes in the finalize method instead of dispose.
2655
2656 2005-03-08  Wim Taymans  <wim@fluendo.com>
2657
2658         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
2659         * gst/gstthread.c: (gst_thread_release_children_locks):
2660         Added parentage check.
2661         Fix build og GstThread again.
2662
2663 2005-03-08  Wim Taymans  <wim@fluendo.com>
2664
2665         * docs/design/part-MT-refcounting.txt:
2666         * docs/design/part-conventions.txt:
2667         * docs/design/part-gstobject.txt:
2668         * docs/design/part-relations.txt:
2669         * docs/design/part-standards.txt:
2670         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2671         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
2672         (gst_bin_get_by_name), (gst_bin_get_by_interface),
2673         (gst_bin_iterate_all_by_interface):
2674         * gst/gstbuffer.h:
2675         * gst/gstclock.h:
2676         * gst/gstelement.c: (gst_element_class_init),
2677         (gst_element_change_state), (gst_element_set_loop_function):
2678         * gst/gstelement.h:
2679         * gst/gstiterator.c:
2680         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
2681         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
2682         (gst_object_dispatch_properties_changed), (gst_object_set_name),
2683         (gst_object_set_parent), (gst_object_unparent),
2684         (gst_object_check_uniqueness):
2685         * gst/gstobject.h:
2686         Docs updates, clean up some headers.
2687
2688 2005-03-07  Wim Taymans  <wim@fluendo.com>
2689
2690         * check/.cvsignore:
2691         * check/Makefile.am:
2692         * check/gst-libs/.cvsignore:
2693         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
2694         * check/gst/.cvsignore:
2695         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
2696         (START_TEST), (gstbus_suite), (main):
2697         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
2698         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
2699         (gst_data_suite), (main):
2700         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
2701         (add_fold_func), (gstiterator_suite), (main):
2702         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
2703         (thread_name_object), (thread_name_object_default),
2704         (gst_object_name_compare), (gst_object_suite), (main):
2705         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
2706         (gst_pad_suite), (main):
2707         * check/gstcheck.c: (gst_check_log_message_func),
2708         (gst_check_log_critical_func), (gst_check_init):
2709         * check/gstcheck.h:
2710         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2711         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
2712         Added checks.
2713
2714 2005-03-07  Wim Taymans  <wim@fluendo.com>
2715
2716         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
2717         (gst_list_iterator_next), (gst_list_iterator_resync),
2718         (gst_list_iterator_free), (gst_iterator_new_list),
2719         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
2720         (gst_iterator_free), (gst_iterator_push), (filter_next),
2721         (filter_resync), (filter_uninit), (filter_free),
2722         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
2723         (gst_iterator_foreach), (find_custom_fold_func),
2724         (gst_iterator_find_custom):
2725         * gst/gstiterator.h:
2726         Added missing files.
2727
2728 2005-03-07  Wim Taymans  <wim@fluendo.com>
2729
2730         * Makefile.am:
2731         * configure.ac:
2732         * docs/design/part-MT-refcounting.txt:
2733         * docs/design/part-conventions.txt:
2734         * docs/design/part-gstobject.txt:
2735         * docs/design/part-relations.txt:
2736         * examples/mixer/mixer.c: (main):
2737         * examples/thread/thread.c: (eos), (main):
2738         * gst/Makefile.am:
2739         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
2740         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
2741         (gst_spider_plug_from_srcpad):
2742         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
2743         (gst_spider_identity_change_state),
2744         (gst_spider_identity_sink_loop_type_finding):
2745         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
2746         * gst/elements/gstidentity.c: (gst_identity_init):
2747         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
2748         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
2749         * gst/elements/gsttypefindelement.c: (free_entry):
2750         * gst/gst.c:
2751         * gst/gst.h:
2752         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
2753         (gst_bin_set_clock_func), (gst_bin_auto_clock),
2754         (gst_bin_set_index), (gst_bin_set_element_sched),
2755         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
2756         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
2757         (gst_bin_iterate_elements), (iterate_child_recurse),
2758         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
2759         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
2760         (compare_interface), (gst_bin_get_by_interface),
2761         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
2762         * gst/gstbin.h:
2763         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
2764         (gst_buffer_default_free), (gst_buffer_default_copy),
2765         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
2766         (gst_buffer_create_sub):
2767         * gst/gstbuffer.h:
2768         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
2769         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
2770         (gst_caps_unref), (gst_static_caps_get),
2771         (gst_caps_remove_and_get_structure), (gst_caps_append),
2772         (gst_caps_append_structure), (gst_caps_remove_structure),
2773         (gst_caps_copy_nth), (gst_caps_set_simple),
2774         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
2775         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
2776         (gst_caps_structure_intersect_field), (gst_caps_intersect),
2777         (gst_caps_structure_subtract_field), (gst_caps_subtract),
2778         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
2779         (gst_caps_structure_figure_out_union),
2780         (gst_caps_switch_structures), (gst_caps_do_simplify),
2781         (gst_caps_replace), (gst_caps_from_string),
2782         (gst_caps_copy_conditional):
2783         * gst/gstcaps.h:
2784         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
2785         (_gst_clock_id_free), (gst_clock_id_unref),
2786         (gst_clock_id_compare_func), (gst_clock_id_wait),
2787         (gst_clock_id_wait_async), (gst_clock_class_init),
2788         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
2789         (gst_clock_get_time), (gst_clock_set_time_adjust),
2790         (gst_clock_set_property), (gst_clock_get_property):
2791         * gst/gstclock.h:
2792         * gst/gstcompat.h:
2793         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
2794         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
2795         * gst/gstdata.h:
2796         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2797         (gst_element_requires_clock), (gst_element_provides_clock),
2798         (gst_element_set_clock), (gst_element_clock_wait),
2799         (gst_element_wait), (gst_element_set_time_delay),
2800         (gst_element_is_indexable), (gst_element_add_pad),
2801         (gst_element_add_ghost_pad), (gst_element_remove_pad),
2802         (pad_compare_name), (gst_element_get_static_pad),
2803         (gst_element_request_pad), (gst_element_get_request_pad),
2804         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
2805         (gst_element_class_get_pad_template_list),
2806         (gst_element_class_get_pad_template), (gst_element_error_func),
2807         (gst_element_get_random_pad), (gst_element_get_event_masks),
2808         (gst_element_send_event), (gst_element_seek),
2809         (gst_element_get_query_types), (gst_element_query),
2810         (gst_element_get_formats), (gst_element_convert),
2811         (gst_element_is_locked_state), (gst_element_set_locked_state),
2812         (gst_element_sync_state_with_parent), (gst_element_change_state),
2813         (gst_element_finalize), (gst_element_yield),
2814         (gst_element_interrupt), (gst_element_set_scheduler),
2815         (gst_element_get_scheduler), (gst_element_set_loop_function):
2816         * gst/gstelement.h:
2817         * gst/gstevent.h:
2818         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
2819         (gst_format_get_by_nick), (gst_format_get_details),
2820         (gst_format_iterate_definitions):
2821         * gst/gstformat.h:
2822         * gst/gstindex.c: (gst_index_gtype_resolver):
2823         * gst/gstinfo.c:
2824         * gst/gstinfo.h:
2825         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
2826         (gst_mem_chunk_free):
2827         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2828         (gst_object_ref), (gst_object_unref), (gst_object_sink),
2829         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
2830         (gst_object_dispatch_properties_changed),
2831         (gst_object_set_name_default), (gst_object_set_name),
2832         (gst_object_get_name), (gst_object_set_name_prefix),
2833         (gst_object_get_name_prefix), (gst_object_set_parent),
2834         (gst_object_get_parent), (gst_object_unparent),
2835         (gst_object_check_uniqueness), (gst_object_save_thyself),
2836         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
2837         (gst_object_set_property), (gst_object_get_property),
2838         (gst_object_get_path_string):
2839         * gst/gstobject.h:
2840         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2841         (gst_real_pad_init), (gst_real_pad_get_property),
2842         (gst_pad_custom_new), (gst_pad_get_direction),
2843         (gst_pad_set_active), (gst_pad_is_active),
2844         (gst_pad_set_event_function), (gst_pad_is_linked),
2845         (gst_pad_link_free), (gst_pad_link_intersect),
2846         (gst_pad_link_fixate), (gst_pad_set_caps),
2847         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
2848         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
2849         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
2850         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
2851         (gst_pad_get_caps), (gst_pad_peer_get_caps),
2852         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
2853         (gst_pad_realize), (gst_pad_get_allowed_caps),
2854         (gst_real_pad_dispose), (gst_real_pad_finalize),
2855         (gst_pad_collectv), (gst_pad_collect_valist),
2856         (gst_pad_template_dispose), (gst_pad_template_new),
2857         (gst_pad_get_internal_links):
2858         * gst/gstpad.h:
2859         * gst/gstpipeline.c: (gst_pipeline_dispose),
2860         (gst_pipeline_change_state):
2861         * gst/gstpipeline.h:
2862         * gst/gstplugin.c:
2863         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
2864         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
2865         * gst/gstpluginfeature.h:
2866         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
2867         * gst/gstquery.c: (_gst_query_type_initialize),
2868         (gst_query_type_register), (gst_query_type_get_by_nick),
2869         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
2870         * gst/gstquery.h:
2871         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
2872         * gst/gstscheduler.c: (gst_scheduler_add_element),
2873         (gst_scheduler_factory_create):
2874         * gst/gststructure.c: (gst_structure_set_parent_refcount),
2875         (gst_structure_free), (gst_structure_set_name),
2876         (gst_structure_id_set_value), (gst_structure_set_value),
2877         (gst_structure_set_valist), (gst_structure_remove_field),
2878         (gst_structure_remove_fields),
2879         (gst_structure_remove_fields_valist),
2880         (gst_structure_remove_all_fields), (gst_structure_foreach),
2881         (gst_structure_map_in_place),
2882         (gst_caps_structure_fixate_field_nearest_int),
2883         (gst_caps_structure_fixate_field_nearest_double):
2884         * gst/gststructure.h:
2885         * gst/gstsystemclock.c: (gst_system_clock_class_init),
2886         (gst_system_clock_init), (gst_system_clock_dispose),
2887         (gst_system_clock_async_thread),
2888         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
2889         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
2890         * gst/gstsystemclock.h:
2891         * gst/gsttag.c: (gst_tag_list_add_value_internal),
2892         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
2893         * gst/gsttaginterface.c:
2894         * gst/gstthread.c: (gst_thread_dispose),
2895         (gst_thread_release_children_locks), (gst_thread_change_state),
2896         (gst_thread_main_loop):
2897         * gst/gsttrashstack.h:
2898         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
2899         * gst/gsttypes.h:
2900         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2901         (gst_element_request_pad), (gst_element_get_pad_from_template),
2902         (gst_element_request_compatible_pad),
2903         (gst_element_get_compatible_pad_filtered),
2904         (gst_element_get_compatible_pad), (gst_element_state_get_name),
2905         (gst_element_link_pads_filtered), (gst_element_link_filtered),
2906         (gst_element_link_many), (gst_element_link),
2907         (gst_element_link_pads), (gst_element_unlink_pads),
2908         (gst_element_unlink_many), (gst_element_unlink),
2909         (gst_pad_can_link_filtered), (gst_pad_can_link),
2910         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
2911         (gst_object_default_error), (gst_bin_add_many),
2912         (gst_bin_remove_many), (gst_element_populate_std_props),
2913         (gst_element_class_install_std_props), (gst_buffer_merge),
2914         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
2915         (link_fold_func), (gst_pad_proxy_setcaps):
2916         * gst/gstutils.h:
2917         * gst/gstvalue.c: (gst_value_deserialize_string):
2918         * gst/parse/grammar.y:
2919         * gst/schedulers/gstbasicscheduler.c:
2920         (gst_basic_scheduler_cothreaded_chain),
2921         (gst_basic_scheduler_chain_recursive_add),
2922         (gst_basic_scheduler_pad_link):
2923         * gst/schedulers/gstoptimalscheduler.c:
2924         (get_group_schedule_function),
2925         (gst_opt_scheduler_state_transition),
2926         (gst_opt_scheduler_add_element), (element_get_reachables_func):
2927         * libs/gst/bytestream/bytestream.c:
2928         * libs/gst/dataprotocol/dataprotocol.c:
2929         (gst_dp_header_from_buffer):
2930         * po/nb.po:
2931         * po/ru.po:
2932         * tests/threadstate/threadstate2.c: (eos):
2933         * tools/gst-compprep.c: (main):
2934         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
2935         (print_pad_info), (print_children_info):
2936         * tools/gst-launch.c: (idle_func), (main):
2937         * tools/gst-md5sum.c: (idle_func), (main):
2938         * tools/gst-xmlinspect.c: (print_element_info):
2939         First THREADED backport attempt, focusing on adding locks and
2940         making sure the API is threadsafe. Needs more work. More docs
2941         follow this week.
2942
2943 2005-02-24  Andy Wingo  <wingo@pobox.com>
2944
2945         * tests/bench-complexity.scm:
2946         * tests/complexity.gnuplot: New files, good for running complexity
2947         benchmarks.
2948
2949         * tests/Makefile.am:
2950         * tests/complexity.c: New test, sets up N elements, at each level
2951         teeing into M streams per element. Eeeenteresting.
2952
2953         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
2954         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
2955         running bench-mass_elements.scm.
2956
2957         * tests/bench-mass_elements.scm: New script, runs mass_elements
2958         for various numbers of identities, outputting the results to a
2959         file. Requires guile 1.6. Just for testing.
2960
2961 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2962
2963         * gst/schedulers/fairscheduler.c:
2964           compile with debug disabled
2965
2966 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2967
2968         * configure.ac:
2969           hunting season on 0.9 is now OPEN
2970
2971 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
2972
2973         * docs/libs/tmpl/gstcontrol.sgml:
2974         * docs/libs/tmpl/gstdparam.sgml:
2975         * docs/libs/tmpl/gstdplinint.sgml:
2976         * docs/libs/tmpl/gstdpman.sgml:
2977         * docs/libs/tmpl/gstdpsmooth.sgml:
2978         * docs/libs/tmpl/gstunitconvert.sgml:
2979           more docs for the state of dparams
2980
2981 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2982
2983         * gst/gstelementfactory.c: (gst_element_factory_create):
2984         * gst/gstobject.c: (gst_object_init),
2985         (gst_object_set_name_default), (gst_object_set_name):
2986           name objects by default, not in gst_element_factory_create. Allows
2987           using elements created with g_object_new. (fixes #167283)
2988
2989 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2990
2991         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
2992           make the time that debugging functions print relative to when
2993           gst_init was called
2994
2995 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
2996
2997         * gst/gsttaginterface.c:
2998           Fix inline docs: tag setter vararg functions are NULL-terminated,
2999           GST_TAG_INVALID doesn't exist any more.
3000
3001 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3002
3003         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
3004         Allocate the 1 byte more memory that was forgotten!!!!!
3005         fixes memory corruption on 64bit platforms
3006
3007 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
3008
3009         * docs/pwg/building-pads.xml:
3010         * docs/pwg/intro-basics.xml:
3011           fixed a few typos, relabeled introductionary list of types
3012         * docs/random/ensonic/dparams.txt:
3013           more notes abut dparam changes
3014         * libs/gst/control/dparam.c: (gst_dparam_attach):
3015         * libs/gst/control/dparammanager.c:
3016         * libs/gst/control/dparammanager.h:
3017           - many comments and notes on dparam implementation
3018           - new dparams are were not initialized to the default value
3019             from param spec
3020
3021 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3022
3023         submitted by: Peter Astakhov
3024
3025         * po/LINGUAS:
3026         * po/ru.po:
3027           adding Russian translation
3028
3029 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3030
3031         * configure.ac:
3032         * docs/gst/Makefile.am:
3033         * docs/libs/Makefile.am:
3034           make sure popt is added to gtk-doc flags.  Fixes #147782.
3035
3036 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3037
3038         * docs/faq/using.xml:
3039           Fix typo in FAQ (artssink => artsdsink)
3040
3041 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3042
3043         * tools/gst-launch.1.in:
3044           Fix typo (#166699).
3045
3046 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
3047
3048         * docs/faq/using.xml:
3049           Add -v argument to fakesrc/fakesink gst-launch line,
3050           so that the promised output will actually show up.
3051
3052 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3053
3054         * gst/gstthread.c: (gst_thread_change_state):
3055           Implement state-change error handling (#166073).
3056
3057 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3058
3059         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3060           Release interrupt after handling (#166250).
3061
3062 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3063
3064         * configure.ac:
3065           back to HEAD
3066
3067 === release 0.8.9 ===
3068
3069 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3070
3071         * NEWS:
3072         * RELEASE:
3073         * configure.ac:
3074           releasing 0.8.9, "Like Eating Glass"
3075
3076 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3077
3078         submitted by: Clytie Siddall
3079
3080         * po/vi.po: Added Vietnamese translation
3081
3082 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3083
3084         patch by: Tim Philipp-Müller
3085
3086         * configure.ac:
3087         * gst/gstpad.c:
3088           unref data when probe function returns FALSE.  Fixes #166362
3089
3090 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3091
3092         * gst/gst.c: (gst_init_get_popt_table):
3093           Fix typo (#166269).
3094
3095 2005-02-04  Andy Wingo  <wingo@pobox.com>
3096
3097         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
3098         the debugging on whether the caps are compatible.
3099
3100 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3101
3102         * docs/manual/basics-elements.xml:
3103           Fix two typos.
3104
3105 2005-02-02  Wim Taymans  <wim@fluendo.com>
3106
3107         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
3108         (schedule_chain), (get_invalid_call), (chain_invalid_call),
3109         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
3110         Remove some FIXMEs after analysing and commenting why they
3111         are not issues.
3112
3113 2005-02-02  Wim Taymans  <wim@fluendo.com>
3114
3115         * gst/schedulers/gstoptimalscheduler.c:
3116         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
3117         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
3118         (get_invalid_call), (chain_invalid_call),
3119         (get_group_schedule_function), (loop_group_schedule_function),
3120         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
3121         (gst_opt_scheduler_state_transition),
3122         (gst_opt_scheduler_add_element),
3123         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
3124         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
3125         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
3126         (gst_opt_scheduler_show):
3127         Added lock to protect scheduler data structures.
3128
3129 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3130
3131         * testsuite/threads/threadi.c: (cb_data):
3132           Fix buglet in test.
3133
3134 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3135
3136         * testsuite/threads/Makefile.am:
3137         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
3138           On Wim's request, split the test in three separately-compiled
3139           tests that each test a very specific bug. Two of them still fail,
3140           will create bugs for those. threadi.c indicates why they fail.
3141
3142 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3143
3144         * gst/schedulers/gstoptimalscheduler.c:
3145         (get_group_schedule_function):
3146           Try to work with the threading mess that queue_link is.
3147
3148 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3149
3150         * gst/gstbin.c: (gst_bin_remove_func):
3151           Explicitely make an element release locks in a group when being
3152           remove from a bin.
3153         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3154           If there's no scheduler, always return immediately (similar to
3155           gst_element_interrupt).
3156
3157 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3158
3159         * gst/gstbin.c: (gst_bin_child_state_change_func):
3160           Remove a piece of code that could never be reached.
3161         * docs/gst/gstreamer-sections.txt:
3162         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
3163         (gst_pad_call_get_function):
3164         * gst/gstpad.h:
3165         * testsuite/pad/Makefile.am:
3166           Fix #150546, enable tests.
3167
3168 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3169
3170         * docs/pwg/advanced-types.xml:
3171           Fix description for buffer-frames=0.
3172         * docs/gst/tmpl/gstbin.sgml:
3173         * gst/gstbin.c: (gst_bin_child_state_change_func),
3174         (gst_bin_change_state), (gst_bin_change_state_norecurse):
3175         * gst/gstbin.h:
3176         * testsuite/threads/Makefile.am:
3177         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
3178         (cb_state), (cb_play), (main):
3179           Fix non-recursive state changes to *really* change the state
3180           of the object, and not just call parent_class->state_change.
3181           Fix a lot of lockups caused by this. Fixes #132775. Add test
3182           for the problem. Also enable test to show #142588 (fixed).
3183         * gst/gstthread.c: (gst_thread_change_state),
3184         (gst_thread_child_state_change):
3185           Don't exit the thread if we go to NULL and are inside thread
3186           context. Instead, return control to the main thread context
3187           and exit from there.
3188         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
3189           Don't unset virtual functions, since those may still be used.
3190           That's not necessarily correct, but suffices for now.
3191         * configure.ac:
3192         * testsuite/Makefile.am:
3193         * testsuite/pad/Makefile.am:
3194         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
3195         (gst_test_sink_base_init), (gst_test_sink_chain),
3196         (gst_test_sink_init), (main):
3197         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
3198         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
3199         (main):
3200         * testsuite/pad/link.c: (gst_test_element_class_init),
3201         (gst_test_element_base_init), (gst_test_src_get),
3202         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
3203         (gst_test_filter_loop), (gst_test_filter_init),
3204         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
3205         (cb_error), (main):
3206           Add tests to show #150546. Pass, but should fail (currently
3207           disabled from the testsuite).
3208         * gst/gstscheduler.c: (gst_scheduler_dispose):
3209           Dereference child schedulers on dispose (#94464).
3210         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3211           Fix typo.
3212         * testsuite/threads/thread.c: (main):
3213           Add more debug.
3214
3215 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3216
3217         * gst/gstpad.c: (gst_pad_push):
3218           Oops, revert previous commit, broke testsuite...
3219
3220 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3221
3222         * gst/gstpad.c: (gst_pad_push):
3223           Add check that the pad on which the push is performed is not a
3224           get-based pad (#150546).
3225
3226 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3227
3228         * gst/elements/gsttypefindelement.c:
3229         (gst_type_find_element_handle_event):
3230           Fix buffer pushing if stream EOSes during typefinding.
3231
3232 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
3233
3234         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3235
3236         * gst/gstvalue.c: (gst_string_wrap):
3237           Allow NULL-strings as argument (#165365).
3238
3239 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
3240
3241         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3242
3243         * gst/schedulers/faircothreads.c:
3244         (gst_fair_scheduler_cothread_queue_show):
3245           Fix build without debug enabled.
3246
3247 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
3248
3249         * docs/gst/gstreamer-sections.txt:
3250         * docs/libs/gstreamer-libs-docs.sgml:
3251         * docs/libs/gstreamer-libs-sections.txt:
3252         * docs/libs/tmpl/gstcontrol.sgml:
3253         * docs/libs/tmpl/gstdparam.sgml:
3254         * docs/libs/tmpl/gstdplinint.sgml:
3255         * docs/libs/tmpl/gstdpman.sgml:
3256         * docs/libs/tmpl/gstdpsmooth.sgml:
3257         * docs/libs/tmpl/gstputbits.sgml:
3258         * docs/libs/tmpl/gstunitconvert.sgml:
3259         * libs/gst/control/dparam.c:
3260         * libs/gst/control/dparam.h:
3261         * libs/gst/control/dparammanager.c:
3262         (gst_dpman_add_required_dparam_callback),
3263         (gst_dpman_add_required_dparam_direct),
3264         (gst_dpman_add_required_dparam_array),
3265         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
3266         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
3267         (gst_dpman_get_manager)
3268           restructured DParam docs
3269
3270 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
3271
3272         * gst-element-check.m4:
3273           Only check for gst-inspect if we haven't already
3274           found it in previous element check runs
3275
3276 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
3277
3278         * docs/gst/Makefile.am:
3279         * docs/libs/Makefile.am:
3280           fixed install rules to treat style.css as optional
3281
3282 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
3283
3284         * docs/gst/Makefile.am:
3285         * docs/libs/Makefile.am:
3286           install style.css along with docs
3287         * docs/gst/tmpl/gstbin.sgml:
3288         * docs/gst/tmpl/gstclock.sgml:
3289         * docs/gst/tmpl/gstdata.sgml:
3290         * docs/gst/tmpl/gstelement.sgml:
3291         * gst/gstbin.h:
3292         * gst/gstelement.c: (gst_element_class_init):
3293         * gst/gstelement.h:
3294           fixing incomplete docs
3295
3296 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3297
3298         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
3299           Don't unref seek event twice when fflush() fails
3300           
3301 2005-01-22  David Schleef  <ds@schleef.org>
3302
3303         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
3304
3305 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
3306
3307         * docs/gst/Makefile.am:
3308         * docs/libs/Makefile.am:
3309           added params for deprecation guards
3310         * gst/gst.c:
3311         * gst/gst.h:
3312         * gst/gsterror.c: (_gst_resource_errors_init),
3313         (_gst_stream_errors_init):
3314         * gst/gsterror.h:
3315           documented some more enums
3316
3317 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3318         * gst/autoplug/gstspideridentity.c:
3319         Cosmetic fix - spider_find_peek should be static
3320         * gst/parse/parse.l:
3321         Applying fix for #164261
3322
3323 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
3324
3325         * docs/gst/gstreamer-sections.txt:
3326         * docs/gst/tmpl/gstplugin.sgml:
3327         * docs/libs/gstreamer-libs-sections.txt:
3328         * docs/libs/tmpl/gstcontrol.sgml:
3329         * gst/gstbuffer.h:
3330         * gst/gsttag.h:
3331         * gst/gstvalue.c:
3332           added docs for the TAG defines
3333
3334 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3335
3336         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3337           Only unref entry if there is an entry.
3338
3339 2005-01-17  Wim Taymans  <wim@fluendo.com>
3340
3341         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3342         (remove_from_group), (schedule_group), (normalize_group),
3343         (gst_opt_scheduler_iterate):
3344         Also ref/unref decoupled elements before iterating the
3345         group since they are not added to the list of elements.
3346
3347 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3348
3349         * docs/manual/highlevel-components.xml:
3350           Add subtitle/streamselection as new features to playbin.
3351
3352 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3353
3354         * docs/manual/manual.xml:
3355           Re-enable dataaccess docs (oops).
3356
3357 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3358
3359         * docs/pwg/advanced-types.xml:
3360         * docs/random/mimetypes:
3361           Add documentation on libsndfile types (#163309), by Steve Baker
3362           <steve@stevebaker.org>.
3363         * gst/gstelement.c: (gst_element_release_request_pad):
3364           If an element has no explicit function, just remove the pad.
3365
3366 2005-01-17  Luca Ognibene  <luogni@tin.it>
3367
3368         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3369
3370         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
3371           Fix memleak (#163801).
3372
3373 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3374
3375         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
3376           I think this is actually more correct...
3377
3378 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3379
3380         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3381           Another workaround for memory access while destroyed in callback.
3382           Please, someone with refcount knowledge, have a look at this.
3383
3384 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3385
3386         * docs/faq/faq.xml:
3387         * docs/faq/legal.xml:
3388           move the legal Q&A here
3389
3390 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3391
3392         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
3393         (gst_tee_request_new_pad):
3394           Fix negotiation.
3395
3396 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3397
3398         * docs/random/omega/caps2:
3399         * testsuite/caps/caps_strings:
3400           replace framerate aproximations by their real value
3401           (24000/1001, 30000/1001, 60000/1001)
3402           Partially fixes bug #164049
3403
3404 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3405
3406         * docs/gst/Makefile.am:
3407           don't fail on the stupid GstPoptOption
3408
3409 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3410
3411         * gst/gstpad.h:
3412         * gst/gstprobe.c:
3413           allow probes to work on ghost pads by realizing the pad
3414           probe debugging
3415
3416 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3417
3418         * docs/gst/gstreamer-sections.txt:
3419         * docs/gst/tmpl/gstpad.sgml:
3420         * gst/gstpad.c: (gst_pad_set_active_recursive):
3421         * gst/gstpad.h:
3422           Add gst_pad_set_active_recursive().
3423
3424 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3425
3426         * docs/random/release:
3427           updates
3428         * gst/gst_private.h:
3429         * gst/gstinfo.c:
3430         * gst/gstobject.c:
3431           move deep_notify logging to a new category
3432         * gst/gstprobe.c:
3433         * gst/gstprobe.h:
3434           add stuff so bindings can wrap probes
3435
3436 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3437
3438         * gst/gstplugin.c: (gst_plugin_load):
3439           Fix plugin loading if plugin/lib was already loaded. Fixes
3440           #163383
3441
3442 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
3443
3444         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3445
3446         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
3447           Protect plugin loading by a mutex so it's threadsafe. Fixes
3448           #163234.
3449
3450 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3451
3452         * gst/gstevent.c: (_gst_event_copy):
3453           Reference source object when copying events, since it'll be
3454           dereferenced on event dereferencing as well.
3455
3456 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3457
3458         * docs/gst/gstreamer-sections.txt:
3459         * docs/gst/tmpl/gstevent.sgml:
3460         * gst/gstevent.c: (gst_event_new_filler_stamped),
3461         (gst_event_filler_get_duration):
3462         * gst/gstevent.h:
3463           Add two new functions for filler events (which are used to
3464           synchronize streams if one of them is not having any data
3465           for a while) without interrupting the actual data-stream.
3466           Basically a no-op.
3467         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3468         (gst_queue_link_sink), (gst_queue_link_src),
3469         (gst_queue_change_state):
3470           Allow for renegotiation while filled. Required for stream
3471           switching while playing.
3472
3473 2005-01-08  Benjamin Otte  <otte@gnome.org>
3474
3475         * gst/gstelement.c: (gst_element_link_many):
3476           fix up g_return_if_fail's
3477         * po/LINGUAS:
3478         * po/de.po:
3479           add German translation, that was somehow not included
3480
3481 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3482
3483         * docs/random/mimetypes:
3484           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
3485           do not add them to riff-lib as they are not common
3486
3487 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3488
3489         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3490           Check for existence of probe after performing the probe before
3491           re-accessing it to prevent segfaults caused by removal of the
3492           probe in the callback.
3493
3494 2005-01-05  David Schleef  <ds@schleef.org>
3495
3496         * testsuite/registry/Makefile.am:
3497         * testsuite/registry/gst-print-formats.c:
3498         (print_pad_templates_info), (print_element_list),
3499         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
3500         (g_list_uniqify), (get_pad_templates_info),
3501         (get_element_mime_list), (print_mime_list), (main): A little
3502         program that looks through the registry to find elements of
3503         a given type.  Not particularly interesting as a test, except
3504         that there's no other test covering the same area.
3505
3506 2005-01-05  David Schleef  <ds@schleef.org>
3507
3508         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
3509         (fault_handler_sigaction), (fault_spin),
3510         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
3511         in signal.h-type signal handlers by not calling forbidden functions,
3512         including gst_element_set_state().
3513
3514 2005-01-05  David Schleef  <ds@schleef.org>
3515
3516         * gst/gstvalue.h: Mark _gst_reserved[] as private
3517
3518 2005-01-05  David Schleef  <ds@schleef.org>
3519
3520         * gst/gstvalue.c: Fix doc build problem.
3521
3522 2005-01-05  David Schleef  <ds@schleef.org>
3523
3524         * gst/gstvalue.c: Add some documentation
3525
3526 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
3527
3528         * docs/README:
3529           another shell oneliner for empty return value docs
3530         * gst/gstcaps.c:
3531         * gst/gstvalue.c:
3532         * libs/gst/control/dparam.c:
3533           more doc fixes (parameters and return values)
3534
3535 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
3536
3537         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3538
3539         * gst/gstregistry.h:
3540         * gst/registries/gstxmlregistry.c:
3541           Fix macro's for Mingw (fixes #162276).
3542
3543 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
3544
3545         * docs/README:
3546           quick shell oneliner to find undocumented members
3547         * docs/gst/tmpl/gstplugin.sgml:
3548         * docs/gst/tmpl/gstscheduler.sgml:
3549         * docs/gst/tmpl/gstthread.sgml:
3550           more enumtypes cleanup
3551         * gst/gsterror.h:
3552           activated documentation comments, now someone needs to document
3553           the enums :(
3554
3555 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3556
3557         * docs/manual/manual.xml:
3558           Add dataaccess part (doh!).
3559
3560 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3561
3562         * docs/manual/advanced-autoplugging.xml:
3563           Fix typo (intiate -> initiate).
3564
3565 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3566
3567         * docs/random/bbb/streamselection:
3568           Add some notes on how to handle multi-subtitle/-audio streams.
3569
3570 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
3571
3572         * docs/gst/gstreamer-docs.sgml:
3573         * docs/gst/gstreamer-sections.txt:
3574         * docs/gst/tmpl/gstenumtypes.sgml:
3575         * docs/gst/tmpl/gsterror.sgml:
3576         * docs/gst/tmpl/gstevent.sgml:
3577         * docs/gst/tmpl/gstpad.sgml:
3578         * docs/gst/tmpl/gstpadtemplate.sgml:
3579         * docs/gst/tmpl/gstthread.sgml:
3580           removed gstenumtypes section from docs and put all the enums into
3581           their sections
3582
3583 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3584
3585         * gst/gstplugin.c:
3586           document gst_library_load a bit more (riff special case + return
3587           value if already loaded)
3588         * testsuite/bytestream/filepadsink.c:
3589           plugin name is 'gstbytestream', not 'bytestream'
3590
3591 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3592
3593         * docs/random/bbb/subtitles:
3594           Add some first mind rumblings on proper subtitle support.
3595
3596 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3597
3598         * po/ca.po:
3599         * po/sv.po:
3600           updated translations
3601
3602 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3603
3604         * docs/manual/advanced-dataaccess.xml:
3605           Add section on how to use fakesrc/fakesink/identity in your
3606           application, plus section on how to embed plugins. Also mention
3607           probes.
3608         * docs/manual/appendix-checklist.xml:
3609         * docs/manual/appendix-debugging.xml:
3610         * docs/manual/appendix-gnome.xml:
3611         * docs/manual/appendix-integration.xml:
3612           Debug -> checklist, GNOME -> integration, add sections on Linux,
3613           KDE integration and add other things useful for application
3614           development.
3615         * docs/manual/manual.xml:
3616           Remove some fixmes, update some file pointers.
3617         * docs/pwg/appendix-checklist.xml:
3618           Fix typo.
3619         * docs/pwg/building-boiler.xml:
3620           Remove ugly header and add commented fixme.
3621         * docs/pwg/pwg.xml:
3622           Add fixme.
3623         * examples/manual/Makefile.am:
3624           Add example for added docs.
3625
3626 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3627
3628         * configure.ac:
3629           back to HEAD
3630
3631 === release 0.8.8 ===
3632
3633 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3634
3635         * NEWS:
3636         * RELEASE:
3637         * configure.ac:
3638           Releasing 0.8.8, "I'll Take Care Of You"
3639
3640 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3641
3642         * configure.ac:
3643           second prerelease
3644
3645 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3646
3647         patch by: Wim Taymans
3648
3649         * gst/gstbin.c:
3650           Fix for #159852 - make iterate emission threadsafe
3651
3652 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3653
3654         * docs/faq/cvs.xml:
3655           notes about new fdo account request
3656
3657 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
3658
3659         * docs/gst/gstreamer-docs.sgml:
3660         * docs/gst/tmpl/gstenumtypes.sgml:
3661         * docs/gst/tmpl/gstplugin.sgml:
3662         * docs/libs/gstreamer-libs-docs.sgml:
3663           Added missing short docs. Added ids for navigation.
3664
3665 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3666
3667         * docs/manual/advanced-autoplugging.xml:
3668         * docs/manual/advanced-schedulers.xml:
3669         * docs/manual/advanced-threads.xml:
3670           Rewrites. Remove cothreads, go a bit into opt specifically,
3671           document threads and their gotchas, and do some technical stuff
3672           on autoplugging plus add some working examples. Fixes #157395.
3673         * examples/manual/Makefile.am:
3674           Add typefind/autoplugger example (one that actually works).
3675           Remove queue example since it's a duplicate of the thread one.
3676
3677 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3678
3679         * gst/gstvalue.c: (gst_value_deserialize_string):
3680           use deprecated g_value_set_string_take_ownership to keep compatible
3681           with glib 2.2
3682
3683 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3684
3685         * gst/gstvalue.c: (gst_value_deserialize_string):
3686           revert last patch, only dom a g_utf8_validate now before accepting
3687           the string - caps parsing strips " from strings so we can't rely on
3688           them
3689         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3690           disable a test that tested the above and comment it
3691
3692 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
3693
3694         Patch reviewed by David Schleef  <ds@schleef.org>
3695
3696         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
3697         bug #153882)
3698         * win32/gstenumtypes.h: same
3699
3700 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3701
3702         * gst/gstpad.c: (gst_pad_query):
3703           Do query on realized pad, similar to how convert/send_event handle
3704           this. Also makes sense, since this pad belongs to the function to
3705           which this query will be sent. Fixes #158163.
3706
3707 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
3708
3709         * docs/manual/appendix-programs.xml: fix pipeline to actually work
3710
3711 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
3712
3713         * docs/faq/general.xml: fix pipeline to actually work
3714
3715 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3716
3717         * gst/gstvalue.c: (gst_value_deserialize_string):
3718           check that a simple string that gets deserialized does not contain
3719           invalid characters
3720         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3721           remove a test that tested a wring behaviour
3722
3723 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
3724
3725         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3726
3727         * docs/manual/intro-motivation.xml:
3728           Fix typos.
3729
3730 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
3731
3732         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3733
3734         * docs/gst/tmpl/gstprobe.sgml:
3735           Fix documentation of probe callback - it is supposed to return
3736           FALSE, not TRUE, to remove data from the stream (#159087).
3737
3738 2004-12-16  Daniel Gazard  <dany42@free.fr>
3739
3740         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3741
3742         * gst/gstelementfactory.c: (gst_element_factory_create):
3743           Fix compile failure if compiling without libxml2 support (#149936).
3744
3745 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3746
3747         * docs/manual/advanced-autoplugging.xml:
3748         * docs/manual/highlevel-components.xml:
3749           Move spider from autoplugging to components. Autoplugging is for
3750           internals, not for solutions. ;-).
3751
3752 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3753
3754         * docs/random/ds/0.9-suggested-changes:
3755           Make note on device/location/uri property names.
3756
3757 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3758
3759         * docs/manual/advanced-autoplugging.xml:
3760         * docs/manual/advanced-clocks.xml:
3761         * docs/manual/advanced-interfaces.xml:
3762         * docs/manual/advanced-metadata.xml:
3763         * docs/manual/advanced-position.xml:
3764         * docs/manual/advanced-schedulers.xml:
3765         * docs/manual/advanced-threads.xml:
3766         * docs/manual/appendix-gnome.xml:
3767         * docs/manual/appendix-programs.xml:
3768         * docs/manual/appendix-quotes.xml:
3769         * docs/manual/autoplugging.xml:
3770         * docs/manual/basics-bins.xml:
3771         * docs/manual/basics-data.xml:
3772         * docs/manual/basics-elements.xml:
3773         * docs/manual/basics-helloworld.xml:
3774         * docs/manual/basics-init.xml:
3775         * docs/manual/basics-pads.xml:
3776         * docs/manual/basics-plugins.xml:
3777         * docs/manual/bins-api.xml:
3778         * docs/manual/bins.xml:
3779         * docs/manual/buffers-api.xml:
3780         * docs/manual/buffers.xml:
3781         * docs/manual/clocks.xml:
3782         * docs/manual/components.xml:
3783         * docs/manual/cothreads.xml:
3784         * docs/manual/debugging.xml:
3785         * docs/manual/dparams-app.xml:
3786         * docs/manual/dynamic.xml:
3787         * docs/manual/elements-api.xml:
3788         * docs/manual/elements.xml:
3789         * docs/manual/factories.xml:
3790         * docs/manual/gnome.xml:
3791         * docs/manual/goals.xml:
3792         * docs/manual/helloworld.xml:
3793         * docs/manual/helloworld2.xml:
3794         * docs/manual/highlevel-components.xml:
3795         * docs/manual/highlevel-xml.xml:
3796         * docs/manual/init-api.xml:
3797         * docs/manual/intro-basics.xml:
3798         * docs/manual/intro-motivation.xml:
3799         * docs/manual/intro-preface.xml:
3800         * docs/manual/intro.xml:
3801         * docs/manual/links-api.xml:
3802         * docs/manual/links.xml:
3803         * docs/manual/manual.xml:
3804         * docs/manual/motivation.xml:
3805         * docs/manual/pads-api.xml:
3806         * docs/manual/pads.xml:
3807         * docs/manual/plugins-api.xml:
3808         * docs/manual/plugins.xml:
3809         * docs/manual/programs.xml:
3810         * docs/manual/queues.xml:
3811         * docs/manual/quotes.xml:
3812         * docs/manual/schedulers.xml:
3813         * docs/manual/states-api.xml:
3814         * docs/manual/states.xml:
3815         * docs/manual/threads.xml:
3816         * docs/manual/typedetection.xml:
3817         * docs/manual/win32.xml:
3818         * docs/manual/xml.xml:
3819           Try 2. This time, include a short preface as a "general
3820           introduction", also add code blocks around all code samples
3821           so they get compiled. We still need a way to tell readers
3822           the filename of the code sample. In some cases, don't show
3823           all code in the documentation, but do include it in the generated
3824           code. This allows for focussing on specific bits in the docs,
3825           while still having a full test application available.
3826         * examples/manual/Makefile.am:
3827           Fix up examples for new ADM. Add several of the new examples that
3828           were either added or were missing from the build system.
3829         * examples/manual/extract.pl:
3830           Allow nameless blocks.
3831
3832 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3833
3834         * docs/manual/elements-api.xml:
3835         * docs/manual/helloworld.xml:
3836         * examples/manual/extract.pl:
3837           fix last example.  Add example of adding code blocks that are not
3838           shown in docbook output.
3839
3840 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3841
3842         * docs/manual/dynamic.xml:
3843         * docs/manual/elements-api.xml:
3844         * docs/manual/gnome.xml:
3845         * docs/manual/helloworld2.xml:
3846         * docs/manual/init-api.xml:
3847         * docs/manual/queues.xml:
3848         * docs/manual/threads.xml:
3849         * docs/manual/xml.xml:
3850         * examples/manual/extract.pl:
3851           Make it possible to extract example code from separate blocks.
3852           Should make Ronald happy.
3853
3854 2004-12-15  Wim Taymans  <wim@fluendo.com>
3855
3856         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3857         (remove_from_group), (group_elements_set_visited),
3858         (normalize_group), (gst_opt_scheduler_iterate):
3859         Fix bug where a flag was not updated on a decoupled entry point 
3860         because we were just checking the group element list and decoupled
3861         elements are not in that list..
3862
3863 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3864
3865         * docs/manual/advanced-autoplugging.xml:
3866         * docs/manual/advanced-clocks.xml:
3867         * docs/manual/advanced-dparams.xml:
3868         * docs/manual/advanced-interfaces.xml:
3869         * docs/manual/advanced-metadata.xml:
3870         * docs/manual/advanced-position.xml:
3871         * docs/manual/advanced-schedulers.xml:
3872         * docs/manual/advanced-threads.xml:
3873         * docs/manual/appendix-debugging.xml:
3874         * docs/manual/appendix-gnome.xml:
3875         * docs/manual/appendix-programs.xml:
3876         * docs/manual/appendix-quotes.xml:
3877         * docs/manual/appendix-win32.xml:
3878         * docs/manual/autoplugging.xml:
3879         * docs/manual/basics-bins.xml:
3880         * docs/manual/basics-data.xml:
3881         * docs/manual/basics-elements.xml:
3882         * docs/manual/basics-helloworld.xml:
3883         * docs/manual/basics-init.xml:
3884         * docs/manual/basics-pads.xml:
3885         * docs/manual/basics-plugins.xml:
3886         * docs/manual/bins-api.xml:
3887         * docs/manual/bins.xml:
3888         * docs/manual/buffers-api.xml:
3889         * docs/manual/buffers.xml:
3890         * docs/manual/clocks.xml:
3891         * docs/manual/components.xml:
3892         * docs/manual/cothreads.xml:
3893         * docs/manual/debugging.xml:
3894         * docs/manual/dparams-app.xml:
3895         * docs/manual/dynamic.xml:
3896         * docs/manual/elements-api.xml:
3897         * docs/manual/elements.xml:
3898         * docs/manual/factories.xml:
3899         * docs/manual/gnome.xml:
3900         * docs/manual/goals.xml:
3901         * docs/manual/helloworld.xml:
3902         * docs/manual/helloworld2.xml:
3903         * docs/manual/highlevel-components.xml:
3904         * docs/manual/highlevel-xml.xml:
3905         * docs/manual/init-api.xml:
3906         * docs/manual/intro-motivation.xml:
3907         * docs/manual/intro-preface.xml:
3908         * docs/manual/intro.xml:
3909         * docs/manual/links-api.xml:
3910         * docs/manual/links.xml:
3911         * docs/manual/manual.xml:
3912         * docs/manual/motivation.xml:
3913         * docs/manual/pads-api.xml:
3914         * docs/manual/pads.xml:
3915         * docs/manual/plugins-api.xml:
3916         * docs/manual/plugins.xml:
3917         * docs/manual/programs.xml:
3918         * docs/manual/queues.xml:
3919         * docs/manual/quotes.xml:
3920         * docs/manual/schedulers.xml:
3921         * docs/manual/states-api.xml:
3922         * docs/manual/states.xml:
3923         * docs/manual/threads.xml:
3924         * docs/manual/typedetection.xml:
3925         * docs/manual/win32.xml:
3926         * docs/manual/xml.xml:
3927           First try at rewriting the ADM. Needs lotsamore work, but some
3928           parts might already be somewhat useful.
3929         * docs/pwg/advanced-interfaces.xml:
3930           Remove properties interface, it never actually existed (except for
3931           on my HD...).
3932
3933 2004-12-13  David Schleef  <ds@schleef.org>
3934
3935         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
3936         be NULL (bug #160220).
3937
3938 2004-12-13  David Schleef  <ds@schleef.org>
3939
3940         * configure.ac: remove all mmx stuff, because it's not used.
3941         * docs/random/ds/0.9-suggested-changes: additional notes
3942         * include/Makefile.am: we don't use these anymore
3943         * include/mmx.h: remove
3944         * include/sse.h: remove
3945
3946 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3947
3948         * docs/random/mimetypes:
3949           Add FOURCC code for h264 codec (VSSH)
3950           Add alternate FOURCC codes for h263 related codecs
3951
3952 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
3953
3954         * docs/manual/programs.xml:
3955           Added more gst-launch examples.
3956
3957 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3958
3959         * gst/gstqueue.c: (gst_queue_handle_src_query):
3960           Check for availability again.
3961
3962 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3963
3964         * gst/gstcaps.c: (gst_caps_compare_structures):
3965           Simple caps go first. This has the nice side-effect of fixing an
3966           obscure warning.
3967
3968 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3969
3970         * gst/gstversion.h.in:
3971           Protect header.
3972
3973 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3974
3975         * gst/schedulers/gstoptimalscheduler.c:
3976         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
3977         (gst_opt_scheduler_get_wrapper):
3978           When we're recursing into a chain run, only run the directly
3979           related group, not all queued ones. This will fix a possible
3980           deadlock in chains with more than two groups.
3981
3982 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3983
3984         * autogen.sh:
3985           remove patch if autopoint fails
3986
3987 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3988
3989         * docs/gst/gstreamer-sections.txt:
3990           Document Thomas' addition, fix build, make Luis the sheriff happy.
3991
3992 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3993
3994         * gst/gstplugin.c:
3995         * gst/gstplugin.h:
3996           add accessor for version field
3997
3998 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3999
4000         submitted by: Luca Ferretti <elle.uca@infinito.it>
4001
4002         * po/LINGUAS:
4003         * po/it.po:
4004           New tranlation added: Italian
4005
4006 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4007
4008         * gst/gstpad.c: (gst_pad_is_negotiated),
4009         (gst_pad_get_negotiated_caps):
4010           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
4011           it doesn't actually check the contents), so be sure to hand it
4012           a RealPad else we'll crash.
4013
4014 2004-12-03  Wim Taymans  <wim@fluendo.com>
4015
4016         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4017         (gst_queue_link), (gst_queue_handle_src_query):
4018         Reverted to 1.110 until this makes the testsuite and various
4019         apps work.
4020
4021 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
4022
4023         * docs/upload.mak: fix included CVS conflict strings
4024
4025 2004-12-01  William Jon McCann  <mccann@jhu.edu>
4026
4027         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4028
4029         * gst/gstelement.c: (gst_element_error_full):
4030           Use g_error_new_literal because error text may have
4031           percentage signs in it. Fixes #160019.
4032
4033 2004-12-01  Benjamin Otte  <otte@gnome.org>
4034
4035         * gst/elements/gstbufferstore.c:
4036         (gst_buffer_store_add_buffer_func):
4037           don't try to make subbuffers bigger than they can be. (fixes
4038           #159970)
4039
4040 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4041
4042         * docs/gst/gstreamer-sections.txt:
4043         * docs/gst/tmpl/gstvalue.sgml:
4044           Add new function to docs to fix build.
4045
4046 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4047
4048         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
4049         * gst/gstpad.c: (_gst_pad_default_fixate_value),
4050         (_gst_pad_default_fixate_foreach):
4051         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
4052         * gst/gstvalue.h:
4053           Deprecate _type_is_fixed, use _value_is_fixed instead, since
4054           in some cases (arrays), the fixedness depends on the content.
4055         * gst/gstqueue.c: (gst_queue_handle_src_query):
4056           Check for availability before doing something.
4057
4058 2004-11-29  Wim Taymans  <wim@fluendo.com>
4059
4060         * testsuite/threads/Makefile.am:
4061         * testsuite/threads/signals.c: (gst_test_get_type),
4062         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
4063         (gst_test_set_property), (gst_test_get_property),
4064         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
4065         (gst_test_do_prop), (run_thread), (main):
4066         Added a bunch of testcases that show threadsafety bugs in glib.
4067
4068 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
4069
4070         * docs/manual/programs.xml:
4071           Added a first batch of gst-launch examples, as provided by Ronald
4072           and others from the devel-mlist
4073
4074 2004-11-28  Benjamin Otte  <otte@gnome.org>
4075
4076         * gst/gstelement.c: (gst_element_negotiate_pads):
4077           simplify
4078         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
4079         (gst_value_serialize_string), (gst_value_deserialize_string):
4080           add unwrapping of previously wrapped strings. Fix bug in wrapping
4081           while at it.
4082         * testsuite/caps/value_serialize.c: (test1),
4083         (test_string_serialization), (test_string_deserialization), (main):
4084           add tests for string (de)serialization
4085
4086 2004-11-26  Wim Taymans  <wim@fluendo.com>
4087
4088         * testsuite/threads/159566.c: (object_deep_notify), (main):
4089         * testsuite/threads/Makefile.am:
4090         Added testsuite to show bug #159566
4091
4092 2004-11-25  Wim Taymans  <wim@fluendo.com>
4093
4094         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
4095         (gst_thread_child_state_change), (gst_thread_main_loop):
4096         Ref the thread object in the GThread mainloop. Break out of the
4097         thread mainloop if it holds the last ref. This properly exits
4098         the threads when disposing the thread from its own context. It
4099         also avoids possible deadlocks in the dispose function.
4100
4101 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
4102
4103         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
4104         it is necessary to wait.
4105
4106 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4107
4108         * docs/pwg/building-boiler.xml:
4109           Make description somewhat clearer.
4110
4111 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4112
4113         * docs/upload.mak:
4114           Apparently docs changed location on FDO's server.
4115
4116 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4117
4118         * docs/pwg/appendix-checklist.xml:
4119           Add some random notes on things to check when writing an element.
4120           This list can be extended as people see fit.
4121
4122 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
4123
4124         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
4125         (gst_queue_link_src): Allow for renegotiating the caps of the sink
4126         pad. The queue will now wait until it is empty and forward the new
4127         caps to the source.
4128         * gst/gstbin.c (gst_bin_set_element_sched)
4129         (gst_bin_unset_element_sched): Make sure that all elements and
4130         links are registered and unregistered with the scheduler exactly
4131         once. This elaborates on a fix by Benjamin Otte, but
4132         guarantees that decoupled elements are also registered.
4133
4134 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4135
4136         * docs/manual/quotes.xml:
4137           add a quote
4138         * configure.ac:
4139         * gst/gst.c:
4140         * gst/gstinfo.c:
4141           add LIBDIR and move init message higher up so it's at the start
4142
4143 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4144
4145         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
4146         * gstreamer.spec.in: add fair
4147
4148 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4149
4150         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4151         * gst/elements/gstidentity.c: (gst_identity_class_init):
4152           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
4153           <teuf@gnome.org> (#157263).
4154         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4155         (gst_type_find_handle_src_query):
4156           Subtract size of internally stored data from position queries.
4157
4158 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
4159
4160         * gst/schedulers/fairscheduler.c:
4161         * gst/schedulers/faircothreads.c:
4162         * gst/schedulers/faircothreads.h:
4163         New cothread based scheduler: Fair scheduler.
4164         * gst/schedulers/gthread-cothreads.h: 
4165         Add the standard #if around the whole file.
4166         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
4167         compilation of the functions defined in this file. This is
4168         necessary to be able to use this file as a normal header.
4169         * gst/schedulers/Makefile.am: Add compiling support for fair
4170         scheduler.
4171         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
4172         scheduler cothreads layer from documentation generation.
4173
4174 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4175
4176         * gst/autoplug/gstspideridentity.c:
4177         (gst_spider_identity_sink_loop_type_finding):
4178           Don't crash if that function is not implemented.
4179
4180 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4181
4182         * docs/pwg/advanced-types.xml:
4183           Another typo.
4184
4185 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4186
4187         * docs/pwg/intro-preface.xml:
4188           Hm, ok, so the brackets weren't really useful...
4189         * docs/pwg/other-ntoone.xml:
4190           Fix embarassing typo.
4191
4192 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4193
4194         * docs/pwg/intro-preface.xml:
4195           Rewrite preface.
4196
4197 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4198
4199         * docs/pwg/advanced-scheduling.xml:
4200         * docs/pwg/advanced-tagging.xml:
4201         * docs/pwg/advanced-types.xml:
4202         * docs/pwg/building-boiler.xml:
4203         * docs/pwg/building-chainfn.xml:
4204         * docs/pwg/building-signals.xml:
4205         * docs/pwg/building-state.xml:
4206         * docs/pwg/building-testapp.xml:
4207         * docs/pwg/intro-basics.xml:
4208         * docs/pwg/other-manager.xml:
4209         * docs/pwg/other-source.xml:
4210           Typo fixes.
4211         * docs/pwg/other-manager.xml:
4212           Add some first content. No example code yet.
4213         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4214           Remove double newlines.
4215
4216 2004-11-04  Wim Taymans  <wim@fluendo.com>
4217
4218         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4219         (remove_from_group), (normalize_group), (group_migrate_connected),
4220         (gst_opt_scheduler_iterate):
4221         * testsuite/schedulers/.cvsignore:
4222         * testsuite/schedulers/Makefile.am:
4223         * testsuite/schedulers/queue_link.c: (main):
4224         Added testcase for scheduler segfault.
4225         Fix scheduler segfault when removing a decoupled
4226         entry point as the last element from a group.
4227
4228 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4229
4230         * gst/gstmarshal.list: add missing marshaller, fixes build
4231
4232 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4233
4234         * docs/random/signal: added notes about using BOXED for GstBuffer
4235         signal marshallers, not POINTER
4236
4237 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4238
4239         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4240         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
4241         POINTER=>BOXED changes to marshal GstBuffers
4242
4243 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4244
4245         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
4246         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
4247
4248 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
4249
4250         * docs/gst/gstreamer-sections.txt:
4251         * docs/gst/tmpl/gstcaps.sgml:
4252         * docs/gst/tmpl/gsterror.sgml:
4253         * docs/gst/tmpl/gstinfo.sgml:
4254         * docs/gst/tmpl/gstmacros.sgml:
4255         * docs/gst/tmpl/gstutils.sgml:
4256         * docs/random/ensonic/interfaces.txt:
4257         * gst/gstinfo.h:
4258           added some more docs, removed two obsolete defines
4259
4260 2004-11-02  Kjartan Maraas <as at gnome.org>
4261
4262         reviewed by: Wim Taymans, Ronald Bultje.
4263
4264         * gst/cothreads.c: (cothread_create):
4265         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4266         (gst_bin_child_state_change_func):
4267         * gst/gstbuffer.c: (gst_buffer_span):
4268         * gst/gstelement.c: (gst_element_get_index),
4269         (gst_element_get_event_masks), (gst_element_get_query_types),
4270         (gst_element_get_formats):
4271         * gst/gsterror.c: (_gst_core_errors_init),
4272         (_gst_library_errors_init), (_gst_resource_errors_init),
4273         (_gst_stream_errors_init):
4274         * gst/gstobject.c: (gst_object_default_deep_notify):
4275         * gst/gstpad.c: (gst_pad_get_event_masks),
4276         (gst_pad_get_internal_links_default):
4277         * gst/gstplugin.c: (gst_plugin_register_func),
4278         (gst_plugin_get_module):
4279         * gst/gststructure.c: (gst_structure_get_string),
4280         (gst_structure_get_abbrs), (gst_structure_from_abbr),
4281         (gst_structure_to_abbr):
4282         * gst/gstutils.c: (gst_print_element_args):
4283         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4284         (setup_group_scheduler), (gst_opt_scheduler_iterate):
4285         Aplied part of patch #157127: Cleanup of issues reported by 
4286         sparse.
4287         Also do not try to use cothreads when there is no cothread
4288         context yet.
4289
4290 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
4291
4292         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4293         (gst_opt_scheduler_iterate):
4294         Applied patch #154061. Running a pipeline in which an element 
4295         calls GST_ELEMENT_ERROR in the chain function, the opt 
4296         scheduler doesn't unref the chain so it never gets freed.
4297
4298 2004-11-02  Wim Taymans  <wim@fluendo.com>
4299
4300         * gst/gststructure.c: (gst_structure_get_abbrs),
4301         (gst_structure_from_abbr), (gst_structure_to_abbr):
4302         Remove that ugly if-then thing in the code that converts
4303         between strings and types.
4304
4305 2004-11-02  Wim Taymans  <wim@fluendo.com>
4306
4307         * gst/gstscheduler.c: (gst_scheduler_add_element),
4308         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
4309         Aplied clock distribution patch, this should fix bug
4310         #148787.
4311
4312 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4313
4314         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
4315
4316         * po/LINGUAS:
4317         * po/nb.po:
4318           Added Norwegian Bokmaal translation
4319
4320 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4321
4322         * tools/gst-inspect.c: (print_signal_info):
4323           print signal arguments as pointers if they are
4324
4325 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
4326
4327         * docs/pwg/building-boiler.xml:
4328           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
4329
4330 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4331
4332         * gst/parse/parse.l:
4333         * testsuite/parse/parse1.c: (main):
4334         Since parse can do 'element name=a:b' make 'a:b.' work as
4335         well. 
4336         Added testcase to verify fix.
4337
4338 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4339
4340         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
4341         Use the realpad when printing the direction.
4342         Add extra \n when printing extensions of typefind factories.
4343
4344 2004-10-13  David Schleef  <ds@schleef.org>
4345
4346         * examples/manual/Makefile.am: $< isn't portable in Makefile
4347         rules.
4348
4349 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
4350
4351         * docs/gst/tmpl/gstobject.sgml:
4352         * docs/gst/tmpl/gstplugin.sgml:
4353         * docs/gst/tmpl/gstpluginfeature.sgml:
4354         * docs/gst/tmpl/gstregistry.sgml:
4355         * docs/gst/tmpl/gstversion.sgml:
4356         * gst/gstbin.c:
4357           more api documentation
4358         * gst/gstplugin.c: (gst_plugin_register_func),
4359         (gst_plugin_check_file), (gst_plugin_load_file):
4360           better error signaling and logging
4361
4362 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4363
4364         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
4365           Subtract current queue contents from position queries.
4366
4367 2004-10-11  Johan Dahlin  <johan@gnome.org>
4368
4369         * gst/gsturi.c (gst_uri_get_location): unescape string
4370         (gst_uri_construct): escape string.
4371
4372 2004-10-11  Benjamin Otte  <otte@gnome.org>
4373
4374         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
4375         (gst_pad_try_set_caps_nonfixed):
4376           allow renegotiation of unconnected pads (as inside spider). Simply
4377           return OK if unconnected - mimic try_set_caps there.
4378
4379 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4380
4381         * gst/gstbin.c: (gst_bin_sync_children_state):
4382           Add missing break.
4383
4384 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4385
4386         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
4387         Set element to EOS before sending EOS event
4388
4389 2004-10-08  Wim Taymans  <wim at fluendo dot com>
4390
4391         * gst/elements/gsttypefindelement.c:
4392         (gst_type_find_element_handle_event):
4393         Handle EOS events when doing the transition from
4394         typefind to data passing. This should fix the
4395         infinite loops in short files.
4396
4397 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4398
4399         * gst/gstthread.c: (gst_thread_change_state),
4400         (gst_thread_child_state_change):
4401         Make sure no iteration happens while performing
4402         the state change as it could mess up the internal
4403         consistency of the thread state.
4404
4405 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4406
4407         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
4408         (gst_thread_change_state), (gst_thread_child_state_change):
4409         Do not try to grab the iterate lock in the state change method
4410         when we are in the same thread as the iterate or else we
4411         could deadlock. Some other cleanups.
4412
4413 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4414
4415         * configure.ac:
4416           bump nano to cvs
4417
4418 === release 0.8.7 ===
4419
4420 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4421
4422         * configure.ac:
4423         * NEWS:
4424         * RELEASE:
4425         * configure.ac:
4426           releasing 0.8.7, "A Cruise"
4427
4428 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4429
4430         * docs/random/mimetypes:
4431         Add an entry for Sony ATRAC3 audio format with mime-type
4432         used by rmdemux et riff-read
4433
4434 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4435
4436         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4437         Push the buffer store instead of clearing it in case that
4438         the stream is not seekable.
4439
4440 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4441
4442         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
4443         (gst_thread_main_loop):
4444         Lock the iteration and the state change so that automatic
4445         negotiation and fixation does not happen at the same time
4446         as the in stream negotiation.
4447
4448 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4449
4450         * configure.ac:
4451           bump nano to cvs
4452
4453 === release 0.8.6 ===
4454
4455 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4456
4457         * configure.ac:
4458         * NEWS:
4459         * RELEASE:
4460         * configure.ac:
4461           releasing 0.8.6, "Narc"
4462
4463 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4464
4465         * configure.ac:
4466           prerel bump
4467
4468 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4469
4470         patch by: Steve Lhomme
4471
4472         * gst/elements/gstfakesrc.c:
4473         * gst/elements/gstidentity.c:
4474         * gst/gstthread.c:
4475           Fix for #153881
4476
4477 2004-10-01  Wim Taymans  <wim at fluendo dot com>
4478
4479         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
4480         Fix threadsafety of the crc checking function.
4481
4482 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4483
4484         patch by: Ronald Bultje
4485
4486         * gst/elements/gsttypefindelement.c: (stop_typefinding),
4487         (gst_type_find_element_handle_event),
4488         (gst_type_find_element_chain):
4489         * gst/elements/gsttypefindelement.h:
4490          #153657.
4491          Filter out discont event from seekable sources when typefind
4492          asks them to seek.  Fixes typefind with demuxers for
4493          avi, asf and matroska.
4494
4495 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4496
4497         * docs/gst/gstreamer-sections.txt:
4498         * gst/gstcaps.c:
4499         * gst/gstcaps.h:
4500         * gst/gstpad.c:
4501           Revert preferred caps: (#147789)
4502
4503 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
4504
4505         * win32/dirent.c:
4506           fix a memory leak
4507
4508 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4509
4510         * configure.ac:
4511           bump for prerelease
4512
4513 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4514
4515         * docs/Makefile.am:
4516         * docs/manual/elements-api.xml:
4517           restructure so that common stuff is shown first
4518         * docs/manual/init-api.xml:
4519           convert to examples
4520         * docs/manual/manual.xml:
4521         * docs/manuals.mak:
4522         * docs/url.entities:
4523           link to API on the website, possibly override later in build
4524         * examples/manual/.cvsignore:
4525           ignore more
4526         * examples/manual/Makefile.am:
4527           add more examples
4528         * examples/manual/extract.pl:
4529           error out on failure
4530
4531 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4532
4533         * docs/gst/tmpl/gstthread.sgml:
4534         * docs/manual/init-api.xml:
4535         * examples/manual/Makefile.am:
4536           convert two code bits to examples
4537
4538 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4539
4540         * gst/gstelement.c: (gst_element_change_state):
4541           Well, actually, I was about to remove this insane assert when
4542           I noticed Wim already did that. A warning is nice so we can
4543           fix actual ugs (using --g-fatal-warnings and backtraces), so
4544           I added that instead.
4545
4546 2004-09-06  Wim Taymans  <wim@fluendo.com>
4547
4548         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
4549         (gst_element_threadsafe_properties_post_run),
4550         (gst_element_set_state), (gst_element_change_state):
4551         Added extra refcounting around various places. 
4552
4553 2004-09-06  Wim Taymans  <wim@fluendo.com>
4554
4555         * gst/gstpad.c: (gst_pad_link_call_link_functions):
4556         Fix debug info.
4557
4558 2004-09-06  Wim Taymans  <wim@fluendo.com>
4559
4560         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4561         (remove_from_group):
4562         Some more debug info.
4563
4564 2004-09-03  Wim Taymans  <wim@fluendo.com>
4565
4566         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4567         (gst_fakesrc_init), (gst_fakesrc_set_clock),
4568         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4569         (gst_fakesrc_get), (gst_fakesrc_change_state):
4570         * gst/elements/gstfakesrc.h:
4571         * gst/elements/gstidentity.c: (gst_identity_class_init),
4572         (gst_identity_init), (gst_identity_chain),
4573         (gst_identity_set_property), (gst_identity_get_property),
4574         (gst_identity_change_state):
4575         * gst/elements/gstidentity.h:
4576         Added datarate properties to limit the datarate.
4577
4578 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4579
4580         * gst/autoplug/gstspider.c: (plugin_init):
4581           don't set a rank. We don't want to autoplug by inserting spiders.
4582
4583 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4584
4585         * gst/autoplug/gstspider.c: (gst_spider_class_init),
4586         (gst_spider_identity_plug):
4587           add a template for spider's sink
4588         * gst/gst.c: (gst_register_core_elements):
4589           queue's rank should be NULL, we don't want spider to add it.
4590
4591 2004-08-18  David Schleef  <ds@schleef.org>
4592
4593         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
4594         * docs/libs/Makefile.am: same
4595         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
4596         * docs/random/ds/0.9-planning: random additions
4597         * docs/random/ds/0.9-suggested-changes: same
4598         * gst/gstxml.h: remove vestigal GstXMLNs definition
4599
4600         Preferred caps: (#147789)
4601         * docs/gst/gstreamer-sections.txt: Add symbols
4602         * docs/gst/tmpl/gstcaps.sgml: Add symbols
4603         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
4604         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
4605         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
4606         (gst_caps_get_preferred), (gst_caps_set_preferred),
4607         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
4608         (gst_caps_use_preferred): Handle caps preferences
4609         * gst/gstcaps.h: Add caps preferences
4610         * gst/gstpad.c: (gst_pad_link_get_preferred),
4611         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
4612         (gst_pad_renegotiate), (gst_pad_guess_preferred),
4613         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
4614         negotiation.
4615
4616 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4617
4618         * gst/autoplug/gstspideridentity.c:
4619         (gst_spider_identity_request_new_pad):
4620         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
4621         (gst_aggregator_init):
4622         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4623         (gst_fakesink_init):
4624         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4625         (gst_fakesrc_init):
4626         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
4627         (gst_fdsink_init):
4628         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
4629         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
4630         (gst_filesink_init):
4631         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4632         (gst_filesrc_init):
4633         * gst/elements/gstidentity.c: (gst_identity_base_init),
4634         (gst_identity_init):
4635         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
4636         (gst_multifilesrc_init):
4637         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
4638         (gst_pipefilter_init):
4639         * gst/elements/gststatistics.c: (gst_statistics_base_init),
4640         (gst_statistics_init):
4641         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
4642         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
4643           s/gst_pad_new/&_from_template/
4644           register pad templates in the base_init function
4645           add static pad template definitions
4646
4647 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4648
4649         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
4650         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
4651         * testsuite/refcounting/pad.c: (main):
4652         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
4653           s/gst_pad_new/&_from_template/
4654           prepare deprecation of gst_pad_new
4655
4656 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4657
4658         patch by: Luca Ognibene <skaboy81@virgilio.it>
4659
4660         * gst/gstcaps.c:
4661         * gst/gstelement.c:
4662         * gst/gstpad.c:
4663         * gst/gstxml.c:
4664           fix memleaks.  Fixes #150001
4665
4666 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4667
4668         * docs/random/ds/0.9-suggested-changes:
4669           add notes - mostly about pad templates
4670
4671 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
4672
4673         * win32/GStreamer.vcproj:
4674           temporary locale files are .gmo not .mo
4675
4676 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4677
4678         * configure.ac: bump nano to cvs
4679
4680 === release 0.8.5 ===
4681
4682 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4683
4684         * configure.ac:
4685           releasing 0.8.5, "Stuttgart"
4686         * NEWS:
4687         * RELEASE:
4688         * configure.ac:
4689         * docs/random/release:
4690           updates for release
4691
4692 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4693
4694         patch by: Wim Taymans (wim@fluendo.com)
4695
4696         * gst/gstbuffer.c:
4697         * gst/gstindex.h:
4698         * libs/gst/dataprotocol/dataprotocol.c:
4699           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
4700
4701 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4702
4703         * Makefile.am:
4704         * win32/MANIFEST:
4705           add win32 dir to the build.  Fixes #149981.
4706
4707 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4708
4709         * configure.ac:
4710           bump libtool versioning
4711         * gst/gststructure.c:
4712           mark function as static
4713         * po/af.po:
4714         * po/az.po:
4715         * po/ca.po:
4716         * po/cs.po:
4717         * po/en_GB.po:
4718         * po/fr.po:
4719         * po/nl.po:
4720         * po/sq.po:
4721         * po/sr.po:
4722         * po/sv.po:
4723         * po/tr.po:
4724         * po/uk.po:
4725           translations update
4726         * win32/README.txt:
4727           trademark protection
4728
4729 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4730
4731         * configure.ac:
4732           fix GST_ORIGIN
4733           set GST_PACKAGE to source, and distinguish between release and other
4734         * tools/gst-inspect.c:
4735           print out plugin an element factory is part of so we see this info
4736
4737 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4738
4739         * docs/gst/gstreamer-sections.txt:
4740         * docs/gst/tmpl/gstbuffer.sgml:
4741         * docs/gst/tmpl/gstschedulerfactory.sgml:
4742           reorder docs a little, make GstBuffer's more sensible.
4743         * gst/gstbuffer.h:
4744           API: added GST_BUFFER_FLAG_DELTA_UNIT
4745         * gst/gstscheduler.c:
4746           comment API addition
4747
4748 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4749
4750         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
4751           work with non-regular files that can be mmapped (like /dev/zero)
4752         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
4753           get rid of typefinds that require a seek when we can't seek instead
4754           of trying them over and over again
4755         * tools/gst-launch.c: (idle_func), (error_cb), (main):
4756           return non-zero failure value when the pipeline was interrupted or
4757           an error occurred
4758
4759 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4760
4761         * win32/config.h:
4762         * win32/GStreamer.vcproj:
4763           compile and install the locales
4764
4765 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4766
4767         * gst/gstvalue.c:
4768           fix a possible memory leak under Windows
4769
4770 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4771
4772         * win32/GStreamer.vcproj:
4773           fix a memory leak that occured under Windows
4774         * win32/gstreamer.def:
4775           add gst_scheduler_register
4776
4777 2004-08-11  Benjamin Otte  <otte@gnome.org>
4778
4779         * docs/gst/gstreamer-sections.txt:
4780         * gst/gstscheduler.c: (gst_scheduler_register):
4781         * gst/gstscheduler.h:
4782           API:
4783           add gst_scheduler_register shortcut similar to gst_element_register
4784         * gst/schedulers/entryscheduler.c: (plugin_init):
4785         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
4786         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
4787           use it
4788
4789 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
4790
4791         * gst/gstvalue.h:
4792           fix a memory leak that occured under Windows
4793
4794 2004-08-10  Colin Walters  <walters@redhat.com>
4795
4796         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
4797         Don't use O_EXCL to open temporary registry.  It will prevent
4798         registry creation if a temporary one already exists, which
4799         is unnecessary.
4800
4801 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4802
4803         * docs/gst/gstreamer-sections.txt:
4804         * docs/gst/tmpl/gstvalue.sgml:
4805           remove some valuable stuff from the documentation due to the use of GST_EXPORT
4806
4807 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4808
4809         * win32/gstbytestream.vcproj:
4810         * win32/gstelements.vcproj:
4811         * win32/gstgetbits.vcproj:
4812         * win32/gst-inspect.vcproj:
4813         * win32/gst-launch.vcproj:
4814         * win32/gstoptimalscheduler.vcproj:
4815         * win32/GStreamer.vcproj:
4816         * win32/gst-register.vcproj:
4817         * win32/gstspider.vcproj:
4818           update the include and lib dirs to fit standard libraries as
4819           described in the Win32 manual
4820
4821 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4822
4823         * win32/config.h:
4824         * win32/gstversion.h:
4825           enable NLS again, push the version number for the coming 0.8.5 release
4826
4827 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4828
4829         * gst/gstvalue.h:
4830           export gst_type_XXX for windows DLLs
4831
4832 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4833
4834         * docs/faq/gst-uninstalled:
4835           fix PKG_CONFIG_PATH and PYTHONPATH
4836         * gst/schedulers/Makefile.am:
4837           cleanup
4838         * libs/gst/bytestream/bytestream.c:
4839           remove newline
4840         * po/LINGUAS:
4841         * po/sq.po:
4842           adding Albanian translation (Laurent Dhima)
4843         * po/cs.po:
4844           updated
4845
4846 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4847
4848         * po/ca.po:
4849         * po/sv.po:
4850           updated translations
4851
4852 2004-08-04  Benjamin Otte  <otte@gnome.org>
4853
4854         * tests/mass_elements.c: (main):
4855           allow specifying src and sink element explicitly, so I can test
4856           videotestsrc instead of fakesrc
4857
4858 2004-08-04  Benjamin Otte  <otte@gnome.org>
4859
4860         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
4861         (gst_structure_id_empty_new), (gst_structure_empty_new),
4862         (gst_structure_copy):
4863           add gst_structure_id_empty_new_with_size to allow preallocating
4864           value array sizes. Use this in gst_structure_copy to get rid of
4865           reallocs.
4866           don't do quark=>string=>quark when copying structures
4867
4868 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
4869
4870         * docs/manual/win32.xml:
4871         * win32/README.txt:
4872           update documentation with the clean version of dependencies
4873
4874 2004-08-03  Benjamin Otte  <otte@gnome.org>
4875
4876         * gst/schedulers/entryscheduler.c:
4877         (gst_entry_scheduler_remove_element):
4878           fix for GST_DISABLE_DEBUG
4879         * tools/gst-launch.c: (print_tag):
4880           fixes for G_DISABLE_ASSERT
4881
4882 2004-08-03  Benjamin Otte  <otte@gnome.org>
4883
4884         * gst/gst.c: (gst_register_core_elements):
4885           fix for G_DISABLE_ASSERT
4886         * gst/gstinfo.c: (__gst_in_valgrind):
4887           add for GST_DISABLE_DEBUG
4888
4889 2004-08-03  Benjamin Otte  <otte@gnome.org>
4890
4891         * gst/parse/parse.l:
4892           fix for G_DISABLE_ASSERT
4893
4894 2004-08-03  Wim Taymans  <wim@fluendo.com>
4895
4896         * gst/gstbin.c: (gst_bin_get_type),
4897         (gst_bin_child_state_change_func):
4898         * gst/gstthread.c: (gst_thread_change_state):
4899         Backported some debug logging from a reverted patch
4900         Don't try to destroy the thread twice. Added some more
4901         debugging in GstThread. Unlock and signal even if we
4902         are in the thread context.
4903
4904 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4905
4906         * po/uk.po:
4907           updated translation
4908
4909 2004-07-30  David Schleef  <ds@schleef.org>
4910
4911         * gst/gstatomic_impl.h: Enable atomic code for x86_64
4912
4913 2004-07-29  David Schleef  <ds@schleef.org>
4914
4915         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
4916         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
4917
4918 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4919
4920         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
4921         (gst_bin_add_func), (gst_bin_remove_func),
4922         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
4923         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
4924         (gst_bin_change_state_norecurse), (gst_bin_dispose),
4925         (gst_bin_sync_children_state):
4926         * gst/gstbin.h:
4927         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
4928         (gst_thread_change_state):
4929         * testsuite/states/Makefile.am:
4930           revert state change patches as agreed so we can rework them
4931           gradually
4932
4933 2004-07-29  Benjamin Otte  <otte@gnome.org>
4934
4935         * libs/gst/control/Makefile.am:
4936           link to libgstreamer (fixes Debian bug 262019, see
4937           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
4938
4939 2004-07-29  Wim Taymans  <wim@fluendo.com>
4940
4941         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
4942         (check_from_fraction_convert), (transform_test), (main):
4943         Make the test less pedantic about float roundoff errors.
4944
4945 2004-07-29  Benjamin Otte  <otte@gnome.org>
4946
4947         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
4948         (gst_filesrc_srcpad_event):
4949           make seek events to before start/after end of file not fail, but
4950           seek to start/end instead
4951         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
4952           add more output
4953
4954 2004-07-29  Benjamin Otte  <otte@gnome.org>
4955
4956         * gst/gstpad.c: (gst_pad_set_explicit_caps):
4957           check that caps are fixed
4958         * gst/gstpad.c: (gst_pad_template_new):
4959           don't try to simplify caps, costs too much time on gst_init
4960         * gst/gstplugin.c: (gst_plugin_add_feature):
4961           G_ERROR if features are added twice
4962         * gst/gsttypefind.c: (gst_type_find_register):
4963         * gst/gstelementfactory.c: (gst_element_register):
4964           don't add features twice
4965         * docs/random/ds/0.9-suggested-changes:
4966           add note about possible gst_init optimization
4967
4968 2004-07-28  David Schleef  <ds@schleef.org>
4969
4970         * testsuite/elements/Makefile.am:
4971         * testsuite/elements/struct_i386.h:
4972         * testsuite/elements/struct_size.c: (main):  A little test
4973         to keep distcheck from working if someone changes a structure
4974         size accidentally.
4975
4976 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4977
4978         * docs/libs/Makefile.am:
4979         * docs/libs/gstreamer-libs-docs.sgml:
4980         * docs/libs/gstreamer-libs-sections.txt:
4981         * docs/libs/tmpl/gstbytestream.sgml:
4982         * docs/libs/tmpl/gstcontrol.sgml:
4983         * docs/libs/tmpl/gstdataprotocol.sgml:
4984         * docs/libs/tmpl/gstgetbits.sgml:
4985         * libs/gst/bytestream/Makefile.am:
4986         * libs/gst/bytestream/bytestream.c:
4987         * libs/gst/bytestream/bytestream.h:
4988         * libs/gst/control/Makefile.am:
4989         * libs/gst/dataprotocol/Makefile.am:
4990         * libs/gst/getbits/Makefile.am:
4991         * libs/gst/getbits/getbits.h:
4992           various doc and style fixes, adding bytestream to libs docs.
4993
4994 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4995
4996         * docs/gst/gstreamer-docs.sgml:
4997         * docs/libs/Makefile.am:
4998         * docs/libs/gstreamer-libs-docs.sgml:
4999         * docs/libs/gstreamer-libs-sections.txt:
5000         * libs/gst/control/dparam.c:
5001           more doc fixes.  gst-libs docs now build the same way as gst.
5002
5003 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5004
5005         * configure.ac:
5006         * testsuite/Makefile.am:
5007         * testsuite/bins/Makefile.am:
5008         * testsuite/caps/Makefile.am:
5009         * testsuite/cleanup/Makefile.am:
5010         * testsuite/clock/Makefile.am:
5011         * testsuite/debug/Makefile.am:
5012         * testsuite/dlopen/Makefile.am:
5013         * testsuite/dynparams/Makefile.am:
5014         * testsuite/elements/.cvsignore:
5015         * testsuite/elements/Makefile.am:
5016         * testsuite/enumcaps/Makefile.am:
5017         * testsuite/enumcaps/enumcaps.c:
5018         * testsuite/ghostpads/Makefile.am:
5019         * testsuite/indexers/Makefile.am:
5020         * testsuite/negotiation/Makefile.am:
5021         * testsuite/parse/Makefile.am:
5022         * testsuite/plugin/Makefile.am:
5023         * testsuite/refcounting/Makefile.am:
5024         * testsuite/schedulers/.cvsignore:
5025         * testsuite/states/Makefile.am:
5026         * testsuite/tags/Makefile.am:
5027         * testsuite/threads/Makefile.am:
5028           fold enumcaps into caps dir
5029           clean up Makefile.am's for testsuite
5030
5031 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5032
5033         * docs/gst/Makefile.am:
5034         * docs/libs/Makefile.am:
5035           clean up docs build.  Fixes needless rebuilding of template files.
5036
5037 2004-07-28  Wim Taymans  <wim@fluendo.com>
5038
5039         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
5040         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
5041         Make sure that a bin state change tries to keep the children
5042         in sync. 
5043         Added debug logging to the thread.
5044
5045 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5046
5047         * win32/GStreamer.vcproj:
5048         * win32/gstreamer.def:
5049           more exports for the plugins
5050
5051 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5052
5053         * win32/gstgetbits.vcproj:
5054         * win32/gstgetbits.def:
5055         * win32/msvc71.sln:
5056           add support for the getbits plugin
5057
5058 2004-07-27  Wim Taymans  <wim@fluendo.com>
5059
5060         * gst/gstvalue.c: (gst_value_transform_double_fraction),
5061         (gst_value_transform_fraction_double), (_gst_value_initialize):
5062         * testsuite/caps/Makefile.am:
5063         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
5064         (check_from_fraction_convert), (transform_test), (main):
5065         Added transform functions between double and fraction.
5066         Added testcase to verify transforms
5067
5068 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5069
5070         * win32/GStreamer.vcproj:
5071           rename GStreamer-0.8.lib to libgstreamer.lib
5072
5073 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5074
5075         * win32/gstelements.vcproj:
5076         * win32/gstoptimalscheduler.vcproj:
5077           fixes for the Release build
5078
5079 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5080
5081         * win32/config.h:
5082           update the version number
5083
5084 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5085
5086         * win32/GStreamer.vcproj:
5087           add gstinterface to the build
5088
5089 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5090
5091         * win32/gstreamer.def:
5092           add many definitions needed by plugins,
5093           GST_CAT_DEFAULT only available in the Debug build ?
5094
5095 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5096
5097         * gst/gstelement.c: (gst_element_set_eos_recursive):
5098           various whitespace fixes.
5099           doc fix, fixes #148497
5100
5101 2004-07-25  Benjamin Otte  <otte@gnome.org>
5102
5103         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
5104           don't delay links on the sink elements, it causes unnegotiated
5105           links.
5106         * gst/elements/gsttypefindelement.c:
5107         (gst_type_find_element_base_init):
5108           add our padtemplates, we indeed do have some.
5109         * gst/elements/gsttypefindelement.c:
5110         (gst_type_find_element_handle_event),
5111         (gst_type_find_element_chain):
5112           don't push data when typefinding failed.
5113         * gst/gstpad.c: (gst_pad_link_fixate):
5114           check that no fixate function returns empty caps.
5115         * gst/gstpad.c: (gst_pad_push):
5116           check that the link is negotiated before data gets pushed.
5117         * tools/gst-register.c: (main):
5118           don't assert (fixes #148283)
5119
5120 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5121
5122         * docs/gst/gstreamer-sections.txt:
5123         * docs/gst/tmpl/gstconfig.sgml:
5124           add GST_PLUGIN_EXPORT definition
5125
5126 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5127
5128         * gst/gstplugin.h:
5129         * gst/gstconfig.h.in:
5130         * win32/gstconfig.h:
5131         * win32/gstelements.def:
5132         * win32/gstelements.vcproj:
5133         * win32/gstoptimalscheduler.def:
5134         * win32/gstoptimalscheduler.vcproj:
5135         * win32/gstspider.def:
5136         * win32/gstspider.vcproj:
5137           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
5138
5139 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5140
5141         * docs/gst/gstreamer-sections.txt:
5142           remove GST_CAT_DEFAULT because the type has changed
5143
5144 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5145
5146         * win32/gstbytestream.vcproj:
5147         * win32/gstelements.vcproj:
5148         * win32/gst-inspect.vcproj:
5149         * win32/gst-launch.vcproj:
5150         * win32/gstoptimalscheduler.vcproj:
5151         * win32/GStreamer.vcproj:
5152         * win32/gst-register.vcproj:
5153         * win32/gstspider.vcproj:
5154         * win32/msvc71.sln:
5155           Copy the files where needed after building, The testsuite will be
5156           built separately
5157
5158 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5159
5160         * win32/config.h:
5161         * win32/README.txt:
5162         * docs/manual/win32.xml:
5163         Fixed the plugin and GStreamer location
5164
5165 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5166
5167         * win32/gstreamer.def:
5168         More exports for the plugins
5169
5170 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5171
5172         * gst/gstinfo.h:
5173         Marc was right, we need to export literally GST_CAT_DEFAULT
5174
5175 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5176
5177         * win32/config.h:
5178         NLS crashes in gettext, disabled until this is solved
5179
5180 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5181
5182         * win32/gst-inspect.vcproj:
5183         * win32/gst-launch.vcproj:
5184         Should use NLS when available
5185
5186 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5187
5188         * gst/registries/gstxmlregistry.c:
5189         removing the file doesn't seem to be a good idea on Linux
5190
5191 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5192
5193         * gst/registries/gstxmlregistry.c:
5194         Remove the registry before renaming the tempfile (needed for Windows)
5195
5196 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5197
5198         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
5199         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
5200         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
5201         * gst/elements/gstmultifilesrc.h:
5202         Added newmedia property so it generates newmedia events between each
5203         file when property is set, as well as fixed eos handling
5204
5205 2004-07-22  David Schleef  <ds@schleef.org>
5206
5207         * gst/gststructure.c: (gst_structure_id_empty_new),
5208         (gst_structure_empty_new):  Set type field correctly.
5209         * gst/gststructure.h: Check type field correctly.
5210         * testsuite/caps/Makefile.am:
5211         * testsuite/caps/structure.c: (test1), (main): Add a very small
5212         test for structures.
5213
5214 2004-07-22  David Schleef  <ds@schleef.org>
5215
5216         * docs/random/ds/0.9-suggested-changes: more comments
5217         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
5218
5219 2004-07-22  Benjamin Otte  <otte@gnome.org>
5220
5221         * gst/gstelementfactory.c: (gst_element_register):
5222           set the factory in the class struct, so gst_element_get_factory
5223           actually works
5224         * gst/parse/grammar.y:
5225           set element to playing when it gets unlocked as we can't rely on the
5226           bin state - all elements in the bin state might still be locked in
5227           NULL)
5228
5229 2004-07-22  Benjamin Otte  <otte@gnome.org>
5230
5231         * gst/gstelement.c: (gst_element_set_state_func):
5232           make this a static function
5233
5234 2004-07-22  Wim Taymans  <wim@fluendo.com>
5235
5236         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
5237         (gst_opt_scheduler_pad_link):
5238         fix 147894-2 and the group_link problem.
5239
5240 2004-07-22  Wim Taymans  <wim@fluendo.com>
5241
5242         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5243         (handoff_identity), (main):
5244         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5245         (handoff_identity), (main):
5246         * testsuite/schedulers/Makefile.am:
5247         * testsuite/schedulers/group_link.c: (main):
5248         Show bug in scheduler when linking chain and loop based element 
5249         where the chain based element was not yet in a group.
5250
5251 2004-07-21  Benjamin Otte  <otte@gnome.org>
5252
5253         * gst/.cvsignore:
5254         * gst/autoplug/.cvsignore:
5255         * gst/elements/.cvsignore:
5256         * gst/indexers/.cvsignore:
5257         * libs/gst/bytestream/.cvsignore:
5258         * libs/gst/control/.cvsignore:
5259         * libs/gst/getbits/.cvsignore:
5260         * testsuite/states/.cvsignore:
5261         * testsuite/threads/.cvsignore:
5262           keep this up to date, since I seem to be the only one who cares
5263           about not missing files on commits (editor's note: no you don't,
5264           but feel free to change them at the time you add stuff instead
5265           of later on)
5266
5267 2004-07-21  Benjamin Otte  <otte@gnome.org>
5268
5269         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5270         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
5271         (gst_bin_child_state_change_func), (set_kid_state_func),
5272         (gst_bin_set_state), (gst_bin_change_state_norecurse):
5273           make state changes work correctly and reentrant (so removing
5274           elements from bins during state changes of bins doesn't cause
5275           segfaults or even wrong states)
5276           add debugging category and debugging output to print children states
5277         * gst/gstbin.c: (gst_bin_dispose): 
5278           add some assertion checks
5279         * gst/gstbin.h:
5280         * gst/gstbin.c: (gst_bin_sync_children_state):
5281           deprecate this function - it just does gst_bin_set_state (bin,
5282           GST_STATE (bin)) 
5283         * testsuite/threads/queue.c: (main):
5284           don't use gst_bin_sync_children_state anymore
5285         * testsuite/states/Makefile.am:
5286         * testsuite/states/bin.c:
5287           test that the state changes of bins work as expected
5288         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
5289           some adjustments to change states correctly, too
5290         * gst/gstthread.c: (gst_thread_change_state):
5291           don't enable/disable "threadsafe" properties, they're unused and
5292           cause random segfaults
5293         * testsuite/threads/Makefile.am:
5294           the queue check randomly passes now, ignore it
5295
5296 2004-07-21  Benjamin Otte  <otte@gnome.org>
5297
5298         * gst/gstpad.c:
5299           check if data is NULL before outputting debug info. (fixes #145100)
5300
5301 2004-07-21  Benjamin Otte  <otte@gnome.org>
5302
5303         * gst/schedulers/entryscheduler.c:
5304         (gst_entry_scheduler_loop_wrapper),
5305         (gst_entry_scheduler_chain_wrapper),
5306         (gst_entry_scheduler_get_wrapper):
5307           reset the state when the cothread starts, so we don't get assertion
5308           failures on restarting of cothreads
5309
5310 2004-07-20  Benjamin Otte  <otte@gnome.org>
5311
5312         * gst/gstelement.c: (gst_element_link_pads_filtered):
5313           use correct sinkpad, if only sinkpad is specified, but not srcpad
5314           (fixes #147889)
5315         * gst/gstelement.c: (gst_element_set_state_func),
5316         (gst_element_change_state): ref/unref the element, signal handlers
5317         could get rid of the element otherwise
5318
5319 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5320
5321         * docs/random/ds/0.9-suggested-changes:
5322           Make note about renaming fixed-list to array.
5323         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
5324         (_gst_value_initialize):
5325           Add array intersections.
5326         * testsuite/caps/intersect2.c: (main):
5327           Add test for array intersections.
5328
5329 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5330
5331         * configure.ac: back to cvs
5332
5333 === release 0.8.4 ===
5334
5335 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5336
5337         * configure.ac:
5338           releasing 0.8.4, "Paella"
5339           bump libtool versioning
5340
5341 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5342
5343         * po/LINGUAS:
5344         * po/ca.po:
5345           adding Catalan translation (Jordi Mallach)
5346
5347 2004-07-20  Wim Taymans  <wim@fluendo.com>
5348
5349         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5350         (handoff_identity), (main):
5351         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5352         (handoff_identity), (main):
5353         * testsuite/schedulers/Makefile.am:
5354         Added failing testcase for variant of #147894
5355
5356 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5357
5358         patch by: David Moore
5359
5360         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5361         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
5362         (group_migrate_connected):
5363         * testsuite/schedulers/Makefile.am:
5364           fix for #142813 (Deadlock in optimal scheduler)
5365
5366 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5367
5368         patch by: Wim Taymans
5369
5370         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5371         (gst_opt_scheduler_schedule_run_queue),
5372         (gst_opt_scheduler_get_wrapper), (get_group),
5373         (group_migrate_connected):
5374         * testsuite/schedulers/Makefile.am:
5375           fix for #147819 (Add some checks in the opt scheduler)
5376
5377 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5378
5379         patch by: Benjamin Otte
5380
5381         * gst/gstelementfactory.c: (__gst_element_details_set):
5382           fix for #147929: running gst-register in non-utf8 locale can cause
5383           invalid registry
5384
5385 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5386
5387         patch by: Wim Taymans
5388
5389         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
5390         (group_has_element), (element_get_reachables_func),
5391         (group_migrate_connected):
5392           fix for #147894 (opt scheduler decoupled elements mismanagement)
5393         * testsuite/schedulers/Makefile.am:
5394           testsuite app now passes
5395
5396 2004-07-19  Wim Taymans  <wim@fluendo.com>
5397
5398         * testsuite/schedulers/147819.c: (handoff_identity1),
5399         (handoff_identity2), (main):
5400         * testsuite/schedulers/Makefile.am:
5401         Added testcase for bug 147819
5402
5403 2004-07-19  Wim Taymans  <wim@fluendo.com>
5404
5405         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5406         (handoff_identity), (main):
5407         * testsuite/schedulers/Makefile.am:
5408         Added testcase for bug 147894
5409
5410 2004-07-16  Wim Taymans  <wim@fluendo.com>
5411
5412         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
5413         * testsuite/schedulers/142183.c: (handoff_identity), (main):
5414         * testsuite/schedulers/Makefile.am:
5415         Added testsuite for bug 142183 in its two incarnations. Refcount
5416         is not increased for scheduled elements and threadsafe properties
5417         mutexes are not properly unlocked.
5418
5419 2004-07-16  Wim Taymans  <wim@fluendo.com>
5420
5421         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
5422         (create_chain), (destroy_chain), (create_group), (destroy_group),
5423         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
5424         (group_dec_link), (gst_opt_scheduler_pad_link),
5425         (group_inc_links_for_element), (group_migrate_connected):
5426         Call group_inc_link with the proper src->sink ordering -- 
5427         break this, and we break sort_chain. patch from wingo for bug
5428         147713.
5429         Partially revert patch 1.89. When adding a loop based element to 
5430         the scheduler, the links to other groups are automatically followed
5431         and incremented. This should not happen because the bin will call
5432         pad_link explicitly for those connection, resulting in them counted 
5433         twice. Results in assertion failure on pipeline cleanup.
5434
5435 2004-07-16  Wim Taymans  <wim@fluendo.com>
5436
5437         * testsuite/schedulers/143777-2.c: (main):
5438         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
5439         (main):
5440         * testsuite/schedulers/Makefile.am:
5441         Added cleanup code to testcase 143777-2.
5442         Added testcase to show bug 147713, does not really show the
5443         deadlock as I can't figure out how to trigger it, but it does
5444         demonstrate bad ordering in the scheduler.
5445
5446 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5447
5448         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5449           change strndup to g_strndup.  Fixes #147707
5450
5451 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5452
5453         * po/af.po:
5454         * po/az.po:
5455         * po/cs.po:
5456         * po/en_GB.po:
5457         * po/fr.po:
5458         * po/nl.po:
5459         * po/sr.po:
5460         * po/sv.po:
5461         * po/tr.po:
5462         * po/uk.po:
5463           updated translations
5464
5465 2004-07-16  Benjamin Otte  <otte@gnome.org>
5466
5467         * gst/gstvalue.c: (gst_greatest_common_divisor):
5468           use ints and return ints, fractions only use ints, too, so this
5469           avoids accidently casting multiplications to unsigned
5470         (gst_value_lcopy_fraction): it's ints, not uint32
5471         (gst_value_set_fraction): disallow minint, multiplying and negation
5472           are broken with it
5473         (gst_value_fraction_multiply): fix to make large numbers work and get
5474         rid of the assumption that the multiplication of two ints fits an
5475         int64 - dunno if that's true for all systems
5476         * testsuite/caps/Makefile.am:
5477         * testsuite/caps/fraction-multiply-and-zero.c:
5478         (check_multiplication), (check_equal), (zero_test), (main):
5479           add tests for all the stuff above
5480         * testsuite/caps/value_compare.c: (test1):
5481           fix comment
5482         * tests/.cvsignore:
5483         * testsuite/caps/.cvsignore:
5484         * testsuite/debug/.cvsignore:
5485         * testsuite/dlopen/.cvsignore:
5486         * testsuite/states/.cvsignore:
5487           get up to date
5488
5489 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5490
5491         * docs/manual/bins-api.xml:
5492         * docs/manual/factories.xml:
5493         * docs/manual/helloworld.xml:
5494         * docs/manual/links-api.xml: 
5495           fixes for out of date info, incorrect info and grammar
5496
5497 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5498
5499         * docs/manual/pads.xml:
5500         * docs/manual/pads-api.xml: grammar fix
5501
5502 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5503
5504         * docs/manual/pads-api.xml: typo + grammar fix
5505
5506 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5507
5508         * docs/gst/gstreamer-sections.txt:
5509           add new symbols
5510         * docs/gst/tmpl/gstelement.sgml:
5511         * docs/gst/tmpl/gstpad.sgml:
5512         * docs/gst/tmpl/gsttypes.sgml:
5513         * docs/gst/tmpl/gstvalue.sgml:
5514           update docs
5515         * gst/gststructure.c: (gst_structure_set_valist),
5516         (gst_structure_from_abbr), (gst_structure_to_abbr):
5517         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
5518         (gst_greatest_common_divisor), (gst_value_init_fraction),
5519         (gst_value_copy_fraction), (gst_value_collect_fraction),
5520         (gst_value_lcopy_fraction), (gst_value_set_fraction),
5521         (gst_value_get_fraction_numerator),
5522         (gst_value_get_fraction_denominator),
5523         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
5524         (gst_value_deserialize_fraction),
5525         (gst_value_transform_fraction_string),
5526         (gst_value_transform_string_fraction),
5527         (gst_value_compare_fraction), (_gst_value_initialize):
5528         * gst/gstvalue.h:
5529           adding GstFraction GValue type, get/set, and multiply
5530         * testsuite/caps/Makefile.am:
5531         * testsuite/caps/fraction.c: (test), (main):
5532         * testsuite/caps/string-conversions.c: (main):
5533         * testsuite/caps/value_compare.c: (test1), (main):
5534           add regression tests for GstFraction
5535
5536 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5537         
5538         * docs/manual/init-api.xml: Grammar fix
5539
5540 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5541
5542         * docs/manual/states.xml: Fix inconsistent information
5543
5544 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5545
5546         * gst/gstelement.c: (gst_element_set_state):
5547         * gst/gstpad.c: (gst_pad_try_set_caps):
5548         * gst/gststructure.c:
5549         * gst/gstthread.c: (gst_thread_child_state_change):
5550         * gst/gstvalue.c: (gst_value_compare_double):
5551         * gst/gstvalue.h:
5552         * testsuite/parse/parse1.c: (main):
5553           debugging additions and style cleanups
5554
5555 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5556
5557         * docs/manual/states.xml: Grammar fix
5558
5559 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5560
5561         * docs/manual/pads.xml: Grammar fix
5562
5563 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5564
5565         * docs/manual/elements.xml: Fixed image reference
5566
5567 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5568
5569         * docs/manual/goals.xml: Grammar fix
5570
5571 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5572
5573         * docs/manual/motivation.xml:
5574         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
5575
5576 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5577
5578         * docs/manual/motivation.xml: Fix spelling
5579
5580 2004-07-15  Benjamin Otte  <otte@gnome.org>
5581
5582         * gst/gstelement.h: 
5583           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
5584           strings.
5585         * gst/gstelement.c (gst_element_class_init):
5586           GError's are boxed, not objects
5587         * gst/gstmarshal.list:
5588           update list for the fixed error signal
5589
5590 2004-07-14  Andy Wingo  <wingo@pobox.com>
5591
5592         * gst/gsttag.c: Add a tag merge func for pointers. The header was
5593         there all along, but the function wasn't. (guile-gstreamer's build
5594         system uses the address of the function -- I wasn't actually
5595         trying to use this.)
5596
5597 2004-07-14  Andy Wingo  <wingo@pobox.com>
5598
5599         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
5600         as gst_pad_proxy_pad_link) just link to every other pad when they
5601         are called. In the case where the graph has cycles, this will mean
5602         that a call to try_set_caps will recurse. Allow this recursion
5603         and return OK, while we wait for the first try_set_caps to give a
5604         proper return value.
5605         (gst_pad_link_call_link_functions): Since this function is the
5606         only one to set the NEGOTIATING flag on a pad, if the flag is set
5607         it means that the link functions have indirectly recursed. If this
5608         happens, error out to avoid infinite recursion and an eventual
5609         SEGV.
5610         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
5611         (gst_pad_proxy_getcaps): Intersect the result with the template
5612         caps to ensure that the return value is valid.
5613
5614 2004-07-14  Andy Wingo  <wingo@pobox.com>
5615
5616         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
5617         one refcount, the calling function is the owner of the buffer.
5618
5619 2004-07-14  Wim Taymans  <wim@fluendo.com>
5620
5621         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5622         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5623         Fix stupid warning when an element is to be migrated but
5624         is already migrated.
5625
5626 2004-07-14  Wim Taymans  <wim@fluendo.com>
5627
5628         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5629         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5630         Make sure that a single non-loop-based element does not 
5631         end up in a group. This fixes the testsuite again.
5632
5633 2004-07-14  Wim Taymans  <wim@fluendo.com>
5634
5635         * gst/schedulers/gstoptimalscheduler.c: (create_group),
5636         (add_to_group), (merge_groups), (schedule_group),
5637         (gst_opt_scheduler_get_wrapper), (group_elements),
5638         (group_dec_link), (gst_opt_scheduler_pad_link),
5639         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
5640         (gst_opt_scheduler_iterate):
5641         move isolated groups to a new chain.
5642         Emit a warning instead of segfaulting in some error cases.
5643         Fix a bug where the link count between groups was not calculated 
5644         correctly. Fixes #144510.
5645
5646 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
5647         * gst/elements/gstfilesrc.c:
5648           Binary files support under Windows now OK
5649       
5650 2004-07-13  Benjamin Otte  <otte@gnome.org>
5651
5652           compatibility fixes for Solaris 8/gcc 2.95
5653         * configure.ac:
5654           include libintl libs in LDFLAGS
5655         * gstvalue.c (gst_value_deserialize_buffer):
5656           cast isxdigit stuff to int to silence compiler warning
5657
5658 2004-07-12  Benjamin Otte  <otte@gnome.org>
5659
5660         * gst/gsttypes.h:
5661           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
5662           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
5663           just causes support madness
5664         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
5665           make it work without this
5666         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
5667         (gst_file_index_commit):
5668           glib IO channels don't want binary mode
5669         * testsuite/bytestream/filepadsink.c: (main):
5670         * testsuite/bytestream/test1.c: (read_param_file):
5671           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
5672
5673 2004-07-12  Benjamin Otte  <otte@gnome.org>
5674
5675         * gst/gstelement.c: (gst_element_class_init),
5676         (gst_element_set_state), (gst_element_set_state_func):
5677           virutalize gst_element_set_state, use set_state member in class
5678           struct that was already added in 0.7 for this.
5679         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
5680         (gst_bin_change_state):
5681           make gst_bin_foreach works similar to other foreach functions, plug
5682           memleaks in it. Make functions using it work with the new approach.
5683           Document gst_bin_foreach, so it can be exported if we want to
5684         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
5685           use virtualized set_state to make set_state on bins set the state of
5686           all its children.
5687
5688 2004-07-12  Benjamin Otte  <otte@gnome.org>
5689
5690         * configure.ac:
5691           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
5692           http://bugs.gentoo.org/show_bug.cgi?id=53967)
5693         * gst/gstpad.c: (gst_pad_alloc_buffer):
5694           allow buffer_alloc functions to return NULL and allocate a normal
5695           buffer in that case
5696
5697 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5698         * gst/elements/gstfilesink.c:
5699         * gst/elements/gstfilesrc.c:
5700         * gst/indexers/gstfileindex.c:
5701         * gst/gsttypes.h:
5702         * testsuite/bytestream/filepadsink.c:
5703         * testsuite/bytestream/test1.c:
5704           Handle binary files under Windows
5705
5706 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5707         * docs/manual/win32.xml:
5708         * win32/config.h:
5709         * win32/gst-register.vcproj:
5710         * win32/gstreamer.def:
5711           Update to another gettext public build
5712
5713 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5714         * gst/gstplugin.c:
5715           Fix an impossible C syntax
5716         * win32/config.h:
5717           Disable i18n under Windows for the moment
5718         * win32/gst-register.vcproj:
5719           Use this configuration
5720
5721 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
5722         * docs/manual/quotes.xml:
5723           Keep the quotes file alive
5724         * docs/random/ds/0.9-suggested-changes:
5725           Add the suggestion of including a 'rowstride' as part of video
5726           format caps
5727
5728 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5729
5730         * gst/gstelement.c: (gst_element_set_state),
5731         (gst_element_change_state):
5732           d'oh.  Set PENDING state correctly before forcing bin to change.
5733         * gst/gststructure.c: (gst_structure_value_get_generic_type),
5734         (gst_structure_parse_fixed_list):
5735         * gst/schedulers/gstoptimalscheduler.c:
5736         (gst_opt_scheduler_state_transition):
5737         * testsuite/states/parent.c: (main):
5738           remove comment now that it's fixed.
5739
5740 2004-07-11  Benjamin Otte  <otte@gnome.org>
5741
5742         * gst/gstclock.h:
5743           GST_SECOND shouldn't cause a conversion to unsigned.
5744         * testsuite/clock/.cvsignore:
5745         * testsuite/clock/Makefile.am:
5746         * testsuite/clock/signedness.c: (main):
5747           make sure it never will again
5748
5749 2004-07-11  Andy Wingo  <wingo@pobox.com>
5750
5751         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
5752         whose state is higher than the bin state, raise the bin state to
5753         ensure that bin state := highest child state.
5754         
5755 2004-07-11  Andy Wingo  <wingo@pobox.com>
5756
5757         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
5758         procedure on the children of a bin. Assumes that the procedure can
5759         change the set of children.
5760         (set_kid_state_func): New static function.
5761         (gst_bin_change_state): Use gst_bin_foreach to call
5762         set_kid_state_func. Fixes a bug: if a child had a state-change
5763         handler that removes it from the bin, there would be a segfault.
5764         Hopefully it should also work in the case where the state-change
5765         handler on one child adds or removes other children. In any case,
5766         fixes should go to gst_bin_foreach.
5767
5768 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5769
5770         * gst/gstelement.c: (gst_element_set_state):
5771           compatibility fix for latest plugins release.  Change loop back
5772           to while {}
5773
5774 2004-07-09  Wim Taymans  <wim@fluendo.com>
5775
5776         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
5777         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
5778         (gst_thread_main_loop):
5779         Since remove is virtual in GstBin we must not assume the 
5780         elements GList to have anothing useful.
5781         Add some more logging to GstThread and be a bit more paranoid
5782         when resetting the scheduler.
5783         Set the state of the bin to NULL before removing the children.
5784
5785 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5786
5787         * testsuite/threads/Makefile.am:
5788         * testsuite/threads/threadg.c:
5789           added test to check if problem when removing all elements from a
5790           GstThread before setting GstThread state to NULL
5791
5792 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5793
5794         * docs/gst/tmpl/gstelement.sgml:
5795         * docs/gst/tmpl/gsttypes.sgml:
5796         * gst/gstbin.c: (gst_bin_change_state):
5797         * gst/gstelement.c: (gst_element_set_state),
5798         (gst_element_change_state):
5799           rework so that for bins we try to set the state on all children
5800           as well even if the bin is in the correct state already.
5801           change while to do so at least one iteration is done.
5802           For regular elements, we fall back to the previous behaviour for
5803           now since we first need a new plugins release.
5804         * testsuite/states/parent.c: (main):
5805           test for this case
5806           Fixes #123774
5807
5808 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5809
5810         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
5811         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
5812         (gst_queue_release_locks), (gst_queue_change_state),
5813         (gst_queue_set_property):
5814           add proper lock debugging.  Change dispose to finalize, since
5815           we're freeing mutexes and other stuff which should happen only once.
5816
5817 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5818
5819         * docs/gst/tmpl/gstelement.sgml:
5820         * docs/gst/tmpl/gstplugin.sgml:
5821         * docs/gst/tmpl/gsttypes.sgml:
5822         * docs/pwg/building-state.xml:
5823         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
5824         * gst/gstelement.c: (gst_element_change_state):
5825         * gst/gstthread.c: (gst_thread_change_state):
5826           catch wrong state changes in element base class.
5827
5828 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5829
5830         * gst/gstinfo.h:
5831           clean up layout a little.
5832
5833 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5834
5835         * configure.ac:
5836         * testsuite/Makefile.am:
5837         * testsuite/states/Makefile.am:
5838         * testsuite/states/parent.c: (main):
5839           re-enable states testsuite dir.  Add test for state changes and
5840           parent behaviour
5841
5842 2004-07-09  Wim Taymans  <wim@fluendo.com>
5843
5844         * gst/schedulers/gstoptimalscheduler.c:
5845         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
5846         (element_get_reachables_func), (element_get_reachables),
5847         (debug_element), (rechain_group), (group_migrate_connected),
5848         (gst_opt_scheduler_pad_unlink):
5849         Do not try to migrate decoupled elements to a new group since
5850         they are not added to groups.
5851
5852 2004-07-08  Benjamin Otte  <otte@gnome.org>
5853
5854         * gst/gstelement.c: (gst_element_error_func):
5855           make reentrant (= allow removing elements in error handler)
5856
5857 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5858
5859         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5860         (gst_pad_send_event), (gst_pad_call_chain_function):
5861           events sent to elements below PAUSED cannot be handled, so
5862           don't try to
5863
5864 2004-07-08  Wim Taymans  <wim@fluendo.com>
5865
5866         * gst/schedulers/gstoptimalscheduler.c:
5867         (chain_recursively_migrate_group), (create_group),
5868         (schedule_group), (gst_opt_scheduler_pad_link),
5869         (group_elements_set_visited), (element_get_reachables_func),
5870         (element_get_reachables), (group_can_reach_group), (debug_element),
5871         (rechain_group), (group_migrate_connected),
5872         (gst_opt_scheduler_pad_unlink):
5873         * testsuite/schedulers/Makefile.am:
5874         Implemented group splitting and rechaining.
5875         Fixes 143777 and 143777-2 in the testsuite.
5876
5877 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5878
5879         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5880           extra debugging
5881         * gst/gstevent.h:
5882         * gst/gstinfo.c: (gst_debug_log_default):
5883           print time nicely.  add thread pointer until someone figures out
5884           a completely portable way of getting at thread id's.
5885         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
5886         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
5887         (gst_pad_call_chain_function):
5888           extra debugging
5889         * gst/schedulers/gstoptimalscheduler.c:
5890         (get_group_schedule_function), (loop_group_schedule_function),
5891         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5892         (pad_clear_queued), (gst_opt_scheduler_iterate):
5893           rename BUFPEN and friends to DATAPEN since that's what they are.
5894
5895 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5896
5897         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5898         * gst/gstbuffer.h:
5899         * gst/gstpad.c:
5900           cleanups and debugging
5901
5902 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5903
5904         * configure.ac:
5905         * gst/gstvalue.c: (gst_value_compare_enum),
5906         (gst_value_serialize_enum), (gst_value_deserialize_enum),
5907         (gst_value_can_compare), (gst_value_compare):
5908         * testsuite/Makefile.am:
5909         * testsuite/enumcaps/Makefile.am:
5910         * testsuite/enumcaps/enumcaps.c:
5911           Fix enum serialization, deserialization, comparison in caps, add
5912           a test to ensure that this continues working in the future.
5913
5914 2004-07-06  David Schleef  <ds@schleef.org>
5915
5916         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5917         Fix memleak.
5918
5919 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5920
5921         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
5922         * gst/gstplugin.h:
5923         * gst/registries/gstxmlregistry.c:
5924         (plugin_times_older_than_recurse), (plugin_times_older_than),
5925         (gst_xml_registry_parse_padtemplate):
5926           only rebuild registry when actual plugins have a newer time than
5927           the registry.  Fixes #145520
5928
5929 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5930
5931         * docs/manual/manual.xml:
5932         * docs/manual/win32.xml:
5933           add chapter on win32 building.  fixes #142422
5934
5935 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5936
5937         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
5938
5939         * gst/autoplug/gstspider.c: (gst_spider_init),
5940         (gst_spider_dispose):
5941           fix spider memleaks.  fixes #137863
5942
5943 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5944
5945         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
5946
5947         * gst/schedulers/gstoptimalscheduler.c:
5948         (gst_opt_scheduler_pad_unlink):
5949           fix SIGBUS error, fixes #145338
5950
5951 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5952
5953         * gst/gstobject.c: (gst_object_replace):
5954         * gst/gstscheduler.c: (gst_scheduler_get_clock):
5955         * gst/gstsystemclock.c: (gst_system_clock_obtain):
5956           clean up clock lifecycle.  Fixes #109831
5957
5958 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5959
5960         * po/LINGUAS:
5961         * po/cs.po:
5962           added Czech translation (Miloslav Trmac)
5963
5964 2004-07-04  David Schleef  <ds@schleef.org>
5965
5966         * tools/Makefile.am:
5967         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
5968
5969 2004-07-04  David Schleef  <ds@schleef.org>
5970
5971         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
5972
5973 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5974
5975         * gst/gstbin.c: (gst_bin_restore_thyself):
5976           chain to parent restore so the bins get restored correctly
5977           in the editor
5978
5979 2004-07-03  David Schleef  <ds@schleef.org>
5980
5981         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5982         Actually do something in these functions, like before the big
5983         caps change.  (bug #145137)
5984
5985 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5986
5987         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
5988         (gst_element_get_compatible_pad_filtered):
5989         * gst/gstthread.c: (gst_thread_main_loop):
5990           more debugging
5991
5992 2004-07-02  David Schleef  <ds@schleef.org>
5993
5994         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
5995         * gst/gstobject.h:
5996         * gst/gstparse.h:
5997         * gst/gsttrace.h:
5998         * gst/gstxml.h:
5999
6000 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6001
6002         * gst/gstpad.c: (gst_pad_check_schedulers),
6003         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6004         (gst_pad_link_prepare):
6005           revert until testsuite is fixed
6006
6007 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6008
6009         * testsuite/Makefile.am:
6010         * testsuite/caps/filtercaps.c: (main):
6011         * testsuite/clock/clock1.c: (main):
6012         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
6013           fix some more tests
6014
6015 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6016
6017         * testsuite/cleanup/cleanup1.c: (create_pipeline):
6018         * testsuite/cleanup/cleanup2.c: (create_pipeline):
6019         * testsuite/cleanup/cleanup4.c: (main):
6020           fix testsuite
6021
6022 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6023
6024         * libs/gst/control/control.c:
6025         * libs/gst/control/dparam.c:
6026         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
6027         * libs/gst/control/dparammanager.c:
6028         * libs/gst/control/dparammanager.h:
6029         * testsuite/dynparams/Makefile.am:
6030         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
6031         (gst_dptest_change_state), (gst_dptest_chain), (main):
6032           fix testcase for dparams
6033           add debugging category
6034
6035 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6036
6037         * testsuite/Rules:
6038           change path
6039
6040 2004-07-02  Benjamin Otte  <otte@gnome.org>
6041
6042         * tests/.cvsignore:
6043         * tests/Makefile.am:
6044         * tests/mass_elements.c: (gst_get_current_time), (main):
6045           add simple benchmark to test various speeds of fakesrc ! identity !
6046           identity ! ... ! fakesink.
6047           Usage: mass_elements [num_identities] [num_buffers]
6048           If not specified they default to 1000.
6049
6050 2004-07-02  Benjamin Otte  <otte@gnome.org>
6051
6052         * gst/gstpad.c: (gst_pad_check_schedulers),
6053         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6054         (gst_pad_link_prepare):
6055           check that pads that get linked belong to the same manager. The old
6056           code allowed linking elements before putting them into bins, so it
6057           worked to link them and then put them in different threads, which
6058           lead to weird behaviour.
6059           Since this effectively disallows linking elements before putting
6060           them in a bin, some applications might not work after this and error
6061           out. If these applications are too critical, we might need to revert
6062           that patch. Please test this before the next release...
6063
6064 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6065
6066         * gst/gstpad.c: (gst_pad_get_caps):
6067           throw an error if the getcaps function does not return a subset of
6068           the template caps.
6069         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
6070           make disconts without position info an error in debugging
6071         * tests/spidey_bench.c: (handoff), (main):
6072           don't count first try when averaging
6073
6074 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6075
6076         * gst/gstplugin.c: (gst_plugin_load_file):
6077           figure out problem with dynamic test
6078
6079 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6080
6081         * docs/gst/Makefile.am:
6082           fix docs build
6083
6084 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6085
6086         * po/POTFILES.in:
6087         * po/af.po:
6088         * po/az.po:
6089         * po/en_GB.po:
6090         * po/fr.po:
6091         * po/nl.po:
6092         * po/sr.po:
6093         * po/sv.po:
6094         * po/tr.po:
6095         * po/uk.po:
6096         * tools/gst-register.c: (plugin_added_func), (main):
6097           i18n-ize -register, fix plural
6098
6099 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6100
6101         * gst/elements/gstidentity.c: (gst_identity_class_init),
6102         (gst_identity_init), (gst_identity_chain),
6103         (gst_identity_set_property), (gst_identity_get_property):
6104         * gst/elements/gstidentity.h:
6105           check for perfect stream
6106
6107 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6108
6109         * gst/elements/gstidentity.c: (gst_identity_chain):
6110           print offset_end
6111
6112 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6113
6114         * docs/gst/Makefile.am:
6115         * docs/gst/gstreamer-docs.sgml:
6116           doc fixes
6117
6118 2004-06-24  David Schleef  <ds@schleef.org>
6119
6120         * autogen.sh:  Remove call to env, since the buildbot isn't
6121         broken anymore.
6122
6123 2004-06-24  Wim Taymans  <wim@fluendo.com>
6124
6125         * gst/elements/Makefile.am:
6126         * gst/elements/gstelements.c:
6127         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
6128         (gst_multifdsink_class_init), (gst_multifdsink_init),
6129         (gst_multifdsink_add), (gst_multifdsink_remove),
6130         (gst_multifdsink_clear), (gst_multifdsink_chain),
6131         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
6132         * gst/elements/gstmultifdsink.h:
6133         Added an element that writes to multiple filedescriptors at once.
6134
6135 2004-06-24  Benjamin Otte  <otte@gnome.org>
6136
6137         * gst/parse/grammar.y:
6138           don't try to link elements before they have been added to bins
6139
6140 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6141
6142         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
6143         (gst_file_pad_get_length):
6144         * libs/gst/bytestream/filepad.h:
6145           add 2 new functions
6146
6147 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6148
6149         * docs/gst/gstreamer-sections.txt:
6150         remove from docs, the define that Benjamin removed from gstelement.h
6151
6152 2004-06-22  Benjamin Otte  <otte@gnome.org>
6153
6154         * gst/gstelement.h:
6155           remove define that referenced a nonexisting GstElement struct member
6156
6157 2004-06-20  Benjamin Otte  <otte@gnome.org>
6158
6159         * gst/gstdata.c: (gst_data_is_writable):
6160           whoops, return values were wrong, so writable data was marked as
6161           non-writable and vice versa. (fixes #143953, spotted by Francis
6162           Labonte)
6163           Shows how rarely we need to copy data ;)
6164
6165 2004-06-20  Benjamin Otte  <otte@gnome.org>
6166
6167         * testsuite/schedulers/.cvsignore:
6168         * testsuite/schedulers/Makefile.am:
6169         * testsuite/schedulers/143777-2.c: (main):
6170           add test for opt breakage in bug #143777
6171
6172 2004-06-20  Benjamin Otte  <otte@gnome.org>
6173
6174         * gst/gstpad.c: (gst_pad_call_chain_function):
6175           check for if we were unlinked while inside the chainfunction (fixes
6176           entrygthread having issues with #143777)
6177         * testsuite/schedulers/143777.c: (main):
6178         * testsuite/schedulers/Makefile.am:
6179           add a test for that fix
6180
6181 2004-06-20  Benjamin Otte  <otte@gnome.org>
6182
6183         * gst/gstvalue.c: (gst_value_set_int_range):
6184           test that start is smaller then end
6185         * libs/gst/bytestream/Makefile.am:
6186         * libs/gst/bytestream/filepad.c: 
6187         * libs/gst/bytestream/filepad.h:
6188           add GstFilePad - a pad that behaves like a FILE*
6189         * testsuite/bytestream/.cvsignore:
6190         * testsuite/bytestream/Makefile.am:
6191         * testsuite/bytestream/filepadsink.c: 
6192           test for the GstFilePad
6193
6194 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6195
6196         * gst/elements/gstidentity.c: (gst_identity_class_init),
6197         (gst_identity_init), (gst_identity_set_clock),
6198         (gst_identity_chain), (gst_identity_set_property),
6199         (gst_identity_get_property):
6200         * gst/elements/gstidentity.h:
6201         * gst/gstclock.c: (gst_clock_id_wait):
6202           add a "sync" property to sync to the clock
6203
6204 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6205
6206         * gst/gstelementfactory.c: (gst_element_factory_create):
6207           make the freakin "elementfactory bla has no type" message more
6208           useful. So we actually can do something when someone shows up
6209           complaining about it.
6210
6211 2004-06-15  Johan Dahlin  <johan@gnome.org>
6212
6213         * tools/gst-inspect.c (main): Fallback to plugin if no element is
6214         found. This matches the old behavior better. Thanks to Thomas for
6215         pointing out.
6216
6217 2004-06-14  David Schleef  <ds@schleef.org>
6218
6219         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
6220         -fomit-frame-pointer.  Appears to generate correct code in
6221         other cases as well.
6222
6223 2004-06-14  Johan Dahlin  <johan@gnome.org>
6224
6225         * tools/gst-inspect.c (main): Add two new command line options: -a
6226         to print all elements and -n to print the name on each line. Also
6227         fix some error reporting.
6228         (main): Simplify, remove -n and always print names if -a is specified
6229
6230 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
6231
6232         * win32/gstconfig.h:
6233         * win32/GSTreamer.vcproj:
6234         * win32/Makefile:
6235         * gst/gstconfig.h.in:
6236         * gst/gst.h:
6237         * gst/gstbin.h:
6238         * gst/gstelement.h:
6239         * gst/gstevent.h:
6240         * gst/gstobject.h:
6241         * gst/gstpad.h:
6242         * docs/gst/gstreamer-sections.txt:
6243         * docs/gst/tmpl/gstconfig.sgml:
6244           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
6245
6246 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6247         * docs/gst/gstreamer-sections.txt:
6248         * docs/gst/tmpl/gstconfig.sgml:
6249         Add the GSTREAMER_EXPORT macro to the docs
6250
6251 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6252
6253         * tools/gst-compprep.c: (handle_xmlerror), (main):
6254         Add a check for the version that introduced SetStructuredError to fix
6255         the build on FC1
6256
6257 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6258
6259         * win32/msvc71.sln:
6260         * win32/testsuite/:
6261           prepare to compile the testsuite with MSVC
6262
6263 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6264
6265         * docs/manual/win32.xml:
6266           attempt to transform the Win32 README into an XML doc
6267
6268 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6269
6270         * gst/gst.c:
6271         * gst/gstbin.*:
6272         * gst/config.h.in:
6273         * gst/gstelement.*:
6274         * gst/gstevent.h:
6275         * gst/gstobject.*:
6276         * gst/gstpad.h:
6277         * tools/gst-register.c:
6278         * win32/gstreamer.def:
6279           extern symbols are now exported for the Windows DLL
6280
6281 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6282
6283         * gst/gstinfo.h:
6284           fix a problem to enable/disable DEBUG under MSVC
6285
6286 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6287
6288         * win32/:
6289           enable more debug code in DEBUG build
6290
6291 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6292
6293         * win32/config.h:
6294         * gst/gst-i18n-app.h:
6295           enable NLS under Windows
6296
6297 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
6298         * tools/gst-compprep.c: (handle_xmlerror), (main):
6299           Make an error that baffled me a bit clearer
6300
6301 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6302
6303         * gst/gstqueue.c:
6304           don't use g_queue_get_length () because it's 2.4, use ->length
6305
6306 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
6307
6308         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
6309
6310         * tools/gst-inspect.c: (print_signal_info):
6311           don't free random data twice. (fixes #144185)
6312
6313 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6314
6315         * gst/gstqueue.c:
6316         * gst/gstqueue.h:
6317           fix removing from the wrong queue on event timeout
6318           fix disposing of the event queue by casting correctly
6319           add mutexes for handling the event queue
6320           someone was sleeping when fixing queue last time around :)
6321
6322 2004-06-10  Johan Dahlin  <johan@gnome.org>
6323
6324         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
6325         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
6326
6327 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6328
6329         * docs/random/gdp:
6330         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
6331         * libs/gst/dataprotocol/dataprotocol.c:
6332         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6333         (gst_dp_buffer_from_header):
6334         * libs/gst/dataprotocol/dataprotocol.h:
6335         * libs/gst/dataprotocol/dp-private.h:
6336           rev version to 0.1, add buffer flags and copy them
6337
6338 2004-06-09  Johan Dahlin  <johan@gnome.org>
6339
6340         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
6341         the flags from the buffer we're copying.
6342
6343 2004-06-09  Wim Taymans  <wim@fluendo.com>
6344
6345         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
6346         * gst/elements/gstidentity.c: (gst_identity_init),
6347         (gst_identity_chain):
6348         Print more buffer info in fakesink.
6349         Make identity output similar to fakesink.
6350
6351 2004-06-07  Daniel Gazard  <dany42@free.fr>
6352
6353         reviewed by Benjamin Otte  <otte@gnome.org>
6354
6355         * configure.ac:
6356           fix cross compiling not working. (fixes #143741)
6357
6358 2004-06-07  Benjamin Otte  <otte@gnome.org>
6359
6360         * gst/gstelement.c: (gst_element_set_time_delay):
6361           add failure check
6362         * gst/gstinfo.h:
6363           put brackets around macro arguments of GST_TIME_ARGS, add note to
6364           move it to correct header in 0.9
6365
6366 2004-06-07  Benjamin Otte  <otte@gnome.org>
6367
6368         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
6369         (gst_file_index_load), (_file_index_id_save_entries),
6370         (gst_file_index_commit), (gst_file_index_add_association),
6371         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
6372         (gst_file_index_plugin_init):
6373           make debugging use a default category
6374
6375 2004-06-06  David Moore  <dcm@acm.org>
6376
6377         reviewed by Benjamin Otte  <otte@gnome.org>
6378
6379         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6380         (gst_fdsrc_change_state):
6381           reset offset counter when going READY => PAUSED. (fixes #142903)
6382
6383 2004-06-06  ed@catmur.co.uk
6384
6385         reviewed by Benjamin Otte  <otte@gnome.org>
6386
6387         * gst/registries/gstxmlregistry.c:
6388         (gst_xml_registry_rebuild_recurse):
6389           don't rely on g_dir_open to figure out if a file is a directory, use
6390           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
6391           directories. (fixes #142850)
6392
6393 2004-06-06  Benjamin Otte  <otte@gnome.org>
6394
6395         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
6396           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
6397         * libs/gst/bytestream/adapter.c:
6398         * libs/gst/bytestream/adapter.h:
6399           fix copyright in header and typo in debugging category name
6400
6401 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6402
6403         * configure.ac:
6404           bump nano to cvs
6405
6406 === release 0.8.3 ===
6407
6408 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6409
6410         * configure.ac:
6411           update libtool versioning
6412           do a new release
6413         * docs/gst/tmpl/gstelement.sgml:
6414         * docs/gst/tmpl/gsttypes.sgml:
6415         * gst/gstinfo.c: (_gst_debug_init):
6416           put back GST_CAT_DATAFLOW to fix API breakage
6417
6418 2004-06-04  David Schleef  <ds@schleef.org>
6419
6420         * autogen.sh: Add a temporary 'env' to test buildbot problems.
6421
6422 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6423
6424         * configure.ac:
6425           bump nano to cvs
6426
6427 === release 0.8.2 ===
6428
6429 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6430
6431         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
6432           check GST_DEBUG environment variable which is parsed the same way
6433           as --gst-debug=
6434
6435 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6436
6437         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
6438                             gstmd5sink.c gstshaper.c gsttee.c
6439                             gsttypefindelement.c
6440         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
6441
6442           - removing trailing commas at end of enums
6443             it is correct C99 code but C90 compilers would complain
6444             (AIX, Forte, ...)
6445             ('should' fix #143290, at least partially)
6446
6447 2004-05-27  Wim Taymans  <wim@fluendo.com>
6448
6449         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
6450         (chain_group_set_enabled), (create_group), (add_to_group),
6451         (merge_groups), (setup_group_scheduler), (group_elements),
6452         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
6453         Don't try to follow the pad connections with other groups
6454         when a loop based element is added to the scheduler because
6455         the bin will inform the scheduler about the pad links a little
6456         later.
6457
6458 2004-05-27  Wim Taymans  <wim@fluendo.com>
6459
6460         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6461         (remove_from_chain), (chain_group_set_enabled),
6462         (setup_group_scheduler), (group_element_set_enabled),
6463         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
6464         (gst_opt_scheduler_show):
6465         Elements without a group can do a state change as well, just wait
6466         with the setup of the scheduling function when it is added to a
6467         chain.
6468
6469 2004-05-27  Wim Taymans  <wim@fluendo.com>
6470
6471         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6472         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
6473         (merge_groups), (setup_group_scheduler),
6474         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
6475         (gst_opt_scheduler_show):
6476         Fixes to maintain internal consistency of the scheduler data
6477         structures. 
6478          - adding an enabled group to a chain should increment the
6479            number of enabled elements in that chain.
6480          - removing an enabled group from a chain could disable the
6481            chain.
6482          - removing a disabled group from a chain could enable the
6483            chain.
6484          - add g_assert when internal inconsistency is detected.
6485          - adding an element to a group could increase the number of
6486            links this group has with other groups.
6487          - merging two groups also merges the chains.
6488          - also show group links in the _show method.
6489            
6490
6491 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6492
6493         * gst/gstcaps.c: (gst_caps_structure_simplify):
6494           don't print error messages when there is no error
6495         * gst/gstvalue.c: (gst_value_compare_int_range):
6496           compare the second value, too
6497         * testsuite/caps/Makefile.am:
6498         * testsuite/caps/random.c: (assert_on_error), (main):
6499           add tests to make sure the two things above are checked for
6500
6501 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6502
6503         * configure.ac:
6504         * libs/gst/dataprotocol/Makefile.am:
6505         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
6506         * libs/gst/dataprotocol/dataprotocol.h:
6507           wrap header in GST_ENABLE_NEW.  make code use it
6508
6509 2004-05-23  Johan Dahlin  <johan@gnome.org>
6510
6511         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
6512         so verbose and print GstElement signal names all the time.
6513
6514 2004-05-22  David Schleef  <ds@schleef.org>
6515
6516         * gst/registries/gstxmlregistry.c:
6517         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
6518         (bug #142957)
6519
6520 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6521
6522         * configure.ac:
6523           scrub cflags for glib2 so gcc doesn't complain when glib is in
6524           /usr/local
6525
6526 2004-05-21  Johan Dahlin  <johan@gnome.org>
6527
6528         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
6529         __GNUC__, patch from Brian Cameron, fixes bug #142804
6530
6531 2004-05-20  David Schleef  <ds@schleef.org>
6532
6533         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
6534         comparison code.  (bug #142819)
6535
6536 2004-05-20  Wim Taymans  <wim@fluendo.com>
6537
6538         * gst/gstbuffer.c: (gst_buffer_default_copy):
6539         * gst/gstbuffer.h:
6540         Added Comment to a flag.
6541         copy relevant flags in _buffer_copy.
6542
6543 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6544
6545         reviewed by: Wim Taymans <wim at fluendo dot com>
6546
6547         * gst/gstbuffer.h:
6548           add GST_BUFFER_IN_CAPS buffer flag
6549         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6550         (gst_structure_parse_any_list), (gst_structure_parse_list),
6551         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
6552         * gst/gstvalue.c: (gst_value_serialize_any_list),
6553         (gst_value_transform_any_list_string),
6554         (gst_value_list_prepend_value), (gst_value_list_append_value),
6555         (gst_value_list_get_size), (gst_value_list_get_value),
6556         (gst_value_transform_list_string),
6557         (gst_value_transform_fixed_list_string),
6558         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
6559         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
6560         (_gst_value_initialize):
6561         * gst/gstvalue.h:
6562           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
6563           < , > as a format.
6564         * testsuite/caps/string-conversions.c: (main):
6565           add regression tests for < >
6566
6567 2004-05-20  Johan Dahlin  <johan@gnome.org>
6568
6569         * docs/gst/Makefile.am (all-local): Re-add
6570
6571 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6572
6573         * docs/gst/Makefile.am:
6574         * docs/gst/gstreamer-docs.sgml:
6575         * docs/libs/Makefile.am:
6576         * docs/libs/gstreamer-libs-docs.sgml:
6577           fix distcheck issues
6578
6579 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6580
6581         * libs/gst/dataprotocol/Makefile.am:
6582           add to autotest
6583
6584 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6585
6586         * libs/gst/dataprotocol/Makefile.am:
6587         * libs/gst/dataprotocol/dataprotocol.c:
6588         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6589         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
6590         * libs/gst/dataprotocol/dp-private.h:
6591           use GST macros to read/write fixed length ints
6592           add some more asserts
6593
6594 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6595
6596         * docs/libs/gstreamer-libs-docs.sgml:
6597         * docs/libs/gstreamer-libs-sections.txt:
6598           remove idct and putbits
6599         * configure.ac:
6600         * docs/libs/tmpl/gstdataprotocol.sgml:
6601         * libs/gst/Makefile.am:
6602         * libs/gst/dataprotocol/Makefile.am:
6603         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
6604         (buffer_test), (caps_test), (event_test), (main):
6605         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6606         (gst_dp_dump_byte_array), (gst_dp_init),
6607         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
6608         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6609         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
6610         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
6611         (gst_dp_validate_header), (gst_dp_validate_payload),
6612         (gst_dp_validate_packet), (plugin_init):
6613         * libs/gst/dataprotocol/dataprotocol.h:
6614         * libs/gst/dataprotocol/dp-private.h:
6615           add dataprotocol
6616
6617 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6618
6619         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6620           fix int variable deserialization and add a helper so we can actually
6621           debug this.
6622
6623 2004-05-18  David Schleef  <ds@schleef.org>
6624
6625         * testsuite/debug/commandline.c: (main): Call ./commandline, not
6626           argv[0].  Calling yourself is probably not the best way to
6627           construct a test like this, btw.
6628
6629 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6630
6631         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
6632           don't claim to be more intelligent than a scheduler when the
6633           scheduler claims the pipeline is stopped
6634         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
6635         (safe_cothread_destroy),
6636         (gst_entry_scheduler_remove_all_cothreads),
6637         (gst_entry_scheduler_reset), (_remove_cothread),
6638         (gst_entry_scheduler_state_transition):
6639           hold off cothread destruction if we're not in main cothread
6640         * configure.ac:
6641         * testsuite/Makefile.am:
6642           add new test dir
6643         * testsuite/schedulers/.cvsignore:
6644         * testsuite/schedulers/Makefile.am:
6645           add tests
6646         * testsuite/schedulers/relink.c: (cb_handoff), (main):
6647           check relinking and adding/removing elements from a running pipeline
6648         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
6649           check unlinking in a running pipeline
6650         * testsuite/schedulers/unref.c: (cb_handoff), (main):
6651           check unreffing a running pipeline
6652         * testsuite/schedulers/useless_iteration.c: (main):
6653           check iterating a pipeline that contains running threads works
6654
6655 2004-05-18  David Schleef  <ds@schleef.org>
6656
6657         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
6658           is false.
6659
6660 2004-05-18  Wim Taymans  <wim@fluendo.com>
6661
6662         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6663         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
6664         Fixed an error introduced with patch for 1.63. When setting
6665         a get based element as the entry point in a group, make sure
6666         to mark the group as GET based.
6667
6668 2004-05-18  Wim Taymans  <wim@fluendo.com>
6669
6670         * gst/schedulers/gstoptimalscheduler.c: (create_group),
6671         (setup_group_scheduler), (loop_group_schedule_function),
6672         (gst_opt_scheduler_pad_link):
6673         Added some more debug info and fixed a bug where the group
6674         type was set to LOOP but it was in fact unknown.
6675
6676 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6677
6678         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
6679           make resetting scheduler work twice in a row
6680
6681 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6682
6683         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
6684         (CREATE_USERIALIZATION), (_gst_value_initialize),
6685         (gst_value_compare_float), (gst_value_serialize_float),
6686         (gst_value_deserialize_float), (gst_value_compare_enum),
6687         (gst_value_serialize_enum), (gst_value_deserialize_enum):
6688           add serialization and comparison functions for long, int64, enum and
6689           float values
6690         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
6691           use best serialization function in type hierarchy instead of only a
6692           matching one. This is required for enums to work.
6693         * gst/parse/grammar.y:
6694           use gst_caps_deserialize
6695         * testsuite/parse/Makefile.am:
6696           parse1 now works
6697         * testsuite/parse/parse1.c: (main):
6698           remove aggregator check, aggregator is broken, this test works now
6699           but fails because of bug #138012
6700         * testsuite/parse/parse2.c: (main):
6701           s/xvideosink/xvimagesink - this test looks a lot like we should
6702           disable it
6703
6704 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6705
6706         * gst/gstelement.c: (gst_element_class_init):
6707           whoops, store the signal id correctly
6708         * gst/schedulers/gstbasicscheduler.c:
6709         (gst_basic_scheduler_chain_wrapper):
6710           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
6711           chain function isn't linked
6712
6713 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
6714         * configure.ac:
6715         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
6716         support until we decide where the flags should be used
6717         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
6718         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
6719         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6720         Output refused caps in the debug info
6721
6722 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6723
6724         * gst/elements/gstidentity.c: (gst_identity_chain):
6725           add duration debug
6726         * gst/gstinfo.c: (gst_debug_log_default):
6727           add timestamp
6728
6729 2004-05-13  Benjamin Otte  <otte@gnome.org>
6730
6731         * gst/gstpipeline.c: (gst_pipeline_dispose),
6732         (gst_pipeline_change_state):
6733           call gst_scheduler_reset on dispose (fixes #141416)
6734
6735 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6736
6737         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6738           compute mapsize correctly
6739         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6740           use correct datatypes when calling a varargs function
6741         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6742           push a DISCONT event as first thing
6743         * gst/gst_private.h:
6744         * gst/gstinfo.c: (_gst_debug_init):
6745           remove GST_DATAFLOW debugging category
6746         * gst/gstbin.c: (gst_bin_iterate):
6747           use GST_SCHEDULING category
6748         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
6749         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
6750         (gst_pad_call_get_function):
6751           add GST_DATAFLOW to easily track flow of buffers or events.
6752         * gst/gstqueue.c: (gst_queue_get_type),
6753         (gst_queue_handle_pending_events), (gst_queue_chain),
6754         (gst_queue_get), (gst_queue_handle_src_event):
6755           use own static debugging category GST_DATAFLOW for dataflow,
6756           use DEBUG category for showing which path events go, use LOG
6757           category for buffers.
6758
6759 2004-05-10  David Schleef  <ds@schleef.org>
6760
6761         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
6762
6763 2004-05-10  David Schleef  <ds@schleef.org>
6764
6765         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
6766         symbols, because otherwise we don't know what they are.  Thanks,
6767         the GStreamer team.
6768         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
6769
6770 2004-05-10  David Schleef  <ds@schleef.org>
6771
6772         (from Steve Lhomme)
6773         * win32/Makefile: When using make clean the MS Visual Studio makefiles
6774         are deleted.  Fix.
6775         * win32/Makefile.inspect:
6776         * win32/Makefile.launch:
6777         * win32/Makefile.register:
6778
6779 2004-05-10  David Schleef  <ds@schleef.org>
6780
6781         * gst/gstinfo.h: Add missing inline function.
6782         * gst/gsttrace.c: add include
6783         * gst/parse/grammar.y: remove unused code
6784         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
6785         more portable.
6786         * tools/gst-register.c: wrap unistd.h
6787         
6788         More additions/fixes from Steve for the MSVC build.
6789         * win32/GStreamer.vcproj:
6790         * win32/Makefile:
6791         * win32/Makefile.inspect:
6792         * win32/Makefile.launch:
6793         * win32/Makefile.register:
6794         * win32/README.txt:
6795         * win32/gst-inspect.vcproj:
6796         * win32/gst-launch.vcproj:
6797         * win32/gst-register.vcproj:
6798         * win32/gstbytestream.def:
6799         * win32/gstbytestream.vcproj:
6800         * win32/gstconfig.h:
6801         * win32/gstelements.def:
6802         * win32/gstelements.vcproj:
6803         * win32/gstenumtypes.c:
6804         * win32/gstenumtypes.h:
6805         * win32/gstoptimalscheduler.def:
6806         * win32/gstoptimalscheduler.vcproj:
6807         * win32/gstreamer.def:
6808         * win32/gstspider.def:
6809         * win32/gstspider.vcproj:
6810         * win32/gstversion.h:
6811         * win32/msvc71.sln:
6812
6813 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6814
6815         * gst/gstelement.c: (gst_element_class_init),
6816         (gst_element_no_more_pads):
6817         * gst/gstelement.h:
6818           add gst_element_no_more_pads and the "no-more-pads" signal
6819
6820 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6821
6822         * gst/gstregistry.c: (gst_registry_add_plugin):
6823           refuse to add plugins when a plugin with same name is already
6824           registered. Fixes a bunch of "How to remove plugins?" issues.
6825           May lead to other problems though, let's test
6826
6827 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6828
6829         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
6830         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
6831         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
6832
6833 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6834
6835         * tests/Makefile.am: fix am16 issue
6836
6837 2004-05-09  Benjamin Otte  <otte@gnome.org>
6838
6839         * libs/gst/bytestream/Makefile.am:
6840           we should indeed add .c files to makefiles or they won't be built
6841           (d'oh)
6842
6843 2004-05-08  Benjamin Otte  <otte@gnome.org>
6844
6845         * gst/gstpad.c: (gst_pad_proxy_fixate):
6846           really reduce the set of caps
6847
6848 2004-05-08  Benjamin Otte  <otte@gnome.org>
6849
6850         * tests/Makefile.am:
6851         * tests/spidey_bench.c: (handoff), (main):
6852           add benchmark to test how long spider needs to create a pipeline
6853
6854 2004-05-08  Benjamin Otte  <otte@gnome.org>
6855
6856         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
6857           mark links as unengaged when unnegotiating instead of deactivating.
6858           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
6859
6860 2004-05-08  Benjamin Otte  <otte@gnome.org>
6861
6862         * docs/manual/helloworld.xml:
6863           s/audiosink/osssink (patch by Patrick Guimond)
6864
6865 2004-05-07  David Schleef  <ds@schleef.org>
6866
6867         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
6868         since it contains important stuff.
6869
6870 2004-05-07  David Schleef  <ds@schleef.org>
6871
6872         * testsuite/caps/caps.c: (test3), (main): A check for appending
6873         ANY caps.
6874
6875 2004-05-07  David Schleef  <ds@schleef.org>
6876
6877         * common/m4/as-compiler-flag.m4: Properly quote arguments,
6878         which may contain commas.  Fixes detection of -Wa,-mregnames
6879
6880 2004-05-06  David Schleef  <ds@schleef.org>
6881
6882         Changes to handle compilers that don't have variadic macro
6883         support.  In particular, glib headers define some inlines
6884         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
6885         builds.
6886         * gst/Makefile.am:
6887         * gst/cothreads.c:
6888         * gst/elements/gstfdsink.c:
6889         * gst/elements/gstfdsrc.c:
6890         * gst/elements/gstfilesink.c:
6891         * gst/elements/gstfilesrc.c:
6892         * gst/gst_private.h:
6893         * gst/gstatomic.c:
6894         * gst/gstcaps.c: (gst_caps_append):
6895         * gst/gstcpu.c: (gst_cpuid_i386):
6896         * gst/gstelement.c:
6897         * gst/gsterror.c:
6898         * gst/gstfilter.c:
6899         * gst/gstinfo.h:
6900         * gst/gstprobe.c:
6901         * gst/gstquery.c:
6902         * gst/gstregistry.c:
6903         * gst/gststructure.c:
6904         * gst/gsttaginterface.c:
6905         * gst/gsttrace.c: (gst_trace_new):
6906         * gst/gsttrashstack.c:
6907         * gst/gsturi.c:
6908         * gst/gstvalue.c:
6909         * gst/parse/grammar.y:
6910         * gst/parse/parse.l:
6911         * tools/gst-inspect.c: (main):
6912         * tools/gst-launch.c: (main):
6913         * tools/gst-xmlinspect.c: (PUT_STRING):
6914
6915 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6916
6917         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
6918         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
6919         * gst/elements/gstfilesrc.h:
6920           send NEW_MEDIA events correctly
6921         * gst/elements/gsttypefindelement.c: (start_typefinding),
6922         (gst_type_find_element_handle_event):
6923           restart typefinding when we get a NEW_MEDIA event
6924         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
6925         (gst_bin_dispose):
6926           don't die when someone removes elements in callbacks
6927         * gst/gstelement.c: (gst_element_change_state):
6928           improve debugging
6929         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
6930           we need a NEW_MEDIA event to engage a link
6931         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
6932           don't g_print debugging stuff
6933         * testsuite/caps/simplify.c: (check_caps):
6934
6935 2004-05-04  Benjamin Otte  <otte@gnome.org>
6936
6937         * gst/parse/grammar.y:
6938           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
6939
6940 2004-05-04  Benjamin Otte  <otte@gnome.org>
6941
6942         * testsuite/caps/renegotiate.c: (main):
6943           improve output in error case
6944
6945 2004-05-04  Benjamin Otte  <otte@gnome.org>
6946
6947         * gst/parse/grammar.y:
6948           fix assert to not trigger when there's no error argument
6949         * gst/parse/parse.l:
6950           fix definition of caps to allow more than two structures
6951         * testsuite/caps/Makefile.am:
6952         * testsuite/caps/renegotiate.c: (main):
6953           it's sinesrc and works in that case
6954
6955 2004-05-04  Wim Taymans  <wim@fluendo.com>
6956
6957         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6958         (group_dec_link), (gst_opt_scheduler_pad_unlink):
6959         when removing an element from a group, we always need to
6960         decrement the link count that this group had with other 
6961         groups through the element.
6962         added an extra assert to catch inconsistencies when decrementing
6963         the link count.
6964
6965 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6966
6967         * configure.ac:
6968         * docs/gst/Makefile.am:
6969         * docs/gst/gstreamer-sections.txt:
6970         * docs/gst/tmpl/gstcompat.sgml:
6971         * examples/appreader/Makefile.am:
6972         * examples/cutter/Makefile.am:
6973         * examples/events/Makefile.am:
6974         * examples/helloworld/Makefile.am:
6975         * examples/helloworld2/Makefile.am:
6976         * examples/launch/Makefile.am:
6977         * examples/manual/Makefile.am:
6978         * examples/mixer/Makefile.am:
6979         * examples/pingpong/Makefile.am:
6980         * examples/plugins/Makefile.am:
6981         * examples/queue/Makefile.am:
6982         * examples/queue2/Makefile.am:
6983         * examples/queue3/Makefile.am:
6984         * examples/queue4/Makefile.am:
6985         * examples/retag/Makefile.am:
6986         * examples/thread/Makefile.am:
6987         * examples/typefind/Makefile.am:
6988         * examples/xml/Makefile.am:
6989         * gst/Makefile.am:
6990         * gst/autoplug/Makefile.am:
6991         * gst/elements/Makefile.am:
6992         * gst/gstcompat.h:
6993         * gst/indexers/Makefile.am:
6994         * gst/parse/Makefile.am:
6995         * gst/registries/Makefile.am:
6996         * gst/schedulers/Makefile.am:
6997         * libs/gst/bytestream/Makefile.am:
6998         * libs/gst/control/Makefile.am:
6999         * libs/gst/getbits/Makefile.am:
7000         * po/af.po:
7001         * po/az.po:
7002         * po/en_GB.po:
7003         * po/fr.po:
7004         * po/nl.po:
7005         * po/sr.po:
7006         * po/sv.po:
7007         * po/tr.po:
7008         * po/uk.po:
7009         * tests/Makefile.am:
7010         * tests/bufspeed/Makefile.am:
7011         * tests/instantiate/Makefile.am:
7012         * tests/memchunk/Makefile.am:
7013         * tests/muxing/Makefile.am:
7014         * tests/negotiation/Makefile.am:
7015         * tests/probes/Makefile.am:
7016         * tests/sched/Makefile.am:
7017         * tests/seeking/Makefile.am:
7018         * tests/threadstate/Makefile.am:
7019         * testsuite/caps/Makefile.am:
7020         * testsuite/cleanup/Makefile.am:
7021         * testsuite/dlopen/Makefile.am:
7022         * testsuite/dynparams/Makefile.am:
7023         * testsuite/plugin/Makefile.am:
7024         * testsuite/states/Makefile.am:
7025         * tools/Makefile.am:
7026           reorganize compile/link flags to be consistent
7027           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
7028
7029 2004-05-04  David Schleef  <ds@schleef.org>
7030
7031         The "once more, with feeling" check-in.
7032         * testsuite/caps/Makefile.am: dist caps_strings
7033         * testsuite/caps/renegotiate.c: (main): This test triggers a
7034           segfault in the core.  Marking as failing.
7035
7036 2004-05-03  David Schleef  <ds@schleef.org>
7037
7038         * testsuite/caps/deserialize.c: (main): Fix problems noticed
7039           by the build bots.
7040         * testsuite/caps/renegotiate.c: (main): Same.
7041
7042 2004-05-03  David Schleef  <ds@schleef.org>
7043
7044         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
7045
7046 2004-05-03  David Schleef  <ds@schleef.org>
7047
7048         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
7049           variable to find our source file.
7050
7051 2004-05-03  David Schleef  <ds@schleef.org>
7052
7053         * configure.ac:  Link plugins with libgstreamer and dependent
7054           libraries
7055         * testsuite/caps/Makefile.am:
7056         * testsuite/caps/caps_strings:
7057         * testsuite/caps/deserialize.c: (main): Add a little test to slog
7058           through a file of caps strings and test each one
7059
7060 2004-05-04  Benjamin Otte  <otte@gnome.org>
7061
7062         * libs/gst/bytestream/Makefile.am:
7063         * libs/gst/bytestream/adapter.c: 
7064         * libs/gst/bytestream/adapter.h:
7065           add GstAdapter, similar to bytestream, but doesn't require ugly event
7066           handling or uglier loopbased elements
7067
7068 2004-05-03  David Schleef  <ds@schleef.org>
7069
7070         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
7071         * testsuite/caps/erathostenes.c:
7072         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
7073
7074 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7075
7076         * docs/pwg/pwg.xml:
7077           remove hardcoded stylesheet path (duh)
7078         * docs/random/release:
7079         * docs/gst/gstreamer-sections.txt:
7080         * gst/Makefile.am:
7081         * gst/gst.h:
7082         * gst/gst_private.h:
7083         * gst/gstcaps.c:
7084         * gst/gstevent.c:
7085         * gst/gstformat.c:
7086         * gst/gstinfo.c:
7087         * gst/gstinfo.h:
7088         * gst/gstinterface.c:
7089         * gst/gstmemchunk.c:
7090         * gst/gstprobe.c:
7091         * gst/gstquery.c:
7092         * gst/gstregistry.c:
7093         * gst/gstregistrypool.c:
7094         * gst/gststructure.c:
7095         * gst/gsttaginterface.c:
7096         * gst/gstthread.c:
7097         * gst/gsttrace.c:
7098         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
7099         * gst/gsturi.c:
7100         * gst/gstvalue.c:
7101           deprecate gst_info; remove gstlog.h
7102    
7103
7104 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7105
7106         * Makefile.am:
7107         * po/en_GB.po:
7108         * po/sv.po:
7109         * po/uk.po:
7110           updated translations
7111
7112 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7113
7114         * gst/gstbin.c: (gst_bin_dispose):
7115           better debugging
7116
7117 2004-05-03  Johan Dahlin  <johan@gnome.org>
7118
7119         * gst/schedulers/gstoptimalscheduler.c
7120         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
7121         really is a GstElement. Avoids critical when running gst-launch -v
7122         and a oggdemux/decoding pipeline.
7123
7124 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7125
7126         * docs/gst/tmpl/gstpipeline.sgml :
7127         * docs/manual/elements-api.xml :
7128                 doc fix by Patrick Guimond (Protector) from devel ML
7129                 reviewed by ronald
7130
7131 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7132
7133         * docs/gst/Makefile.am :
7134         * docs/libs/Makefile.am :
7135                 apply a patch from Arwed v. Merkatz so that gtk-doc
7136                 generated docs install (same for .devhelp file)
7137                 (fixes part 1 of #138836)
7138
7139 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7140
7141         * docs/faq/dependencies.xml: typo
7142         * docs/faq/getting.xml :
7143             - fix download URL for new gstreamer site
7144             - hide sf.net download page as latest version aren't there
7145             - fix apt URLs
7146             - fill "get via CVS" paragraph (link to dev page on the site)
7147         * docs/faq/general.xml:
7148             hide status tables as they no more exists
7149             change case on plugins license file to reflect reality
7150         * docs/faq/troubleshooting.xml:
7151             remove the wiki question/answer as there is no more wiki
7152
7153 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7154
7155         * gst/gsterror.h:
7156           include the headers needed for declarations used in this header
7157
7158 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7159
7160         * docs/random/uraeus/gstreamer_and_midi.txt :
7161           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
7162           (fixes #132288)
7163
7164 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
7165
7166         reviewed by Benjamin Otte  <otte@gnome.org>
7167
7168         * gst/schedulers/gthread-cothreads.h:
7169           free allocated data for main cothread, too when destroying context
7170           (fixes #141417)
7171
7172 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7173
7174         * docs/manual/goals.xml : remove duplicated paragraph at end 
7175         of doc page (fixes #141448)
7176
7177 2004-04-29  David Schleef  <ds@schleef.org>
7178
7179         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7180         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
7181
7182 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7183
7184         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7185           fix property
7186         * gst/gstcaps.c:
7187           fix doc string
7188         * po/POTFILES.in:
7189           rename typefind source file
7190
7191 2004-04-28  David Schleef  <ds@schleef.org>
7192
7193         Several new files from Steve Lhomme's MSVC patch (bug #141317):
7194         * win32/GStreamer.vcproj:
7195         * win32/Makefile:
7196         * win32/config.h:
7197         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7198         (_trewinddir), (_ttelldir), (_tseekdir):
7199         * win32/dirent.h:
7200         * win32/gst-inspect.vcproj:
7201         * win32/gst-launch.vcproj:
7202         * win32/gst-register.vcproj:
7203         * win32/gstbytestream.vcproj:
7204         * win32/gstelements.vcproj:
7205         * win32/gstoptimalscheduler.vcproj:
7206         * win32/gstspider.vcproj:
7207         * win32/gtchar.h:
7208         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
7209         * win32/mman.h:
7210         * win32/mman.inl:
7211         * win32/msvc71.sln:
7212
7213 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7214
7215         * gst/gst.c: (init_post):
7216         * gst/gstinfo.c:
7217           remove useless _gst_progname stuff
7218         * tools/gst-inspect.c: (print_field), (print_caps):
7219           improve caps output
7220
7221 2004-04-28  David Schleef  <ds@schleef.org>
7222
7223         Disable parsing of a lot of files that aren't part of the
7224         exported API.  Move corresponding template files to old/,
7225         waiting for removal when they don't contain anything
7226         interesting.
7227         * docs/gst/Makefile.am:
7228         * docs/gst/gstreamer-sections.txt:
7229         * docs/gst/tmpl/cothreads.sgml:
7230         * docs/gst/tmpl/cothreads_compat.sgml:
7231         * docs/gst/tmpl/gettext.sgml:
7232         * docs/gst/tmpl/gobject2gtk.sgml:
7233         * docs/gst/tmpl/grammar.tab.sgml:
7234         * docs/gst/tmpl/gst-i18n-app.sgml:
7235         * docs/gst/tmpl/gst-i18n-lib.sgml:
7236         * docs/gst/tmpl/gst_private.sgml:
7237         * docs/gst/tmpl/gstaggregator.sgml:
7238         * docs/gst/tmpl/gstarch.sgml:
7239         * docs/gst/tmpl/gstatomic_impl.sgml:
7240         * docs/gst/tmpl/gstbufferstore.sgml:
7241         * docs/gst/tmpl/gstdata_private.sgml:
7242         * docs/gst/tmpl/gstdisksink.sgml:
7243         * docs/gst/tmpl/gstdisksrc.sgml:
7244         * docs/gst/tmpl/gstelementfactory.sgml:
7245         * docs/gst/tmpl/gstextratypes.sgml:
7246         * docs/gst/tmpl/gstfakesink.sgml:
7247         * docs/gst/tmpl/gstfakesrc.sgml:
7248         * docs/gst/tmpl/gstfdsink.sgml:
7249         * docs/gst/tmpl/gstfdsrc.sgml:
7250         * docs/gst/tmpl/gstfilesink.sgml:
7251         * docs/gst/tmpl/gstfilesrc.sgml:
7252         * docs/gst/tmpl/gsthttpsrc.sgml:
7253         * docs/gst/tmpl/gstidentity.sgml:
7254         * docs/gst/tmpl/gstindexfactory.sgml:
7255         * docs/gst/tmpl/gstmarshal.sgml:
7256         * docs/gst/tmpl/gstmd5sink.sgml:
7257         * docs/gst/tmpl/gstmultidisksrc.sgml:
7258         * docs/gst/tmpl/gstmultifilesrc.sgml:
7259         * docs/gst/tmpl/gstpadtemplate.sgml:
7260         * docs/gst/tmpl/gstpipefilter.sgml:
7261         * docs/gst/tmpl/gstschedulerfactory.sgml:
7262         * docs/gst/tmpl/gstsearchfuncs.sgml:
7263         * docs/gst/tmpl/gstshaper.sgml:
7264         * docs/gst/tmpl/gstspider.sgml:
7265         * docs/gst/tmpl/gstspideridentity.sgml:
7266         * docs/gst/tmpl/gststatistics.sgml:
7267         * docs/gst/tmpl/gsttee.sgml:
7268         * docs/gst/tmpl/gsttimecache.sgml:
7269         * docs/gst/tmpl/gsttypefind.sgml:
7270         * docs/gst/tmpl/gsttypefindfactory.sgml:
7271         * docs/gst/tmpl/gstxmlregistry.sgml:
7272         * docs/gst/tmpl/gthread-cothreads.sgml:
7273         * docs/gst/tmpl/old/cothreads.sgml:
7274         * docs/gst/tmpl/old/cothreads_compat.sgml:
7275         * docs/gst/tmpl/old/gettext.sgml:
7276         * docs/gst/tmpl/old/gobject2gtk.sgml:
7277         * docs/gst/tmpl/old/grammar.tab.sgml:
7278         * docs/gst/tmpl/old/gst-i18n-app.sgml:
7279         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7280         * docs/gst/tmpl/old/gst_private.sgml:
7281         * docs/gst/tmpl/old/gstaggregator.sgml:
7282         * docs/gst/tmpl/old/gstarch.sgml:
7283         * docs/gst/tmpl/old/gstatomic_impl.sgml:
7284         * docs/gst/tmpl/old/gstbufferstore.sgml:
7285         * docs/gst/tmpl/old/gstdata_private.sgml:
7286         * docs/gst/tmpl/old/gstdisksink.sgml:
7287         * docs/gst/tmpl/old/gstdisksrc.sgml:
7288         * docs/gst/tmpl/old/gstelementfactory.sgml:
7289         * docs/gst/tmpl/old/gstextratypes.sgml:
7290         * docs/gst/tmpl/old/gstfakesink.sgml:
7291         * docs/gst/tmpl/old/gstfakesrc.sgml:
7292         * docs/gst/tmpl/old/gstfdsink.sgml:
7293         * docs/gst/tmpl/old/gstfdsrc.sgml:
7294         * docs/gst/tmpl/old/gstfilesink.sgml:
7295         * docs/gst/tmpl/old/gstfilesrc.sgml:
7296         * docs/gst/tmpl/old/gsthttpsrc.sgml:
7297         * docs/gst/tmpl/old/gstidentity.sgml:
7298         * docs/gst/tmpl/old/gstindexfactory.sgml:
7299         * docs/gst/tmpl/old/gstmarshal.sgml:
7300         * docs/gst/tmpl/old/gstmd5sink.sgml:
7301         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7302         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7303         * docs/gst/tmpl/old/gstpadtemplate.sgml:
7304         * docs/gst/tmpl/old/gstpipefilter.sgml:
7305         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7306         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7307         * docs/gst/tmpl/old/gstshaper.sgml:
7308         * docs/gst/tmpl/old/gstspider.sgml:
7309         * docs/gst/tmpl/old/gstspideridentity.sgml:
7310         * docs/gst/tmpl/old/gststatistics.sgml:
7311         * docs/gst/tmpl/old/gsttee.sgml:
7312         * docs/gst/tmpl/old/gsttimecache.sgml:
7313         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7314         * docs/gst/tmpl/old/gstxmlregistry.sgml:
7315         * docs/gst/tmpl/old/gthread-cothreads.sgml:
7316         * docs/gst/tmpl/old/types.sgml:
7317         * docs/gst/tmpl/types.sgml:
7318
7319         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
7320         gtkdoc-scan doesn't like files with the same name in different
7321         directories.
7322         * gst/elements/Makefile.am:
7323         * gst/elements/gstelements.c:
7324         * gst/elements/gsttypefind.c: 
7325         * gst/elements/gsttypefind.h:
7326         * gst/elements/gsttypefindelement.c:
7327         * gst/elements/gsttypefindelement.h:
7328
7329 2004-04-28  David Schleef  <ds@schleef.org>
7330
7331         A bunch of portability fixes, derived from Steve Lhomme's MSVC
7332         patch (bug #141317):
7333         * gst/gst-i18n-lib.h: Allow disabling gettext.
7334         * gst/gstatomic_impl.h: disable warning when it's dumb.
7335         * gst/gstclock.c: fix include
7336         * gst/gstcompat.h: fix variadic macro
7337         * gst/gstinfo.c: fix include
7338         * gst/gstmacros.h: add defines for inlines on MSVC
7339         * gst/gstplugin.c: fix includes
7340         * gst/gstregistry.c: fix includes
7341         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
7342         * gst/gstsystemclock.c: fix include
7343         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
7344         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
7345         * gst/registries/gstxmlregistry.c:
7346         (gst_xml_registry_parse_element_factory): fix use of non-portable
7347         functions
7348         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
7349         * libs/gst/control/dparammanager.h: same
7350
7351 2004-04-28  David Schleef  <ds@schleef.org>
7352
7353         Move a bunch of unused files to old/ with names that are
7354         not case-insensitive-unique.  These files still contain some
7355         useful information that needs to be merged into gstbin.sgml,
7356         etc., so they shouldn't be deleted yet.
7357         * docs/gst/tmpl/GstBin.sgml:
7358         * docs/gst/tmpl/GstBuffer.sgml:
7359         * docs/gst/tmpl/GstCaps.sgml:
7360         * docs/gst/tmpl/GstClock.sgml:
7361         * docs/gst/tmpl/GstCompat.sgml:
7362         * docs/gst/tmpl/GstData.sgml:
7363         * docs/gst/tmpl/GstElement.sgml:
7364         * docs/gst/tmpl/GstEvent.sgml:
7365         * docs/gst/tmpl/GstIndex.sgml:
7366         * docs/gst/tmpl/GstStructure.sgml:
7367         * docs/gst/tmpl/GstTag.sgml:
7368         * docs/gst/tmpl/old/GstBin.sgml:
7369         * docs/gst/tmpl/old/GstBuffer.sgml:
7370         * docs/gst/tmpl/old/GstCaps.sgml:
7371         * docs/gst/tmpl/old/GstClock.sgml:
7372         * docs/gst/tmpl/old/GstCompat.sgml:
7373         * docs/gst/tmpl/old/GstData.sgml:
7374         * docs/gst/tmpl/old/GstElement.sgml:
7375         * docs/gst/tmpl/old/GstEvent.sgml:
7376         * docs/gst/tmpl/old/GstIndex.sgml:
7377         * docs/gst/tmpl/old/GstStructure.sgml:
7378         * docs/gst/tmpl/old/GstTag.sgml:
7379
7380 2004-04-28  David Schleef  <ds@schleef.org>
7381
7382         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7383         (gst_caps_append), (gst_caps_append_structure),
7384         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
7385         (gst_caps_set_simple), (gst_caps_set_simple_valist),
7386         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
7387         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
7388         (gst_caps_intersect), (gst_caps_normalize),
7389         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
7390         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
7391         * gst/gstcaps.h: use GST_IS_CAPS().
7392
7393 2004-04-26  David Schleef  <ds@schleef.org>
7394
7395         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
7396         assembly.  gcc doesn't handle it correctly. (bug #141083)
7397         * gst/gsttrashstack.h: same
7398
7399 2004-04-25  Benjamin Otte  <otte@gnome.org>
7400
7401         * gst/gstelement.c: (gst_element_change_state):
7402           fix assertion to do an int comparison
7403
7404 2004-04-25  Benjamin Otte  <otte@gnome.org>
7405
7406         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7407           better debugging output on error
7408
7409 2004-04-25  Benjamin Otte  <otte@gnome.org>
7410
7411         * gst/gstcaps.c: (gst_caps_subtract):
7412           fix memleak
7413
7414 2004-04-23  Benjamin Otte  <otte@gnome.org>
7415
7416         * gst/gstvalue.c: (gst_value_compare_buffer),
7417         (_gst_value_initialize):
7418           add comparison function for buffers
7419
7420 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7421
7422         * docs/pwg/pwg.xml:
7423           Just found out that this so-called "ima-wav" format is really
7424           just "dvi adpcm" (according to the MS WAV documentation). So
7425           renaming it. We didn't use it yet anyway.
7426
7427 2004-04-23  Benjamin Otte  <otte@gnome.org>
7428
7429         * gst/gstcaps.c: (gst_caps_is_always_compatible):
7430           call gst_caps_is_subset
7431
7432 2004-04-23  Benjamin Otte  <otte@gnome.org>
7433
7434         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
7435         (gst_caps_is_subset):
7436           add documentation
7437
7438 2004-04-23  Benjamin Otte  <otte@gnome.org>
7439           
7440         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
7441         (gst_caps_structure_subtract), (gst_caps_subtract),
7442         (gst_caps_structure_figure_out_union),
7443         (gst_caps_structure_simplify), (gst_caps_do_simplify):
7444           fix simplifying and subtracting not working correctly with optional
7445           properties
7446           solve assorted problems that make it now simplify ebven more
7447         * docs/gst/tmpl/gstcaps.sgml:
7448         * gst/gstcaps.h:
7449           make gst_caps_do_simplify return a bool to indicate if it simplified
7450         * testsuite/caps/simplify.c: (main):
7451           add more checks. The tests is quite a bit useless right now because
7452           the core is heavily simplifying itself.
7453         * testsuite/caps/caps.h:
7454           fix caps to contain all optional properties
7455
7456 2004-04-22  Benjamin Otte  <otte@gnome.org>
7457
7458         * docs/gst/tmpl/gstcaps.sgml:
7459         * docs/gst/tmpl/gstfilesrc.sgml:
7460         * docs/gst/tmpl/gststructure.sgml:
7461         * docs/gst/tmpl/gstvalue.sgml:
7462           update for recent API changes
7463         * gst/gstcaps.c: (gst_caps_do_simplify):
7464           fix to stop trying with a freed structure
7465         * gst/gstpad.c: (gst_pad_link_fixate):
7466           simplify caps
7467         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
7468           remove C++ comment
7469         * gst/gstpad.h:
7470           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
7471         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7472         (gst_structure_to_string):
7473           keep the correct type when using lists of ranges
7474         * gst/gstvalue.c: (gst_value_list_prepend_value),
7475         (gst_value_list_append_value):
7476           copy the value before adding to the list (d'oh)
7477         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
7478         (gst_value_subtract_int_range_int_range):
7479           handle overflows correctly
7480         * gst/gstvalue.c: (gst_value_subtract_from_list):
7481           fix memleak
7482         * testsuite/caps/caps.h:
7483           add a caps that caused segfaults
7484
7485 2004-04-22  Benjamin Otte  <otte@gnome.org>
7486
7487         * testsuite/refcounting/pad.c: (main):
7488           fix test
7489
7490 2004-04-22  Benjamin Otte  <otte@gnome.org>
7491
7492         * gst/gstcaps.c: (gst_caps_subtract):
7493           allow subtracting ANY and EMPTY from ANY caps
7494
7495 2004-04-22  Benjamin Otte  <otte@gnome.org>
7496
7497         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
7498         (gst_caps_union):
7499           only simplify in functions that create new caps. Simplifying in
7500           gst_caps_append breaks tests.
7501
7502 2004-04-22  Benjamin Otte  <otte@gnome.org>
7503
7504         * gst/gstcaps.c: (gst_caps_structure_simplify):
7505           unset GValue after use
7506         * gst/gstcaps.c: (gst_caps_append), 
7507         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
7508           use gst_caps_simplify (reduces registry size by 30%)
7509         * gst/gstpad.c: (gst_pad_template_new):
7510           don't allow NULL caps
7511
7512 2004-04-22  Benjamin Otte  <otte@gnome.org>
7513
7514         * docs/gst/gstreamer-sections.txt:
7515           add gst_caps_do_simplify
7516         * gst/gstcaps.c:
7517           add documentation for gst_caps_do_simplify
7518         * gst/gstvalue.h:
7519           fix typo in gst_value_register_subtract_func declaration for gst-doc
7520
7521 2004-04-22  Benjamin Otte  <otte@gnome.org>
7522
7523         * gst/gstcaps.c: (gst_caps_from_string_inplace):
7524           fix bug when converting from empty string.
7525         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
7526         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
7527           use gst_caps_new_empty to allocate a new caps. Only that function
7528           allocates memory for caps now.
7529         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
7530         (gst_caps_remove_structure):
7531           add ability to remove one structure (but not to header yet)
7532         * gst/gstcaps.c: (gst_caps_compare_structures),
7533         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
7534         (gst_caps_structure_simplify), (gst_caps_do_simplify),
7535         * gst/gstcaps.h:
7536           add gst_caps_do_simplify that tries to simplify a caps in place.
7537           Deprecate old gst_caps_simplify function.
7538         * testsuite/caps/caps.h:
7539           add caps.h containing a common set of caps to test against.
7540         * testsuite/caps/sets.c: (check_caps), (main):
7541           use it.
7542         * testsuite/caps/.cvsignore:
7543         * testsuite/caps/Makefile.am:
7544         * testsuite/caps/simplify.c: (check_caps), (main):
7545           add test to check correctness and efficency of caps simplification.
7546
7547 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
7548
7549         reviewed by Benjamin Otte  <otte@gnome.org>
7550
7551         * gst/gstparse.c: (_gst_parse_escape):
7552           Free the GString used in _gst_parse_escape()
7553
7554 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7555
7556         * gst/gstpad.c: (gst_pad_link_negotiate):
7557           refuse to link if the link is not possible
7558         * configure.ac:
7559         * testsuite/Makefile.am:
7560         * testsuite/negotiation/.cvsignore:
7561         * testsuite/negotiation/Makefile.am:
7562         * testsuite/negotiation/pad_link.c: (main):
7563           add test that checks the above behaviour
7564
7565 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7566
7567         * docs/gst/gstreamer-sections.txt:
7568           add newly added API
7569
7570 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7571
7572         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
7573         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
7574         (gst_filesrc_open_file), (gst_filesrc_close_file),
7575         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
7576         * gst/elements/gstfilesrc.h:
7577           add support for non-regular files (#140734)
7578
7579 2004-04-21  Benjamin Otte  <otte@gnome.org>
7580
7581         * gst/gstpad.c: (gst_pad_link_fixate):
7582           add sophisticated error checking code to see if fixation functions
7583           did their fixation right
7584
7585 2004-04-21  Benjamin Otte  <otte@gnome.org>
7586
7587         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
7588           check for ANY caps before appending/unioning
7589         * gst/gstcaps.c: (gst_caps_is_subset),
7590         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
7591         (gst_caps_structure_subtract), (gst_caps_subtract):
7592         * gst/gstcaps.h:
7593           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
7594           the API. deprecate gst_caps_is_equal_fixed
7595         * gst/gstpad.c: (gst_pad_try_set_caps):
7596         * gst/gstqueue.c: (gst_queue_link):
7597           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
7598         * gst/gststructure.c: (gst_structure_get_name_id):
7599         * gst/gststructure.h:
7600           add function gst_structure_get_name_id
7601         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
7602         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7603         (gst_value_subtract_int_range_int_range),
7604         (gst_value_subtract_double_double_range),
7605         (gst_value_subtract_double_range_double),
7606         (gst_value_subtract_double_range_double_range),
7607         (gst_value_subtract_from_list), (gst_value_subtract_list),
7608         (gst_value_can_intersect), (gst_value_subtract),
7609         (gst_value_can_subtract), (gst_value_register_subtract_func),
7610         (_gst_value_initialize):
7611         * gst/gstvalue.h:
7612           add support for subtracting values from each other. Note that
7613           subtracting means subtracting as in set theory. Required for caps
7614           stuff above.
7615         * testsuite/caps/.cvsignore:
7616         * testsuite/caps/Makefile.am:
7617         * testsuite/caps/erathostenes.c: (erathostenes), (main):
7618         * testsuite/caps/sets.c: (check_caps), (main):
7619         * testsuite/caps/subtract.c: (check_caps), (main):
7620           add tests for subtraction and equality code.
7621
7622 2004-04-20  David Schleef  <ds@schleef.org>
7623
7624         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
7625         * gst/indexers/Makefile.am:
7626         * gst/schedulers/Makefile.am:
7627         * libs/gst/bytestream/Makefile.am:
7628         * libs/gst/control/Makefile.am:
7629         * libs/gst/getbits/Makefile.am:
7630
7631 2004-04-20  David Schleef  <ds@schleef.org>
7632
7633         * common/as-libtool.mak: Fine-tune DLL building.
7634         * configure.ac: Link plugins against libgstreamer.  Define plugindir
7635         (like gst-plugins)
7636         * examples/plugins/Makefile.am: remove plugindir
7637         * gst/autoplug/Makefile.am: DLL building fixes
7638         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
7639         Windows.
7640         * gst/elements/gstelements.c: Conditionally disable pipefilter.
7641         * gst/indexers/Makefile.am: DLL building fixes
7642         * gst/schedulers/Makefile.am: DLL building fixes.
7643         * libs/gst/bytestream/Makefile.am: DLL building fixes.
7644         * libs/gst/control/Makefile.am: same
7645         * libs/gst/getbits/Makefile.am: same
7646         * testsuite/Makefile.am: New dlopen directory
7647         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
7648         when dlopened.
7649         * testsuite/dlopen/dlopen_gst.c: (main): same
7650         * testsuite/dlopen/loadgst.c: (do_test): same
7651
7652 2004-04-20  David Schleef  <ds@schleef.org>
7653
7654         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
7655         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
7656
7657 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7658
7659         * gst/gstelement.c: (gst_element_wait),
7660         (gst_element_set_time_delay), (gst_element_change_state):
7661           Use GST_TIME_*
7662
7663 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7664
7665         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
7666         (gst_spider_identity_plug):
7667           improve debugging messages
7668         * gst/gstbin.c: (gst_bin_remove_func):
7669           make sure the state_change function is only called with simple state
7670           transitions
7671
7672 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7673
7674         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
7675         (gst_fakesink_set_property), (gst_fakesink_chain):
7676         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
7677         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
7678         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
7679         * gst/elements/gstidentity.c: (gst_identity_chain),
7680         (gst_identity_set_property):
7681         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
7682         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
7683           add warnings to _set_property for unknown arguments
7684           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
7685
7686 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7687
7688         * Makefile.am:
7689         * docs/manuals.mak:
7690           add .po file download snippet
7691           fix a bug in the doc makefile
7692
7693 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7694
7695         * Makefile.am:
7696         * po/LINGUAS:
7697         * po/en_GB.po:
7698           Added en_GB translation (Gareth Owen)
7699
7700 2004-04-20  Johan Dahlin  <johan@gnome.org>
7701
7702         * gst/gstpad.c (_invent_event): Clean up
7703
7704 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7705
7706         * testsuite/caps/filtercaps.c: (main):
7707           fix test to test things correctly (caps are complicated)
7708
7709 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7710
7711         * testsuite/caps/Makefile.am:
7712         * testsuite/caps/filtercaps.c: (main):
7713           add test (that doesn't work right now, but should)
7714
7715 2004-04-19  David Schleef  <ds@schleef.org>
7716
7717         * configure.ac: Add test for allowing unaligned access.  Add define
7718         to put in gstconfig.h.
7719         * docs/gst/gstreamer-sections.txt: New symbols
7720         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
7721         * docs/gst/tmpl/gstfilesrc.sgml:
7722         * docs/gst/tmpl/gstparse.sgml:
7723         * docs/gst/tmpl/gsttypes.sgml:
7724         * docs/gst/tmpl/gstutils.sgml:
7725         * docs/gst/tmpl/gstvalue.sgml:
7726         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
7727         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
7728         on most !i386/!powerpc architectures.  From Daniel Gazard
7729         <daniel.gazard@free.fr>.  (bug #140156)
7730         * po/af.po: Check in changes made by gettext.
7731         * po/az.po:
7732         * po/fr.po:
7733         * po/nl.po:
7734         * po/sr.po:
7735         * po/sv.po:
7736
7737 2004-04-20  Benjamin Otte  <otte@gnome.org>
7738
7739         * gst/schedulers/entryscheduler.c: 
7740         (gst_entry_scheduler_yield):
7741           refuse to yield when decoupled elements insist on doing that.
7742           At least it's better than crashing
7743
7744 2004-04-19  David Schleef  <ds@schleef.org>
7745
7746         * docs/libs/Makefile.am: Change sinclude to include
7747         * docs/gst/Makefile.am: same
7748         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
7749
7750 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7751
7752         * po/LINGUAS:
7753         * po/uk.po:
7754           Added Ukrainian translation (Maxim V. Dziumanenko)
7755
7756 2004-04-19  Johan Dahlin  <johan@gnome.org>
7757
7758         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
7759         checking here, do it before calling the function.
7760         Clean up, use for loops instead of while loops while iterating
7761         over lists.
7762
7763         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
7764         in debug message.
7765         (gst_spider_create_and_plug): Improve debug message.
7766         General: Replace while loops which iterates over GLists with for
7767         loops. Which are much cleaner, improves readability, especially
7768         for gst_spider_identity_plug
7769
7770         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
7771         fixes bug 140477
7772
7773 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7774
7775         * po/LINGUAS:
7776         * po/tr.po:
7777           Added Turkish translation (Baris Cicek)
7778
7779 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7780
7781         * docs/faq/troubleshooting.xml:
7782           Mention gst-register in the FAQ (fixes 139045).
7783
7784 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7785
7786         * docs/gst/gstreamer-sections.txt:
7787
7788 2004-04-17  Benjamin Otte  <otte@gnome.org>
7789
7790         * gst/gstelement.c: (gst_element_dispose):
7791           simplify
7792         * gst/gstpad.c: (gst_pad_call_chain_function):
7793           don't create loads of events due to bad macro usage
7794
7795 2004-04-16  David Schleef  <ds@schleef.org>
7796
7797         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
7798         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
7799         * gst/gstvalue.c: (gst_value_serialize_buffer),
7800         (gst_value_deserialize_buffer), (gst_type_is_fixed),
7801         (_gst_value_initialize): Create a new function gst_type_is_fixed()
7802         to indicate types that are fixed wrt caps or not.  Switching to
7803         this function fixes (bug #140298).
7804         * gst/gstvalue.h:
7805
7806 2004-04-16  David Schleef  <ds@schleef.org>
7807
7808         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
7809         for GST_UNALIGNED_ACESS, since we essentially know which archs
7810         are ok.
7811
7812 2004-04-17  Benjamin Otte  <otte@gnome.org>
7813
7814         * docs/gst/Makefile.am:
7815           ignore gst/parse directory when building docs (fixes #140205)
7816
7817 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7818
7819         * testsuite/refcounting/mem.c: (vmsize):
7820           do error checking
7821
7822 2004-04-16  Johan Dahlin  <johan@gnome.org>
7823
7824         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
7825         and gst_pad_call_get_function.
7826
7827 2004-04-15  David Schleef  <ds@schleef.org>
7828
7829         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
7830         checks if we can access unaligned memory.
7831         * configure.ac: Use it.
7832
7833 2004-04-16  Benjamin Otte  <otte@gnome.org>
7834
7835         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
7836         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
7837         * gst/elements/gstfilesrc.h:
7838           s/seek_happened/need_discont/ and require discont before sending any
7839           data
7840
7841 2004-04-15  David Schleef  <ds@schleef.org>
7842
7843         * gst/gstvalue.c: (gst_value_serialize_buffer),
7844         (gst_value_deserialize_buffer), (_gst_value_initialize):
7845         Register these types as fundamental types. (bug #140015)
7846
7847 2004-04-16  Benjamin Otte  <otte@gnome.org>
7848
7849         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
7850         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
7851         (gst_pad_pull):
7852           implement enforcing discont events before buffers are passed. This
7853           allows state changes of only some elements and later correctly going
7854           on where they left off (or in short: you can now set audio sinks to
7855           NULL to release the device when the pipeline is paused)
7856         * gst/gstpad.c: (gst_pad_call_chain_function),
7857         (gst_pad_call_get_function):
7858         * gst/gstpad.h:
7859           add gst_pad_call_chain_function and gst_pad_call_get_function for
7860           scheduler interaction. They are required because of the changes
7861           above.
7862         * gst/schedulers/entryscheduler.c: (get_buffer),
7863         (gst_entry_scheduler_chain_wrapper),
7864         (gst_entry_scheduler_get_wrapper),
7865         (gst_entry_scheduler_state_transition),
7866         (gst_entry_scheduler_pad_link):
7867         * gst/schedulers/gstbasicscheduler.c:
7868         (gst_basic_scheduler_chain_wrapper),
7869         (gst_basic_scheduler_src_wrapper),
7870         (gst_basic_scheduler_chainhandler_proxy),
7871         (gst_basic_scheduler_gethandler_proxy),
7872         (gst_basic_scheduler_cothreaded_chain),
7873         (gst_basic_scheduler_chain_elements):
7874         * gst/schedulers/gstoptimalscheduler.c:
7875         (get_group_schedule_function), (pad_clear_queued),
7876         (gst_opt_scheduler_pad_link):
7877           use the new functions instead of calling get/chain-functions
7878           directly.
7879
7880 2004-04-15  David Schleef  <ds@schleef.org>
7881
7882         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
7883         * docs/gst/tmpl/gstinfo.sgml: same
7884         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
7885         gtk-doc put here.
7886         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
7887         * examples/queue/queue.c: (main):  We iterate pipelines, not
7888         bins.  (bug #139996)
7889
7890 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7891
7892         * docs/pwg/advanced-types.xml:
7893           Add MS RLE support. Also document Qt RLE although I have no sample
7894           files for that yet. And document an extra property for ADPCM.
7895
7896 2004-04-15  David Schleef  <ds@schleef.org>
7897
7898         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
7899         (_gst_plugin_fault_handler_setup):  Disable more stuff on
7900         Windows.
7901
7902 2004-04-15  David Schleef  <ds@schleef.org>
7903
7904         * gst/gstinfo.c: (_gst_debug_init): Change some internal
7905         symbol names to not conflict with new gstinfo.h symbols.
7906         * gst/gstinfo.h: Add inline functions for all those crazy
7907         compilers that don't know how to handle variadic macros (MSVC).
7908
7909 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7910
7911         * configure.ac: bump nano to 1
7912
7913 === release 0.8.1 ===
7914
7915 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7916
7917         * NEWS:
7918         * RELEASE:
7919         * configure.ac:
7920           releasing 0.8.1, "Snow Brigade"
7921
7922 2004-04-14  David Schleef  <ds@schleef.org>
7923
7924         * testsuite/Makefile.am: define tests_ignore
7925         * testsuite/Rules: Added new tests_ignore, which get compiled,
7926         but not run (generally because they're inconsistent or have
7927         heisenbugs).  Now we can ensure all the .c files compile in
7928         testsuite/.
7929         * testsuite/bins/Makefile.am: define tests_ignore
7930         * testsuite/bytestream/Makefile.am:
7931         * testsuite/caps/Makefile.am:
7932         * testsuite/clock/Makefile.am:
7933         * testsuite/debug/Makefile.am:
7934         * testsuite/debug/global.c: (gst_debug_log_one),
7935         (gst_debug_log_two): Fix compilation problem.
7936         * testsuite/dynparams/Makefile.am:
7937         * testsuite/elements/Makefile.am:
7938         * testsuite/ghostpads/Makefile.am:
7939         * testsuite/indexers/Makefile.am:
7940         * testsuite/parse/Makefile.am:
7941         * testsuite/plugin/Makefile.am:
7942         * testsuite/refcounting/Makefile.am:
7943         * testsuite/refcounting/element_pad.c: (main): Don't return leak
7944         results, because it's not calculated correctly.
7945         * testsuite/refcounting/pad.c: (main): same
7946         * testsuite/states/Makefile.am:
7947         * testsuite/tags/Makefile.am:
7948         * testsuite/threads/Makefile.am:
7949
7950 2004-04-14  David Schleef  <ds@schleef.org>
7951
7952         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
7953         generating bad code around the cpu detection asm code.
7954
7955 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7956
7957         * tools/gst-inspect.c: (print_element_info):
7958           print numeric version of rank as well, since we added some - 1
7959           rank values to elements
7960
7961 2004-04-13  David Schleef  <ds@schleef.org>
7962
7963         * configure.ac:  Disable various code when compiling for MinGW.
7964         * gst/elements/Makefile.am:
7965         * gst/elements/gstelements.c:
7966         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
7967         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
7968         * gst/registries/gstxmlregistry.c: (make_dir):
7969
7970 2004-04-13  David Schleef  <ds@schleef.org>
7971
7972         * gst/Makefile.am:
7973         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
7974         assembly.
7975         * gst/gstcpuid_i386.s: remove
7976
7977 2004-04-13  David Schleef  <ds@schleef.org>
7978
7979         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
7980         seems to think it needs to be done.
7981         * docs/gst/tmpl/gstfakesink.sgml:
7982         * docs/gst/tmpl/gstfakesrc.sgml:
7983         * docs/gst/tmpl/gstfdsink.sgml:
7984         * docs/gst/tmpl/gstfdsrc.sgml:
7985         * docs/gst/tmpl/gstfilesink.sgml:
7986         * docs/gst/tmpl/gstfilesrc.sgml:
7987         * docs/gst/tmpl/gstidentity.sgml:
7988         * docs/gst/tmpl/gstmd5sink.sgml:
7989         * docs/gst/tmpl/gstmultifilesrc.sgml:
7990         * docs/gst/tmpl/gstpipefilter.sgml:
7991         * docs/gst/tmpl/gstshaper.sgml:
7992         * docs/gst/tmpl/gstspider.sgml:
7993         * docs/gst/tmpl/gstspideridentity.sgml:
7994         * docs/gst/tmpl/gststatistics.sgml:
7995         * docs/gst/tmpl/gsttee.sgml:
7996         * docs/gst/tmpl/gsttypefind.sgml:
7997         * docs/gst/tmpl/gstutils.sgml:
7998
7999 2004-04-13  David Schleef  <ds@schleef.org>
8000
8001         * configure.ac: Changes to remove POSIXisms (mmap in this case)
8002         and to build DLLs on Windows.
8003         * gst/Makefile.am:
8004         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8005         (gst_filesrc_open_file):
8006         * gst/schedulers/Makefile.am:
8007
8008 2004-04-13  David Schleef  <ds@schleef.org>
8009
8010         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
8011         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
8012         fixating lists.
8013
8014 2004-04-12  David Schleef  <ds@schleef.org>
8015
8016         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
8017         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
8018         to using it.
8019         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
8020         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
8021         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
8022         * gst/gststructure.c: (gst_structure_set_valist),
8023         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
8024         support for buffers.
8025         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
8026         intended to be const.
8027         * gst/gsttag.h: same
8028         * gst/gstvalue.c: (gst_value_serialize_buffer),
8029         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
8030         to (de)serialize buffers.
8031         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
8032         * testsuite/caps/string-conversions.c: (main):
8033         * testsuite/caps/value_serialize.c: add new test
8034
8035 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8036
8037         * docs/pwg/advanced-types.xml:
8038           Document MS video 1 (video/x-msvideocodec) mimetype/format.
8039
8040 2004-04-11  Benjamin Otte  <otte@gnome.org>
8041
8042         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
8043           rename categories to basic_*
8044         * gst/schedulers/gstbasicscheduler.c: 
8045         (gst_basic_scheduler_chain_wrapper),
8046         (gst_basic_scheduler_chainhandler_proxy),
8047         (gst_basic_scheduler_gethandler_proxy),
8048         (gst_basic_scheduler_eventhandler_proxy):
8049           debugging category fixes - put common stuff in log category
8050         * gst/schedulers/gstbasicscheduler.c: 
8051         (gst_basic_scheduler_chain_elements):
8052           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
8053           active and linking two active chains
8054
8055 2004-04-10  Benjamin Otte  <otte@gnome.org>
8056
8057         * docs/pwg/intro-preface.xml:
8058           fix dead links and remove reference to Wiki
8059
8060 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8061
8062         * gst/schedulers/gstbasicscheduler.c:
8063           make sure we can switch back to the main function if we're still in
8064           the main function (supposed to fix #139617)
8065         * gst/schedulers/gthread-cothreads.h:
8066           don't throw an error when switching to the same cothread
8067
8068 2004-04-09  Benjamin Otte  <otte@gnome.org>
8069
8070         * gst/gstbin.c: (gst_bin_get_type):
8071         * gst/gstclock.c: (gst_clock_get_type):
8072         * gst/gstindex.c: (gst_index_get_type):
8073         * gst/gstobject.c: (gst_object_get_type),
8074         (gst_signal_object_get_type):
8075         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
8076         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
8077         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
8078         * gst/gstqueue.c: (gst_queue_get_type):
8079         * gst/gstregistry.c: (gst_registry_get_type):
8080         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8081         * gst/gstthread.c: (gst_thread_get_type):
8082           don't use memchunks for these objects, use malloc instead
8083
8084 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8085
8086         * docs/gst/.cvsignore:
8087         * docs/gst/Makefile.am:
8088         * docs/gst/gstreamer-sections.txt:
8089         * docs/gst/tmpl/gstaggregator.sgml:
8090         * docs/gst/tmpl/gstbuffer.sgml:
8091         * docs/gst/tmpl/gstclock.sgml:
8092         * docs/gst/tmpl/gstelement.sgml:
8093         * docs/gst/tmpl/gstfakesink.sgml:
8094         * docs/gst/tmpl/gstfakesrc.sgml:
8095         * docs/gst/tmpl/gstfdsink.sgml:
8096         * docs/gst/tmpl/gstfdsrc.sgml:
8097         * docs/gst/tmpl/gstfilesink.sgml:
8098         * docs/gst/tmpl/gstfilesrc.sgml:
8099         * docs/gst/tmpl/gstidentity.sgml:
8100         * docs/gst/tmpl/gstindex.sgml:
8101         * docs/gst/tmpl/gstinfo.sgml:
8102         * docs/gst/tmpl/gstmd5sink.sgml:
8103         * docs/gst/tmpl/gstmultifilesrc.sgml:
8104         * docs/gst/tmpl/gstpad.sgml:
8105         * docs/gst/tmpl/gstpipefilter.sgml:
8106         * docs/gst/tmpl/gstpipeline.sgml:
8107         * docs/gst/tmpl/gstpluginfeature.sgml:
8108         * docs/gst/tmpl/gstqueue.sgml:
8109         * docs/gst/tmpl/gstregistry.sgml:
8110         * docs/gst/tmpl/gstscheduler.sgml:
8111         * docs/gst/tmpl/gstshaper.sgml:
8112         * docs/gst/tmpl/gstspider.sgml:
8113         * docs/gst/tmpl/gstspideridentity.sgml:
8114         * docs/gst/tmpl/gststatistics.sgml:
8115         * docs/gst/tmpl/gstsystemclock.sgml:
8116         * docs/gst/tmpl/gsttee.sgml:
8117         * docs/gst/tmpl/gstthread.sgml:
8118         * docs/gst/tmpl/gsttypefind.sgml:
8119         * docs/gst/tmpl/gstutils.sgml:
8120           further doc build fixes
8121
8122 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8123
8124         * docs/gst/Makefile.am:
8125           make docs exit on scanning problems
8126           fix nonsrcdir build issues
8127         * docs/gst/gstreamer-sections.txt:
8128           adding stuff from -unused
8129         * gst/gstqueue.h:
8130           create GstQueueSize
8131         * gst/schedulers/cothreads_compat.h:
8132           fix cothread warnings
8133
8134 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8135
8136         * docs/gst/gstreamer-sections.txt:
8137           remove defines deprecated by Benjamin
8138
8139 2004-04-07  Benjamin Otte  <otte@gnome.org>
8140
8141         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8142           when the buffer is complete, don't check if other buffers are needed
8143         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
8144           check that the offset is >0 so we don't try to read before the
8145           beginning of the file
8146         * gst/gstpad.c: (gst_pad_set_pad_template):
8147           sink the template, so we don't end up with 130k pad templates
8148
8149 2004-04-06  Benjamin Otte  <otte@gnome.org>
8150
8151         * gst/autoplug/gstspider.c: (gst_spider_link_add):
8152           don't ref the element, adding already reffed it. And we didn't unref
8153           it later anyway... (huge memleak when you used many spider elements)
8154         * gst/gstelement.c: (gst_element_base_class_finalize):
8155         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
8156         (gst_element_register):
8157         * gst/gsturi.c: (gst_element_make_from_uri):
8158           use gst_object_(un)ref instead of g_object(un)ref
8159
8160 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8161
8162         * gst/gstbuffer.h:
8163           remove macro that wouldn't work anymore because struct member has
8164           been removed.
8165         * gst/schedulers/entryscheduler.c: (schedule_forward):
8166           fix segfault for unconnected pads
8167         
8168 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8169
8170         reviewed by David Schleef <ds@schleef.org>
8171
8172         * gst/gstinfo.h:
8173           *_FORMAT modifiers should require putting a % in front of them for
8174           consistency reasons.
8175
8176 2004-04-05  Colin Walters  <walters@redhat.com>
8177
8178         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
8179         space.
8180
8181 2004-04-05  Benjamin Otte  <otte@gnome.org>
8182
8183         * configure.ac:
8184         * gst/Makefile.am:
8185         * gst/gst_private.h:
8186         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
8187           add support for detecting if GStreamer runs inside valgrind.
8188           requires valgrind (d'oh) and --enable-debug for correct cdetection.
8189           print a big message in valgrind that GStreamer has detected it's
8190           running inside and might now use different code.
8191         * gst/gstmemchunk.c: (populate), (free_area),
8192         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
8193         (gst_mem_chunk_free):
8194           flag memchunks for valgrind, so it can detect leaking of chunks.
8195           This allows detecting leaks of GstBuffer and GstEvent correctly
8196           inside valgrind.
8197
8198 2004-04-05  David Schleef  <ds@schleef.org>
8199
8200         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
8201           jensgr@gmx.net (Jens Granseuer)
8202
8203 2004-04-05  David Schleef  <ds@schleef.org>
8204
8205         * gst/gstbuffer.c: (_gst_buffer_sub_free),
8206         (gst_buffer_default_free), (gst_buffer_default_copy),
8207         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
8208         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
8209         structures in one place.
8210
8211 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8212
8213         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
8214           (GST_TIME_FORMAT, GST_TIME_ARGS)
8215
8216 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8217
8218         * testsuite/elements/Makefile.am:
8219           disable test until it stops breaking make distcheck
8220
8221 2004-04-05  Johan Dahlin  <johan@gnome.org>
8222
8223         * po/sv.po: Updated translation
8224
8225 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8226
8227         * gst/gstplugin.c: (gst_plugin_load_file):
8228           fix segfault for when original plugin was loaded statically
8229
8230 2004-04-05  Benjamin Otte  <otte@gnome.org>
8231
8232         * testsuite/debug/category.c: (main):
8233         * testsuite/debug/commandline.c: (main):
8234         * testsuite/debug/output.c: (main):
8235           fix tests to work again with debugging enabled
8236
8237 2004-04-05  Benjamin Otte  <otte@gnome.org>
8238
8239         * gst/schedulers/gstbasicscheduler.c:
8240         (gst_basic_scheduler_pad_link):
8241           fix to work with recent scheduling changes
8242
8243 2004-04-05  Benjamin Otte  <otte@gnome.org>
8244
8245         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
8246         prepareChangeLog doesn't work when cvs indents):
8247           don't throw an error when no element can be scheduled, there's too
8248           many weird reasons why it doesn't work. Return STOPPED instead.
8249           decoupled elemts' schedulability doesn't depend on bufpens.
8250
8251 2004-04-04  Benjamin Otte  <otte@gnome.org>
8252
8253         * gst/schedulers/gstbasicscheduler.c:
8254         (gst_basic_scheduler_pad_select):
8255           fix uninitialized variable warnings
8256
8257 2004-04-04  Benjamin Otte  <otte@gnome.org>
8258
8259         * gst/gstpad.c: (gst_pad_collect_valist):
8260           fix uninitialized variable warning
8261         * gst/schedulers/entryscheduler.c: (schedule_forward):
8262           fix shadowed variable
8263
8264 2004-04-04  Benjamin Otte  <otte@gnome.org>
8265
8266         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
8267         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
8268         (gst_pad_select):
8269         * gst/gstpad.h:
8270         * gst/gstscheduler.c: (gst_scheduler_pad_select),
8271         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
8272         * gst/gstscheduler.h:
8273           implement gst_pad_collect as replacement for gst_pad_select.
8274           deprecate gst_pad_select and gst_scheduler_(un)lock_element
8275           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
8276           new pad_select, lock and unlock calls.
8277         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
8278         * gst/cothreads.h:
8279         * gst/schedulers/cothreads_compat.h:
8280         * gst/schedulers/gthread-cothreads.h:
8281           remove unused cothread_lock and cothread_unlock calls
8282         * gst/schedulers/entryscheduler.c:
8283         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
8284         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
8285         (gst_entry_scheduler_pad_select):
8286           update to new API
8287         * gst/schedulers/gstbasicscheduler.c:
8288         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
8289         (gst_basic_scheduler_pad_select):
8290           remove useless lock and unlock calls, update pad_select to new API
8291           (untested)
8292         * gst/schedulers/gstoptimalscheduler.c:
8293         (gst_opt_scheduler_class_init):
8294           remove useless select, lock and unlock function calls
8295         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
8296           use gst_pad_collect instead of gst_pad_select
8297
8298 2004-04-04  Benjamin Otte  <otte@gnome.org>
8299
8300         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
8301         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
8302         (schedule_next_element), (print_entry):
8303           add can_schedule_pad to handle element states.
8304           add schedule_forward to select the correct entry to schedule next
8305
8306 2004-04-03  Benjamin Otte  <otte@gnome.org>
8307
8308         * gst/schedulers/entryscheduler.c: 
8309           remove unused variable, fix error inside Rb, fix compile warning in
8310           unreachable code
8311
8312 2004-04-03  Benjamin Otte  <otte@gnome.org>
8313
8314         * gst/schedulers/entryscheduler.c:
8315           completely revamp the inner workings, so it's a lot easier to
8316           understand and extend
8317
8318 2004-04-03  Andy Wingo  <wingo@pobox.com>
8319
8320         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
8321         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
8322         This allows better introspection of pipeline topology.
8323         (add_to_chain): Don't do trickery to put loop elements first;
8324         rather, queue a chain sort by marking the chain as dirty.
8325         (remove_from_chain): Mark the chain dirty.
8326         (sort_chain): New function. Sorts the group list so that terminal
8327         sinks are first. This means elements on the sink side will be
8328         preferentially sscheduled before elements on the src side of the
8329         pipeline.
8330         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
8331         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
8332         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
8333         (group_inc_link): Change argument and variable names to match the
8334         new link structure member names (src and sink).
8335         (group_dec_link): Add some description
8336
8337 2004-04-03  Benjamin Otte  <otte@gnome.org>
8338
8339         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
8340         * gst/gstinfo.h:
8341         * testsuite/debug/category.c: (main):
8342         * testsuite/debug/commandline.c: (main):
8343         * testsuite/debug/output.c: (main):
8344         * testsuite/debug/printf_extension.c: (main):
8345           fix to successfully build and test with --disable-gst-debug
8346           configure switch (fixes #138705)
8347
8348 2004-04-03  Benjamin Otte  <otte@gnome.org>
8349
8350         * docs/pwg/building-boiler.xml:
8351           add cvs login line and s/anonymous/anoncvs/
8352
8353 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
8354
8355         reviewed by Benjamin Otte  <otte@gnome.org>
8356
8357         * gst/gststructure.c: (gst_structure_free):
8358           memleak fix: free fields array (partial fix for #134839)
8359
8360 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8361
8362         * docs/random/ds/0.9-suggested-changes:
8363           Add a note to change handoff use in fakesrc to be usable in
8364           a more generic way (fakesrc should be renamed to appsrc or so).
8365         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8366           Change signal type to scope, so we can fill the buffer in the
8367           handoff handler (that's the whole use of this signal...).
8368
8369 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8370
8371         * docs/pwg/other-ntoone.xml:
8372           Document muxers and n-to-1 elements.
8373
8374 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
8375
8376         * gst/registries/gstxmlregistry.c
8377         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
8378         determine if a file is a G_MODULE. The old one discards paths
8379         containing "so" somewhere in the middle. My home directory is
8380         called "soto". Go figure...
8381
8382 2004-03-31  David Schleef  <ds@schleef.org>
8383
8384         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
8385         to eventually deprecate gst_buffer_merge().  (bug: #136408)
8386         * gst/gstbuffer.h:
8387
8388 2004-03-31  David Schleef  <ds@schleef.org>
8389
8390         * gst/gstvalue.c: (gst_value_union_int_int_range),
8391         (gst_value_union_int_range_int_range), (gst_value_can_union),
8392         (gst_value_union), (_gst_value_initialize):  Add some union
8393         implementations.  We didn't have any previously.
8394         * testsuite/caps/Makefile.am:
8395         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
8396         (gst_audioscale_getcaps), (test_caps), (main): A little test
8397         that is the same as the caps manipulation in audioscale.
8398
8399 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8400
8401         * docs/faq/general.xml:
8402           add entry about "does gst support format X?"
8403
8404 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8405
8406         * gst/gstthread.c:
8407           fix docs
8408         * gst/gstutils.h:
8409           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
8410
8411 2004-03-30  Benjamin Otte  <otte@gnome.org>
8412
8413         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8414           set the offset of the buffer to the requested offset
8415         * gst/elements/gsttypefind.c: (stop_typefinding):
8416           revert patch 1.18 (which I unfortunately don't know the reason for).
8417           This is needed to allow downstream elements to seek. Otherwise
8418           typefind might overwrite a previous seek by downstream elements.
8419           This lead to errors with id3tag and typefind on some mp3s.
8420         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8421         (gst_entry_scheduler_iterate):
8422           be more verbose when debugging
8423
8424 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8425
8426         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8427           make sure we don't get NULL strings
8428
8429 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8430
8431         * gst/gstcaps.c:
8432         * gst/gstelement.c:
8433         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8434         * gst/gstindex.c: (gst_index_resolver_get_type),
8435         (gst_index_get_type), (gst_index_factory_get_type):
8436         * gst/gstinfo.c:
8437         * gst/gstpad.c:
8438         * gst/gstplugin.c:
8439         * gst/gsturi.c: (gst_uri_handler_get_type):
8440         * gst/gstvalue.c:
8441           first batch of documentation fixes
8442
8443 2004-03-29  David Schleef  <ds@schleef.org>
8444
8445         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
8446         * docs/gst/gstreamer-docs.sgml:  More hacking
8447         * docs/gst/gstreamer-sections.txt:
8448         * docs/gst/tmpl/cothreads_compat.sgml:
8449         * docs/gst/tmpl/gstcaps.sgml:
8450         * docs/gst/tmpl/gstclock.sgml:
8451         * docs/gst/tmpl/gstelement.sgml:
8452         * docs/gst/tmpl/gstevent.sgml:
8453         * docs/gst/tmpl/gstpad.sgml:
8454         * docs/gst/tmpl/gstutils.sgml:
8455         * docs/gst/tmpl/gstxml.sgml:
8456         * docs/gst/tmpl/gthread-cothreads.sgml:
8457         * docs/random/ds/0.9-suggested-changes:
8458         * gst/elements/gstfakesink.h: doc fixes
8459         * gst/elements/gstfakesrc.h: doc fixes
8460         * gst/gstcaps.c: doc fixes
8461         * gst/gstcaps.h: doc fixes
8462         * gst/gstelement.c: doc fixes
8463         * gst/gstelement.h: doc fixes
8464         * gst/gstindex.c: doc fixes
8465         * gst/gstinfo.c: doc fixes
8466         * gst/gstpad.c: doc fixes
8467         * gst/gstpad.h: doc fixes
8468         * gst/gstplugin.c: doc fixes
8469         * gst/gsttypefind.h: doc fixes
8470         * gst/gsturi.c: doc fixes
8471         * gst/gstvalue.c: doc fixes
8472
8473 2004-03-29  Colin Walters  <walters@redhat.com>
8474
8475         * gst/registries/gstxmlregistry.c (get_time)
8476         (plugin_times_older_than_recurse):
8477         Use the result of stat to determine whether a path is a file,
8478         so we don't attempt to opendir() files.
8479
8480 2004-03-29  Benjamin Otte  <otte@gnome.org>
8481
8482         * gst/gstpad.c: (gst_pad_set_explicit_caps):
8483           print caps in debugging output when setting caps failed
8484         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8485         (schedule_next_element), (get_buffer), (run_chainhandler),
8486         (element_may_start), (gst_entry_scheduler_chain_handler),
8487         (gst_entry_scheduler_get_handler),
8488         (gst_entry_scheduler_state_transition),
8489         (gst_entry_scheduler_pad_link):
8490           make this scheduler a testcase for mandatory
8491           discont-before-first-buffer which is needed if we want to allow apps
8492           to release the sound device.
8493           add SCHED_ASSERT macro to print scheduler state before an assertion
8494           triggers.
8495
8496 2004-03-29  Benjamin Otte  <otte@gnome.org>
8497
8498         * COPYING:
8499           replace by LGPL (former COPYING.LIB). The core is completely
8500           licensed LGPL.
8501         * COPYING.LIB:
8502           remove
8503
8504 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8505
8506         * po/af.po:
8507         * po/sv.po:
8508           updated Afrikaans and Swedish
8509
8510 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8511
8512         * po/LINGUAS:
8513         * po/az.po:
8514           adding Azerbaijani (Mətin Əmirov)
8515
8516 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
8517
8518         * gst/gstelement.h: 
8519         * gst/gstelement.c (gst_element_set_time_delay): New function for
8520         setting element time taking into account a hardware buffering
8521         delay.
8522         (gst_element_set_time): Now just an invocation of
8523         gst_element_set_time_delay.
8524         * gst/gstclock.h: 
8525         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
8526         allowing to set event times in the future.
8527         (gst_clock_get_event_time): Now just an invocation of
8528         gst_clock_get_event_time_delay.
8529
8530 2004-03-28  Benjamin Otte  <otte@gnome.org>
8531
8532         * gst/gstbin.c: (gst_bin_set_element_sched),
8533         (gst_bin_unset_element_sched):
8534           don't add decoupled elements to schedulers - otherwise it's
8535           impossible to control if a link to a decoupled element was already
8536           removed from a scheduler or not.
8537         * gst/schedulers/cothreads_compat.h:
8538         * gst/schedulers/gthread-cothreads.h:
8539           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
8540           is no "unused" warning.
8541         * gst/schedulers/Makefile.am:
8542         * gst/schedulers/entryscheduler.c:
8543           add new scheduler, based on ideas from talking to David and Martin.
8544           It's supposed to be small and correct. Currently it's also slow (but
8545           it's not noticable)
8546         * examples/retag/retag.c: (main):
8547         * testsuite/bytestream/test1.c: (main):
8548           fix missing NULLs at end of variadic functions
8549         * testsuite/elements/.cvsignore:
8550           update
8551
8552 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
8553
8554         * gst/gstevent.h:
8555         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
8556
8557 2004-03-25  David Schleef  <ds@schleef.org>
8558
8559         * docs/gst/gstreamer-sections.txt:  More doc hacking.
8560         * docs/gst/tmpl/gstaggregator.sgml:
8561         * docs/gst/tmpl/gstautoplugfactory.sgml:
8562         * docs/gst/tmpl/gstbin.sgml:
8563         * docs/gst/tmpl/gstbuffer.sgml:
8564         * docs/gst/tmpl/gstbufferstore.sgml:
8565         * docs/gst/tmpl/gstfakesink.sgml:
8566         * docs/gst/tmpl/gstfakesrc.sgml:
8567         * docs/gst/tmpl/gstmd5sink.sgml:
8568         * docs/gst/tmpl/gstreamer-unused.sgml:
8569         * docs/gst/tmpl/gstsearchfuncs.sgml:
8570         * docs/gst/tmpl/gstshaper.sgml:
8571         * docs/gst/tmpl/gstspider.sgml:
8572         * docs/gst/tmpl/gsttee.sgml:
8573         * docs/gst/tmpl/gstutils.sgml:
8574         * docs/gst/tmpl/gstvalue.sgml:
8575         * docs/gst/tmpl/gstxml.sgml:
8576         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
8577         and we don't support it.
8578         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8579         (gst_use_threads), (gst_has_threads): same
8580         * gst/gstthreaddummy.c: same
8581         * gst/autoplug/gstspider.c: Make gst_spider_details static.
8582         * gst/autoplug/gstspider.h: same
8583         * gst/elements/gstaggregator.h: Remove bogus function from header
8584         * gst/elements/gstfakesink.h: same
8585         * gst/elements/gstfakesrc.h: same
8586         * gst/elements/gstmd5sink.h: same
8587         * gst/elements/gstshaper.h: same
8588         * gst/elements/gsttee.h: same
8589         * gst/gstbin.c: doc fixes
8590         * gst/gstbin.h: Remove unused definition.
8591         * gst/gstbuffer.c: doc fixes
8592         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
8593         * gst/gstfilter.c: doc fixes
8594         * gst/gsttag.c: doc fixes
8595         * gst/gstvalue.c: doc fixes
8596
8597 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8598
8599         * docs/pwg/advanced-types.xml:
8600           Document typefinding.
8601         * docs/pwg/other-oneton.xml:
8602           Document one-to-n elements, demuxers and parsers.
8603
8604 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
8605
8606         reviewed by: David Schleef  <ds@schleef.org>
8607
8608         * configure.ac: Check bison version (bug #127838)
8609
8610 2004-03-25  David Schleef  <ds@schleef.org>
8611
8612         * docs/gst/gstreamer-docs.sgml: More fine tuning.
8613         * docs/gst/gstreamer-sections.txt:
8614         * docs/gst/tmpl/gstautoplug.sgml:
8615         * docs/gst/tmpl/gststaticautoplug.sgml:
8616         * docs/gst/tmpl/gststaticautoplugrender.sgml:
8617         * docs/gst/tmpl/gstutils.sgml:
8618         * docs/gst/tmpl/gstxml.sgml:
8619
8620 2004-03-24  David Schleef  <ds@schleef.org>
8621
8622         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
8623         manual being such complete crap, that I decided to do major
8624         hacking of it.  This checkin replaces any fine tuning that
8625         may have been done previously, with the benefit of actually
8626         being complete for much of the API that was changed since
8627         0.6.  Further fine tuning will occur shortly.  (bug #134721)
8628         * docs/gst/gstreamer-sections.txt:
8629         * docs/gst/tmpl/GstBin.sgml:
8630         * docs/gst/tmpl/GstBuffer.sgml:
8631         * docs/gst/tmpl/GstCaps.sgml:
8632         * docs/gst/tmpl/GstClock.sgml:
8633         * docs/gst/tmpl/GstCompat.sgml:
8634         * docs/gst/tmpl/GstData.sgml:
8635         * docs/gst/tmpl/GstElement.sgml:
8636         * docs/gst/tmpl/GstEvent.sgml:
8637         * docs/gst/tmpl/GstIndex.sgml:
8638         * docs/gst/tmpl/GstStructure.sgml:
8639         * docs/gst/tmpl/GstTag.sgml:
8640         * docs/gst/tmpl/cothreads.sgml:
8641         * docs/gst/tmpl/cothreads_compat.sgml:
8642         * docs/gst/tmpl/gettext.sgml:
8643         * docs/gst/tmpl/grammar.tab.sgml:
8644         * docs/gst/tmpl/gst-i18n-app.sgml:
8645         * docs/gst/tmpl/gst-i18n-lib.sgml:
8646         * docs/gst/tmpl/gst.sgml:
8647         * docs/gst/tmpl/gst_private.sgml:
8648         * docs/gst/tmpl/gstaggregator.sgml:
8649         * docs/gst/tmpl/gstarch.sgml:
8650         * docs/gst/tmpl/gstatomic.sgml:
8651         * docs/gst/tmpl/gstatomic_impl.sgml:
8652         * docs/gst/tmpl/gstbin.sgml:
8653         * docs/gst/tmpl/gstbuffer.sgml:
8654         * docs/gst/tmpl/gstbufferstore.sgml:
8655         * docs/gst/tmpl/gstcaps.sgml:
8656         * docs/gst/tmpl/gstclock.sgml:
8657         * docs/gst/tmpl/gstcompat.sgml:
8658         * docs/gst/tmpl/gstconfig.sgml:
8659         * docs/gst/tmpl/gstcpu.sgml:
8660         * docs/gst/tmpl/gstdata.sgml:
8661         * docs/gst/tmpl/gstdata_private.sgml:
8662         * docs/gst/tmpl/gstelement.sgml:
8663         * docs/gst/tmpl/gstenumtypes.sgml:
8664         * docs/gst/tmpl/gsterror.sgml:
8665         * docs/gst/tmpl/gstevent.sgml:
8666         * docs/gst/tmpl/gstfakesink.sgml:
8667         * docs/gst/tmpl/gstfakesrc.sgml:
8668         * docs/gst/tmpl/gstfilesink.sgml:
8669         * docs/gst/tmpl/gstfilter.sgml:
8670         * docs/gst/tmpl/gstindex.sgml:
8671         * docs/gst/tmpl/gstinfo.sgml:
8672         * docs/gst/tmpl/gstinterface.sgml:
8673         * docs/gst/tmpl/gstlog.sgml:
8674         * docs/gst/tmpl/gstmacros.sgml:
8675         * docs/gst/tmpl/gstmarshal.sgml:
8676         * docs/gst/tmpl/gstmd5sink.sgml:
8677         * docs/gst/tmpl/gstmultifilesrc.sgml:
8678         * docs/gst/tmpl/gstobject.sgml:
8679         * docs/gst/tmpl/gstpad.sgml:
8680         * docs/gst/tmpl/gstparse.sgml:
8681         * docs/gst/tmpl/gstpipeline.sgml:
8682         * docs/gst/tmpl/gstplugin.sgml:
8683         * docs/gst/tmpl/gstpluginfeature.sgml:
8684         * docs/gst/tmpl/gstqueue.sgml:
8685         * docs/gst/tmpl/gstreamer-unused.sgml:
8686         * docs/gst/tmpl/gstregistry.sgml:
8687         * docs/gst/tmpl/gstregistrypool.sgml:
8688         * docs/gst/tmpl/gstscheduler.sgml:
8689         * docs/gst/tmpl/gstsearchfuncs.sgml:
8690         * docs/gst/tmpl/gstshaper.sgml:
8691         * docs/gst/tmpl/gstspider.sgml:
8692         * docs/gst/tmpl/gstspideridentity.sgml:
8693         * docs/gst/tmpl/gststructure.sgml:
8694         * docs/gst/tmpl/gstsystemclock.sgml:
8695         * docs/gst/tmpl/gsttag.sgml:
8696         * docs/gst/tmpl/gsttaginterface.sgml:
8697         * docs/gst/tmpl/gsttee.sgml:
8698         * docs/gst/tmpl/gstthread.sgml:
8699         * docs/gst/tmpl/gsttrace.sgml:
8700         * docs/gst/tmpl/gsttrashstack.sgml:
8701         * docs/gst/tmpl/gsttypefind.sgml:
8702         * docs/gst/tmpl/gsttypes.sgml:
8703         * docs/gst/tmpl/gsturi.sgml:
8704         * docs/gst/tmpl/gsturitype.sgml:
8705         * docs/gst/tmpl/gstutils.sgml:
8706         * docs/gst/tmpl/gstvalue.sgml:
8707         * docs/gst/tmpl/gstversion.sgml:
8708         * docs/gst/tmpl/gstxml.sgml:
8709         * docs/gst/tmpl/gstxmlregistry.sgml:
8710         * docs/gst/tmpl/gthread-cothreads.sgml:
8711         * docs/gst/tmpl/types.sgml:
8712
8713 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8714
8715         * docs/pwg/other-sink.xml:
8716         * docs/pwg/other-source.xml:
8717           Documentation on how to write source and sink elements. Other
8718           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
8719           manager, autoplugger) are all still pending.
8720
8721 2004-03-25  Benjamin Otte  <otte@gnome.org>
8722
8723         * testsuite/elements/Makefile.am:
8724         * testsuite/elements/gst-compprep-check:
8725           add check to make sure gst-compprep works
8726         * testsuite/elements/gst-inspect-check.in:
8727           improve initialization output
8728         * testsuite/Makefile.am:
8729         * testsuite/gst-inspect-check:
8730           remove old file
8731
8732 2004-03-24  David Schleef  <ds@schleef.org>
8733
8734         * testsuite/elements/Makefile.am:
8735         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
8736         to the testsuite.
8737
8738 2004-03-24  Benjamin Otte  <otte@gnome.org>
8739
8740         * libs/gst/control/dparam.c: (gst_dparam_attach),
8741         (gst_dparam_detach):
8742         * libs/gst/control/dparammanager.c: (gst_dpman_init):
8743           fix lvalue casts for real
8744
8745 2004-03-24  Benjamin Otte  <otte@gnome.org>
8746
8747         * gst/schedulers/gstbasicscheduler.c:
8748         (gst_basic_scheduler_src_wrapper):
8749         * gst/schedulers/gstoptimalscheduler.c:
8750         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8751         (pad_clear_queued), (gst_opt_scheduler_add_element),
8752         (gst_opt_scheduler_remove_element):
8753           fix GStreamer to not have issues with lvalue casts anymore (fixes
8754           #136841)
8755
8756 2004-03-24  Benjamin Otte  <otte@gnome.org>
8757
8758         * gst/gstelement.c:
8759           add documentation about a gobject quirk where the object hasn't the
8760           correct class pointer set on initialization
8761         * gst/schedulers/gstbasicscheduler.c:
8762         (gst_basic_scheduler_src_wrapper):
8763           make sure to not run into an infinite loop
8764
8765 2004-03-22  Benjamin Otte  <otte@gnome.org>
8766
8767         * gst/gstutils.c: (gst_util_dump_mem):
8768         * gst/gstutils.h:
8769           first argument of gst_util_dump_mem should be const
8770
8771 2004-03-22  Johan Dahlin  <johan@gnome.org>
8772
8773         * gst/gstvalue.h: Clean up a little bit.
8774
8775 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
8776
8777         reviewed by Benjamin Otte  <otte@gnome.org>
8778
8779         * gst/autoplug/gstspider.c: (gst_spider_dispose):
8780         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
8781         (gst_aggregator_class_init), (gst_aggregator_init):
8782         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8783         (gst_filesrc_dispose), (gst_filesrc_set_location):
8784         * gst/elements/gstidentity.c: (gst_identity_finalize),
8785         (gst_identity_class_init), (gst_identity_chain):
8786         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
8787         * gst/elements/gststatistics.c: (gst_statistics_finalize),
8788         (gst_statistics_class_init):
8789         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
8790         (gst_tee_get_property):
8791           clean up used memory in this elements correctly on teardown (closes
8792           #137279)
8793
8794 2004-03-20  Colin Walters  <walters@redhat.com>
8795
8796         * gst/registries/gstxmlregistry.c:
8797         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
8798         registry saving atomic.
8799
8800 2004-03-20  Colin Walters  <walters@redhat.com>
8801
8802         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
8803         Just use
8804         access() instead of actually creating and deleting files.
8805
8806 2004-03-18  David Schleef  <ds@schleef.org>
8807
8808         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
8809         (bug #137625)
8810
8811 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8812
8813         * po/sv.po: updated translation (Christian Rose)
8814
8815 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8816
8817         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
8818         (gst_filesink_get_query_types), (_do_init),
8819         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
8820           return FALSE silently
8821         * po/af.po: updated translation (Petri Jooste)
8822
8823 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8824
8825         * Makefile.am:
8826         * configure.ac:
8827           dist common properly
8828         * po/af.po:
8829         * po/fr.po:
8830         * po/nl.po:
8831         * po/sr.po:
8832         * po/sv.po:
8833           refreshing translations
8834
8835 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8836
8837         * po/LINGUAS:
8838         * po/sv.po:
8839         * po/af.po:
8840           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
8841
8842 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8843
8844         * Makefile.am: use common/release.mak
8845
8846 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8847
8848         * docs/faq/gst-uninstalled:
8849           adding gst-monkeysaudio to the list of possible plugin dirs
8850
8851 2004-03-16  David Schleef  <ds@schleef.org>
8852
8853         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
8854         (gst_init_check_with_popt_table):  Fix some gettext strings to
8855         make them easier to translate.  Required making the strings
8856         non-const.
8857
8858 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8859
8860         * configure.ac: bump nano to 1
8861
8862 === release 0.8.0 ===
8863
8864 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8865
8866         * configure.ac: release 0.8.0, "Executive Slacks"
8867
8868 2004-03-16  Johan Dahlin  <johan@gnome.org>
8869
8870         * gst/schedulers/gstoptimalscheduler.c
8871         (gst_opt_scheduler_pad_unlink): Remove double ;,
8872         spotted by Scott Wheeler
8873
8874 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8875
8876         * configure.ac: bump libtool version
8877
8878 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8879
8880         * gst/gstcaps.h:
8881         * gst/gststructure.h:
8882           add reserved padding
8883
8884 2004-03-15  Benjamin Otte  <otte@gnome.org>
8885
8886         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8887           set the first parameter for select call correctly.
8888           (fixes #137230)
8889
8890 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8891
8892         * *.c,*.h: don't mix tabs and spaces
8893
8894 2004-03-15  Johan Dahlin  <johan@gnome.org>
8895
8896         * gst/schedulers/gstoptimalscheduler.c
8897         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
8898         crash on MPEG playback. My boolean arithmetic is a bit rusty.
8899
8900         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
8901         
8902 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8903
8904         * testsuite/Rules:
8905           fix gst-register rules
8906
8907 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8908
8909         * testsuite/Rules:
8910           use versioned gst-register
8911
8912 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8913
8914         * docs/libs/gstreamer-libs-sections.txt:
8915           remove </SUBSECTION>
8916         * gst/gstplugin.c:
8917         * gst/gstregistry.c: (gst_registry_add_plugin):
8918         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
8919         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
8920           add debugging and fix some comment blocks
8921
8922 2004-03-15  Johan Dahlin  <johan@gnome.org>
8923
8924         * *.h: Revert indent changes.
8925         
8926 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8927
8928         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
8929           g_error_free the g_error
8930         * tools/gst-feedback-m.m:
8931           check for other versions of gstreamer
8932         * tools/gst-indent:
8933           use sh, not bash
8934
8935 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8936
8937         * tools/gst-register.c: do not spill paths when registries are not
8938           writable, until we fix the "user running gst-register" case.
8939
8940 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8941
8942         * *.c, *.h: commit of gst-indent run on core
8943
8944 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8945
8946         * tools/gst-indent:
8947         * tools/Makefile.am:
8948           add our indentation style as a script
8949
8950 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8951
8952         * po/sr.po:
8953         * po/LINGUAS:
8954           added Serbian translation
8955
8956 2004-03-13  Benjamin Otte  <otte@gnome.org>
8957
8958         * gst/gstelement.c:
8959           add documentation note about gst_element_found_tags_for_pad not
8960           being usable in getfunctions. (see #137042)
8961
8962 2004-03-12  David Schleef  <ds@schleef.org>
8963
8964         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
8965         change API right now!  Readd gst_caps_is_simple() macro.
8966         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
8967         uninitialized variable.  I'd bet this caused crashes.
8968         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
8969
8970 2004-03-12  Johan Dahlin  <johan@gnome.org>
8971
8972         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
8973         * gst/gstcaps.h: Clean up
8974
8975         * gst/gst.c (init_post): call gst_caps_get_type() instead of
8976         _gst_caps_initalize()
8977
8978         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
8979         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
8980
8981         * gst/gststructure.c (gst_structure_get_type): Ditto
8982
8983         * gst/gststructure.h: Ditto
8984         
8985 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8986
8987         * gst/gstqueue.c: (gst_queue_init):
8988           Reset default max. values in queues. Reason is simply to avoid
8989           braindead use. If you want wider values, use the properties. The
8990           default is supposed to always work. Wider values would make this
8991           beast a memory hog by default (250 full-PAL RGB32 video frames?
8992           That's 440 MB! No thank you).
8993
8994 2004-03-10  David Schleef  <ds@schleef.org>
8995
8996         * tools/gst-run.c: (main):  Fix crash when no relevant tools
8997         were found.  (bug #136793)
8998
8999 2004-03-10  Johan Dahlin  <johan@gnome.org>
9000
9001         * gst/schedulers/gstoptimalscheduler.c
9002         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
9003         links to elements within the same group, so we can finally remove
9004         that annoying warning. Refactor the code a little bit
9005         (group_dec_links_for_element): Split out
9006
9007 2004-03-09  David Schleef  <ds@schleef.org>
9008
9009         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
9010         (bug #134863)
9011
9012 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9013
9014         * configure.ac: first bug fix due to major/minor bump
9015
9016 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9017
9018         * configure.ac: bump nano to 1
9019
9020 === release 0.7.6 ===
9021
9022 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9023
9024         * NEWS:
9025         * RELEASE:
9026         * configure.ac:
9027           releasing 0.7.6, "Almost"
9028         * po/fr.po:
9029         * po/nl.po:
9030         * tools/Makefile.am:
9031         * tools/gst-feedback-m.m:
9032           unversioned source
9033
9034 2004-03-09  Johan Dahlin  <johan@gnome.org>
9035
9036         Reviewed by: Thomas Vander Stichele
9037
9038         * gst/gstelement.c (gst_element_class_init): register second
9039         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
9040         language bindings can (de)marshall correctly.
9041
9042         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
9043
9044         * gst/gsterror.c (gst_g_error_get_type): New function
9045
9046         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
9047         with VOID:OBJECT,OBJECT,STRING 
9048
9049 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
9050
9051         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
9052         Free a leaked g_timer on early returns.
9053
9054 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9055
9056         * docs/pwg/advanced-types.xml:
9057           Add cinepak description.
9058
9059 2004-03-07  David Schleef  <ds@schleef.org>
9060
9061         * docs/random/mimetypes:  Added cinepak description
9062
9063 2004-03-07  Andy Wingo  <wingo@pobox.com>
9064
9065         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
9066
9067         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
9068         there are no links to other groups when a group is destroyed.
9069         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
9070         removed from a group, make sure the link count to elements linked
9071         to other pads is appropriately decremented. This really fixes
9072         #135672.
9073
9074         The 1.60->1.61 patch has been reapplied in light of this fix.
9075
9076         * gst/gstelement.c (gst_element_dispose): Really protect against
9077         multiple invocations this time.
9078
9079 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9080
9081         * docs/gst/gstreamer-sections.txt:
9082         * docs/gst/tmpl/gsttag.sgml:
9083           remove some deprecated functions, document some existing ones
9084         * gst/gsttag.c: (gst_tag_get_flag):
9085         * gst/gsttag.h:
9086           add accessor function
9087
9088 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9089
9090         * docs/gst/gstreamer-sections.txt:
9091         * docs/gst/tmpl/gsttag.sgml:
9092         * docs/gst/tmpl/gstxml.sgml:
9093         * gst/gsttag.c: (gst_tag_get_flag):
9094         * gst/gsttag.h:
9095
9096 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
9097
9098         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
9099         leak
9100
9101 2004-03-05  David Schleef  <ds@schleef.org>
9102
9103         * REQUIREMENTS: Add bison and flex.
9104         * configure.ac: Fix comment about bison.
9105         * docs/random/ds/0.9-suggested-changes: yer ma
9106         * tools/gst-inspect.c: (print_element_info):  Fix warning.
9107
9108 2004-03-05  Benjamin Otte  <otte@gnome.org>
9109
9110         * gst/gstelement.c: (gst_element_error_full):
9111           revert recent recursive state changing commit - messing with other
9112           elements' states is evil and should be done by apps only.
9113
9114 2004-03-05  Benjamin Otte  <otte@gnome.org>
9115
9116         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
9117           check for empty intersection instead of NULL caps
9118         (gst_element_get_compatible_pad_filtered):
9119           remove old workaround that is only a bug nowadays
9120
9121 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9122
9123         * gst/gstelement.c: (gst_element_error_full):
9124           make elements try to recursively change state to PAUSED on all
9125           parents after an error to suppress ensuing warnings
9126         * gst/parse/grammar.y:
9127           make it check if it was able to sync the state, and throw an error
9128           if not, so stuff like
9129           oggdemux ! vorbisdec ! osssink gets caught
9130
9131 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9132
9133         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
9134           it contains lib64; use AS_AC_EXPAND to handle it properly
9135
9136 2004-03-05  David Schleef  <ds@schleef.org>
9137
9138         * gst/gstcpuid_i386.s:  Remove unused code
9139         * libs/gst/getbits/getbits.c: (gst_getbits_init),
9140         (gst_getbits_newbuf): Remove MMX code
9141         * libs/gst/getbits/getbits.h: Remove MMX code
9142
9143 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
9144
9145         * debian/.cvsignore:
9146         * debian/README.Debian:
9147         * debian/changelog:
9148         * debian/control:
9149         * debian/control.in:
9150         * debian/copyright:
9151         * debian/gstreamer-core-libs-dev.files:
9152         * debian/gstreamer-core-libs.files:
9153         * debian/gstreamer-core.files:
9154         * debian/gstreamer-core.postinst:
9155         * debian/gstreamer-core.postrm:
9156         * debian/gstreamer-doc.files:
9157         * debian/gstreamer-doc.links:
9158         * debian/gstreamer-doc.lintian:
9159         * debian/gstreamer-runtime.files:
9160         * debian/gstreamer-runtime.manpages:
9161         * debian/gstreamer-runtime.postinst:
9162         * debian/gstreamer-runtime.postrm:
9163         * debian/gstreamer-tools.files:
9164         * debian/gstreamer-tools.manpages:
9165         * debian/libgstreamer-dev.files:
9166         * debian/libgstreamer0.4.1.files:
9167         * debian/libgstreamerVERSION.files:
9168         * debian/rules:
9169         Debian package info not maintained here.
9170
9171 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9172
9173         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9174         * gst/gstbin.c: (gst_bin_class_init):
9175         * gst/gstelement.c: (gst_element_class_init):
9176         * gst/gstindex.c: (gst_index_class_init):
9177         * gst/gstobject.c: (gst_object_class_init),
9178         (gst_signal_object_class_init):
9179         * gst/gstpad.c: (gst_pad_template_class_init):
9180         * gst/gstregistry.c: (gst_registry_class_init):
9181         * gst/gsturi.c: (gst_uri_handler_base_init):
9182         * gst/gstxml.c: (gst_xml_class_init):
9183         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9184         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
9185           make all signal names use dashes instead of underscore
9186
9187 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9188
9189         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
9190
9191 2004-03-03  Benjamin Otte  <otte@gnome.org>
9192
9193         * gst/schedulers/gstoptimalscheduler.c:
9194           revert last commit by Andy Wingo. It causes segfaults on unreffing
9195           in Rhythmbox. (see bug #135672)
9196
9197 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9198
9199         * po/fr.po: fix typo
9200
9201 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9202
9203         * tools/gst-inspect.c: (main): 
9204         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
9205
9206 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9207
9208         * configure.ac:
9209           get GLIB_ONLY and POPT flags for the nonversioned binaries
9210         * tools/Makefile.am:
9211           use them
9212
9213 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9214
9215         * gst/gst.c: (init_post):
9216           change so that GST_REGISTRY now is where the global registry gets
9217           saved, since that is where plugins now get attached to first, and
9218           spilled over to the user registry.  Note that in the case of using
9219           GST_REGISTRY env var, we don't want to affect any real registries
9220           beyond the one given by this var, and thus we don't set a user
9221           registry to spill to.  So make sure GST_REGISTRY is writable.
9222
9223 2004-03-01  David Schleef  <ds@schleef.org>
9224
9225         * AUTHORS:  Added some names.  Add yourself if you're missing.
9226
9227 2004-03-01  David Schleef  <ds@schleef.org>
9228
9229         * MAINTAINERS: Add
9230
9231 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9232
9233         * configure.ac:
9234           remove whitespace
9235         * docs/gst/tmpl/gstbuffer.sgml:
9236         * docs/gst/tmpl/gstdata.sgml:
9237         * docs/gst/tmpl/gstreamer-unused.sgml:
9238         * docs/gst/tmpl/gstxml.sgml:
9239           doc update
9240         * docs/manuals.mak:
9241           add a FIXME
9242         * docs/pwg/intro-preface.xml:
9243         * docs/pwg/pwg.xml:
9244           remove GNOME
9245         * gst/gst.c: (init_post):
9246           try GST_PLUGIN_PATH paths for the _global_registry first
9247         * gst/gstelement.h:
9248           add the error message as well, otherwise (null) debug info doesn't
9249           make much sense
9250         * tools/gst-register.c: (main):
9251           spill paths to next registry if this registry is not writable
9252         * po/fr.po:
9253         * po/nl.po:
9254           translation updates
9255
9256 2004-03-01  Johan Dahlin  <johan@gnome.org>
9257
9258         * gst/gstbuffer.c (_gst_buffer_initialize): 
9259         * gst/gstdata.c (gst_data_get_type): 
9260         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
9261         instead of ref, since some applications that uses GBoxed
9262         routines depends on a function that actually returns a copy.
9263
9264 2004-02-27  Benjamin Otte  <otte@gnome.org>
9265
9266         * gst/gstbuffer.h:
9267           remove gst_buffer_free, use gst_data_unref
9268         * gst/gstdata.c: (gst_data_get_type):
9269           use refcounting in GstData GBoxed registration
9270         * gst/gstdata.h:
9271           remove gst_data_free, use gst_data_unref
9272
9273 2004-02-27  Johan Dahlin  <johan@gnome.org>
9274
9275         * gst/gstdata.c (gst_data_get_type): New function, register
9276         GstData as a GBoxed type.
9277
9278         * gst/gstdata.h (GST_TYPE_DATA): New macro
9279
9280 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9281
9282         * Makefile.am:
9283         * gstreamer.spec.in:
9284           put back RELEASE
9285         * gst/Makefile.am:
9286           clean up non-disting of built files
9287         * testsuite/debug/commandline.c:
9288           test fix for option rename
9289
9290 2004-02-26  David Schleef  <ds@schleef.org>
9291
9292         * configure.ac:  We don't really need glib-2.3.  Also remove
9293         some unneeded checks for library functions.
9294         * gst/Makefile.am:  Instead, we need to not dist files created
9295         by glib-genmarshal.
9296
9297 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9298
9299         * configure.ac:
9300           bump glib required version to 2.3.0 for g_value_takes_boxed
9301
9302  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
9303
9304         * common/m4/gst-docs.m4
9305         change flavour text from enable to disable as enable is our default
9306         closes bug Bug 135304
9307
9308 === release 0.7.5 ===
9309  
9310  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9311  
9312         * NEWS:
9313           instate NEWS file
9314         * Makefile.am:
9315         * gstreamer.spec.in:
9316         * RELEASE:
9317           put back release
9318         * configure.ac:
9319         * docs/random/release:
9320           more updates
9321
9322 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9323
9324         * gst/gsttag.c: (_gst_tag_initialize):
9325         * po/fr.po:
9326         * po/nl.po:
9327           remove hyphen from codec tags
9328
9329 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9330
9331         * gst/parse/Makefile.am:
9332           fix dependency so that a make from a clean build works the first
9333           time
9334
9335 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9336
9337         * docs/random/release:
9338           update release strategy
9339         * po/fr.po:
9340           auto-update po file
9341         * po/nl.po:
9342           update dutch translation
9343
9344 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9345
9346         * docs/manual/debugging.xml:
9347         fix manual for new debugging system
9348
9349 2004-02-25  Andy Wingo  <wingo@pobox.com>
9350
9351         * gst/gstpad.c (gst_pad_link_prepare): Re-add
9352         gst_pad_link_prepare. Please email the list with specific reasons
9353         for reverting.
9354
9355 2004-02-24  Andy Wingo  <wingo@pobox.com>
9356
9357         * gst/gstelement.c (gst_element_dispose): Protect against multiple
9358         invocations.
9359
9360         * gst/schedulers/gstoptimalscheduler.c:
9361         I added a mess of prototypes at the top of the file by way of
9362         documentation. Some of the operations on chains and groups were
9363         re-organized.
9364
9365         (create_group): Added a type argument so if the group is enabled,
9366         the setup_group_scheduler knows what to do.
9367         (group_elements): Added a type argument here, too, to be passed on
9368         to create_group.
9369         (group_element_set_enabled): If an unlinked PLAYING element is
9370         added to a bin, we have to create a new group to hold the element,
9371         and this function will be called before the group is added to the
9372         chain. Thus we have a valid case for group->chain==NULL. Instead
9373         of calling chain_group_set_enabled, just set the flag on the group
9374         (the chain's status will be set when the group is added to it).
9375         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
9376         Setup the group scheduler when the group is enabled, not
9377         specifically when an element goes PAUSED->PLAYING. This means
9378         PLAYING elements can be added, linked, and scheduled into a
9379         PLAYING pipeline, as was intended.
9380         (add_to_group): Don't ref the group twice. I don't know when this
9381         double-ref got in here. Removing it has the potential to cause
9382         segfaults if other parts of the scheduler are buggy. If you find
9383         that the scheduler is segfaulting for you, put in an extra ref
9384         here and see if that hacks over the underlying issue. Of course,
9385         then find out what code is unreffing a group it doesn't own...
9386         (create_group): Make the extra refcount floating, and remove it
9387         after adding the element. This means that...
9388         (unref_group): Destroy when the refcount reaches 0, not 1, like
9389         every other refcounted object in the known universe.
9390         (remove_from_group): When a group becomes empty, set it to be not
9391         active, and remove it from its chain. Don't unref it again,
9392         there's no floating reference any more.
9393         (destroy_group): We have to remove the group from the chain in
9394         remove_from_group (rather than here) to break refcounting cycles
9395         (the chain always has a ref on the group). So assert that
9396         group->chain==NULL.
9397         (ref_group_by_count): Removed, it was commented out anyway.
9398         (merge_chains): Use the remove_from_chain and add_to_chain
9399         primitives to do the reparenting, instead of rolling our own
9400         implementation.
9401         (add_to_chain): The first non-disabled group in the chain's group
9402         list will be the entry point for the chain. Because buffers can
9403         accumulate in loop elements' peer bufpens, we preferentially
9404         schedule loop groups before get groups to avoid unnecessary
9405         execution of get-based groups when the bufpens are already full.
9406         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
9407         (get_group_schedule_function): Ditto.
9408         (loop_group_schedule_function): Ditto.
9409         (gst_opt_scheduler_loop_wrapper): Ditto.
9410         (gst_opt_scheduler_iterate): Ditto.
9411
9412         I understand the opt scheduler now, yippee!
9413
9414         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
9415         (gst_pad_get_name, gst_pad_set_chain_function) 
9416         (gst_pad_set_get_function, gst_pad_set_event_function) 
9417         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
9418         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
9419         (gst_pad_set_query_function, gst_pad_get_query_types) 
9420         (gst_pad_get_query_types_default) 
9421         (gst_pad_set_internal_link_function) 
9422         (gst_pad_set_formats_function, gst_pad_set_link_function) 
9423         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
9424         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
9425         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
9426         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
9427         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
9428         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
9429         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
9430         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
9431         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
9432         (gst_pad_event_default_dispatch, gst_pad_event_default) 
9433         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
9434         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
9435         (gst_pad_get_formats_default, gst_pad_get_formats): Better
9436         argument checks, and some doc fixes.
9437
9438         (gst_pad_custom_new_from_template): Um, does anyone
9439         use these functions? Actually make a custom pad instead of a
9440         normal one.
9441         (gst_pad_try_set_caps): Transpose some checks.
9442         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
9443         the pad is in negotiation.
9444         (gst_pad_try_relink_filtered): Use pad_link_prepare.
9445         
9446         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
9447
9448         * gst/gstelement.h: 
9449         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
9450         on the list.
9451
9452 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9453
9454         * gst/gstbin.c: (gst_bin_add):
9455           add error for not being able to add elements
9456
9457 2004-02-22  Julien MOUTTE <julien@moutte.net>
9458
9459         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
9460         audio-codec and video-codec.
9461
9462 2004-02-22  Benjamin Otte  <otte@gnome.org>
9463
9464         reported by: Padraig O'Briain <padraig.obriain@sun.com>
9465
9466         * autogen.sh:
9467           replace test -e with test -x for mkinstalldirs to be more portable.
9468           (fixes #134816)
9469
9470 2004-02-22  Benjamin Otte  <otte@gnome.org>
9471
9472         * gst/gstpad.c:
9473           revert last patch from Andy, it makes gst_pad_can_link_filtered much
9474           too noisy
9475         * gst/gsttag.c: (_gst_tag_initialize):
9476         * gst/gsttag.h:
9477           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
9478         * libs/gst/control/dparam.c: (gst_dparam_attach):
9479         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
9480           check that types for attached dparams match
9481
9482 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9483
9484         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
9485         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9486         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
9487           fix errors
9488
9489 2004-02-20  Andy Wingo  <wingo@pobox.com>
9490
9491         * gst/gstbin.c:
9492         * gst/gstbuffer.c:
9493         * gst/gstplugin.c:
9494         * gst/registries/gstxmlregistry.c: 
9495         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
9496
9497         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
9498         (gst_element_add_pad): DEBUG->INFO, some fixes.
9499         (gst_element_get_compatible_pad_template): Just see if the
9500         templates' caps intersect, not if one is a strict subset of the
9501         other. This conforms more to what gst_pad_link_intersect() does.
9502         (gst_element_class_add_pad_template): Don't memcpy the pad
9503         template, just ref it.
9504         (gst_element_get_compatible_pad_filtered): Clean up debug messages
9505
9506         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
9507         (gst_pad_link_filtered): Debug changes.
9508         (gst_pad_link_prepare): New function, consolidated from
9509         can_link_filtered and link_filtered.
9510
9511         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
9512         look more like that of the functions in gstelement.c
9513
9514         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
9515         object, and return the empty string if object is NULL.
9516
9517         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
9518         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
9519         LOG, not DEBUG. We still get flex info on debug.
9520
9521         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
9522         debug string more verbose.
9523         (plugin_times_older_than): DEBUG->LOG.
9524
9525 2004-02-20  Julien MOUTTE <julien@moutte.net>
9526
9527         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
9528         will emit found_tag for each stream they demux with the codec.
9529
9530 2004-02-20  Benjamin Otte  <otte@gnome.org>
9531
9532         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
9533           copy navigation event correctly. Check freeing tag lists. 
9534         * gst/gstthread.c: (gst_thread_change_state):
9535           don't abort() on state changing mess - it might happen because of
9536           bugs.
9537         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
9538           use boxed functions
9539         * gst/gstvalue.h:
9540           fix GST_VALUE_HOLDS_CAPS
9541
9542 2004-02-19  David Schleef  <ds@schleef.org>
9543
9544         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
9545         and use it for GST_FUNCTION.  (bug #134750)
9546
9547 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9548
9549         * po/fr.po:
9550         * po/nl.po:
9551           updating translations
9552
9553 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9554
9555         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
9556
9557 2004-02-18  kost@imn.htwk-leipzig.de
9558
9559         reviewed by: David Schleef  <ds@schleef.org>
9560
9561         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
9562         for libgstcontrol.
9563
9564 2004-02-18  David Schleef  <ds@schleef.org>
9565
9566         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9567         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9568         (gst_dpsmooth_new): Additional fixes to get double dparams working.
9569         * tools/gst-inspect.c: (print_element_info): Support dumping of
9570         double dparam information.
9571
9572 2004-02-17  David Schleef  <ds@schleef.org>
9573
9574         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9575         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
9576         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
9577         Use GST_TYPE_CAPS in signal prototype.
9578         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
9579         Convert GST_TYPE_CAPS to boxed.
9580         * gst/gstelement.c: (gst_element_class_init):
9581         Use GST_TYPE_TAG_LIST in signal prototype.
9582         * gst/gstindex.c: (gst_index_class_init):
9583         * gst/gstindex.h:
9584         Add GST_TYPE_INDEX_ENTRY type.
9585         * gst/gstmarshal.list:
9586         Add necessary marshal types.
9587         * gst/gstpad.c: (gst_real_pad_class_init),
9588         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
9589         (gst_pad_recover_caps_error):
9590         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
9591         * gst/gststructure.c: (_gst_structure_initialize),
9592         (gst_structure_copy), (_gst_structure_copy_conditional):
9593         * gst/gststructure.h:
9594         Convert GST_TYPE_STRUCTURE to boxed.
9595         * gst/gsttag.c: (gst_tag_list_get_type):
9596         * gst/gsttag.h:
9597         Add GST_TYPE_TAG_LIST type.
9598
9599 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9600
9601         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
9602         to what we agreed with david.
9603         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
9604
9605 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9606
9607         * po/nl.po: update translation
9608
9609 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9610
9611         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9612           throw an error if spider is trying to play a mime type there is
9613           no decoder for
9614         * po/POTFILES.in:
9615           add gst/autoplug/gstspider.c for translation
9616
9617 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9618
9619         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
9620         silently when the pad is negotiating.
9621
9622 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9623
9624         * docs/faq/Makefile.am:
9625           add script to run gstreamer uninstalled 
9626         * docs/faq/faq.xml:
9627         * docs/faq/developing.xml:
9628         * docs/faq/gst-uninstalled:
9629           extract script to run gstreamer uninstalled
9630         * docs/manuals.mak:
9631           add EXTRA_SOURCES variable for Makefile.am's to set to
9632           use additional SOURCE files for the doc build
9633
9634 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9635
9636         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
9637
9638 2004-02-15  Julien MOUTTE  <julien@moutte.net>
9639
9640         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
9641         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
9642         an error was thrown by osssink. Basically a state change failure for
9643         an element in a different scheduling group was considered as
9644         successful, which means that caps nego was going on and weird stuff
9645         happened. Like I wrote in the comment there, if someone wants to
9646         revert that please drop me a mail explaining why because I really see
9647         no point in keeping that broken behaviour there.
9648         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
9649         be empty, we then return NULL which will trigger a nice error when 
9650         pulling from the pad.
9651
9652 2004-02-13  David Schleef  <ds@schleef.org>
9653
9654         * libs/gst/control/dparam.c: (gst_dparam_class_init),
9655         (gst_dparam_get_property), (gst_dparam_set_property),
9656         (gst_dparam_do_update_default):
9657         * libs/gst/control/dparam.h:
9658         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9659         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
9660         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
9661         (gst_dpsmooth_do_update_double):
9662         * libs/gst/control/dparam_smooth.h:
9663         * libs/gst/control/dparammanager.c:
9664         (gst_dpman_inline_direct_update):
9665         Add support for double dparams.
9666
9667 2004-02-13  David Schleef  <ds@schleef.org>
9668
9669         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
9670         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
9671
9672 2004-02-13  Mattias Wadman  <mattias@sudac.org>
9673
9674         reviewed by: David Schleef  <ds@schleef.org>
9675
9676         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9677         (gst_fdsrc_init), (gst_fdsrc_set_property),
9678         (gst_fdsrc_get_property), (gst_fdsrc_get):
9679         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
9680         and sends an EOS event if file descriptor reading times out.
9681
9682 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9683
9684         * configure.ac:
9685           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
9686
9687 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9688
9689         * configure.ac: pass required libxml version as argument
9690         (bug reported by Christophe Fergeau)
9691
9692 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9693   
9694         * docs/gst/gstreamer-docs.sgml:
9695         * docs/gst/tmpl/gstxml.sgml:
9696         * docs/libs/gstreamer-libs-docs.sgml:
9697           version API docs
9698
9699 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9700
9701         * gst/gstinfo.c:
9702         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
9703         (gst_registry_pool_feature_filter):
9704         * gst/gstthread.c: (gst_thread_class_init):
9705         * gst/gstvalue.c:
9706           add includes exposed by building without libxml
9707         * gst/indexers/Makefile.am:
9708           do not build fileindex when LOADSAVE disabled; we should have
9709           a better libxml check later since fileindex depends on xml, not
9710           LOADSAVE or REGISTRY
9711         * libs/gst/control/Makefile.am:
9712           link with m
9713         * tools/Makefile.am:
9714           fix wrong source code for gst-xmlinspect
9715
9716 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9717
9718         * configure.ac:
9719           fix gcov help output
9720           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
9721         * docs/random/release:
9722           some updated releasing notes
9723         * gstreamer.spec.in:
9724           more updates
9725
9726 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9727
9728         * docs/faq/faq.xml:
9729         * docs/manual/manual.xml:
9730         * docs/pwg/pwg.xml:
9731         * docs/pwg/titlepage.xml:
9732           put version in documentation
9733
9734 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9735
9736         * tools/Makefile.am: fix man page installation
9737
9738 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9739
9740         * configure.ac:
9741           don't check for libxml when load/save and registry disabled (#105844)
9742         * gstreamer.spec.in:
9743           sync with fedora candidate spec
9744
9745 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9746
9747         * po/fr.po:
9748         * po/nl.po:
9749           replace multidisksrc with multifilesrc
9750
9751 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9752
9753         * po/POTFILES.in:
9754           update to multidisksrc => multifilesrc file renaming (#134145)
9755
9756 2004-02-11  David Schleef  <ds@schleef.org>
9757
9758         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
9759         * docs/gst/tmpl/gstpadtemplate.sgml: same
9760         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
9761         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
9762         fixing dance.
9763         * gst/gstutils.c: Remove disabled code that uses GstProps.
9764         * gst/registries/gstxmlregistry.h: same
9765         * docs/random/ds/0.9-suggested-changes: random notes
9766
9767 2004-02-11  kost@imn.htwk-leipzig.de
9768
9769         reviewed by: David Schleef  <ds@schleef.org>
9770
9771         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
9772         initialisation of clock (bug #134128)
9773
9774 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9775
9776         * configure.ac:
9777         * gst/elements/Makefile.am:
9778         * gst/elements/gstelements.c:
9779         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
9780         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
9781         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
9782         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
9783         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
9784         * gst/elements/gstmultifilesrc.h:
9785           rename multidisksrc to multifilesrc (part of #122200)
9786
9787 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9788
9789         * docs/manuals.mak:
9790           fix automake complaints
9791         * gst-element-check.m4:
9792           fix unquotedness
9793
9794 2004-02-11  David Schleef  <ds@schleef.org>
9795
9796         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
9797         * gst/gstatomic_impl.h: Disable sparc implementation.
9798
9799 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9800
9801         * gst-element-check.m4:
9802           fix underquoted macros as reported by automake 1.8.x (#133800)
9803         * configure.ac:
9804           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
9805           by autopoint (fixes #132996)
9806
9807 2004-02-10  Andy Wingo  <wingo@pobox.com>
9808
9809         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
9810         way to do inheritance.
9811         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
9812         (gst_pad_get_query_types, gst_pad_get_query_types_default):
9813         Routine docs.
9814         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
9815         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
9816         doc.
9817         (gst_pad_unlink, gst_pad_is_linked): Docs.
9818         (gst_pad_renegotiate): A brief description of capsnego.
9819         (gst_pad_try_set_caps): Document.
9820         (gst_pad_try_set_caps_nonfixed): Document.
9821         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
9822         (gst_pad_set_parent): Deprecated (although not out of the API).
9823         (gst_pad_get_parent): Deprecated, although many plugins use this.
9824         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
9825         are private and will go away in 0.9.
9826         (gst_pad_perform_negotiate): Doc.
9827         (gst_pad_link_unnegotiate): I think this is meant to be static.
9828         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
9829         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
9830         (gst_pad_get_peer): Doc updates.
9831         (gst_pad_caps_change_notify): Doc.
9832         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
9833         (gst_ghost_pad_new): Doc fixes.
9834
9835         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
9836         (gst_object_check_uniqueness): 
9837
9838         * gst/gstelement.c (gst_element_add_pad) 
9839         (gst_element_add_ghost_pad, gst_element_remove_pad) 
9840         (gst_element_remove_ghost_pad, gst_element_get_pad) 
9841         (gst_element_get_static_pad, gst_element_get_pad_list) 
9842         (gst_element_class_get_pad_template_list) 
9843         (gst_element_class_get_pad_template): Work on the docs.
9844         (gst_element_get_pad_template_list): Uses the class method.
9845         (gst_element_get_compatible_pad_template): Docs, and consolidate
9846         some test conditions. 
9847         (gst_element_get_pad_from_template): New static function.
9848         (gst_element_request_compatible_pad): Docs, and work with
9849         non-request compatible templates. 
9850         (gst_element_get_compatible_pad_filtered): Docs and remove
9851         redundant checks.
9852         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
9853         (gst_element_link_filtered, gst_element_link_many) 
9854         (gst_element_link, gst_element_link_pads) 
9855         (gst_element_unlink_many): Docs.
9856
9857 2004-02-05  Andy Wingo  <wingo@pobox.com>
9858
9859         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
9860         s/pointer/boxed/.
9861
9862         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
9863
9864         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
9865         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
9866         with the type=GST_TYPE_CAPS. This allows language bindings to know
9867         what kind of data they're dealing with.
9868
9869         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
9870         to NULL when g_value_init is called. GstCaps, which rolls its own
9871         type implementation, now does the same instead of allocating empty
9872         caps.
9873         (_gst_caps_initialize, _gst_caps_collect_value,
9874         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
9875         table methods. This allows G_VALUE_COLLECT to work.
9876
9877 2004-02-05  Andy Wingo  <wingo@pobox.com>
9878
9879         * configure.ac:
9880         * testsuite/Makefile.am (SUBDIRS): 
9881         * testsuite/ghostpads/Makefile.am: 
9882         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
9883
9884         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
9885         These two routines are the only ones that set
9886         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
9887         pad template. They should be made static, depending on ABI needs.
9888         (gst_real_pad_dispose): Handle the case of ghost pads without a
9889         parent. Assert after dealing with ghost pads that the ghost pad
9890         list is empty.
9891         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
9892         set after creation.
9893         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
9894         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
9895         functions. set_property will call add_ghost_pad/remove_ghost_pad
9896         as appropriate.
9897         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
9898
9899         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
9900         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
9901         (gst_element_remove_pad): Handle ghost pads as well.
9902         (gst_element_remove_ghost_pad): Deprecated (could be removed,
9903         depending on API-stability needs).
9904
9905 2004-02-05  Andy Wingo  <wingo@pobox.com>
9906
9907         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
9908         of course they're const
9909
9910 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9911
9912         * tools/Makefile.am:
9913         * tools/gst-feedback:
9914         * tools/gst-feedback-0.7:
9915           make gst-feedback versioned too for consistency
9916
9917 2004-02-11  David Schleef  <ds@schleef.org>
9918
9919         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9920         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
9921
9922 2004-02-10  Julien MOUTTE <julien@moutte.net>
9923
9924         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
9925         the structure does not contain a valid tag list. Adding a safety check
9926         to remove a noisy warning in that case.
9927
9928 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9929
9930         * gst/gst.c: fix name to be in line with others
9931
9932 2004-02-09  Julien MOUTTE <julien@moutte.net>
9933
9934         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
9935         not shout that loud when len is 0. Just return 0 silently.
9936
9937 2004-02-09  Julien MOUTTE  <julien@moutte.net>
9938
9939         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
9940         because data_unref has one and I prefer the debug to be symetric.
9941         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
9942         were refed when added to the queue and unrefed only once when the queue
9943         was flushed. Now the flush handler unref the buffers two times : first
9944         unref for the ref added when pushing in the queue's tail and second
9945         unref to destroy the flushed buffer.
9946
9947 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9948
9949         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
9950
9951 2004-02-06  David Schleef  <ds@schleef.org>
9952
9953         * docs/random/ds/0.9-suggested-changes: Random ramblings
9954         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
9955         to int before printing.
9956         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
9957         * gst/parse/parse.l: same.  See bug #129600
9958
9959 2004-02-06  David Schleef  <ds@schleef.org>
9960
9961         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
9962         (gst_index_add_entry), (gst_index_add_associationv),
9963         (gst_index_add_association): Add gst_index_add_associationv()
9964         and clean up gst_index_add_association(). #127133
9965
9966 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9967
9968         * autogen.sh: check out common with right tag if CVS/Tag exists
9969
9970 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9971
9972         * testsuite/ghostpads/ghostpads.c: (main):
9973           fix testsuite from segfaulting
9974
9975 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9976
9977         * Makefile.am: add release target
9978         * configure.ac: bump nano to 1
9979         * docs/random/release:
9980
9981 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9982
9983         * gst/gstcaps.h:
9984         * gst/gstelement.c: (gst_element_base_class_init),
9985         (gst_element_class_set_details), (gst_element_clear_pad_caps):
9986         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9987         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
9988         (gst_real_pad_dispose):
9989         * gst/gststructure.c: (gst_structure_free),
9990         (gst_structure_from_string):
9991           put reverted patch back in
9992         * gst/gstelement.c: (gst_element_remove_pad):
9993           free explicit caps if they're set
9994         * gst/gstpad.c: (_gst_pad_default_fixate_func):
9995           copy the structure when fixating
9996
9997 2004-02-05  David Schleef  <ds@schleef.org>
9998
9999         * gst/gstmarshal.list:
10000         * gst/gstpad.c: (gst_real_pad_class_init),
10001         (_gst_real_pad_fixate_accumulator):
10002         Revert POINTER->BOXED change in signal marshaller.
10003
10004 === release 0.7.4 ===
10005                                                                                 
10006 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10007                                                                                 
10008         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
10009         * configure.ac: changed for release
10010
10011 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10012
10013         * gstreamer.spec.in:
10014           bump required version of gtk-doc
10015
10016 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10017
10018         * gst/gstcaps.h:
10019         * gst/gstelement.c: (gst_element_base_class_init),
10020         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10021         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10022         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10023         (gst_real_pad_dispose):
10024         * gst/gststructure.c: (gst_structure_free),
10025         (gst_structure_from_string):
10026           revert patch that breaks applications, reapply after release
10027           to get this fixed properly
10028
10029 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10030
10031         * gst/gsttag.c: (_gst_tag_initialize):
10032         * gst/gsttag.h:
10033           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
10034
10035 2004-02-04  David Schleef  <ds@schleef.org>
10036
10037         Fix some memleaks:
10038         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
10039         (gst_spider_plug_from_srcpad):
10040         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
10041
10042 2004-02-04  David Schleef  <ds@schleef.org>
10043
10044         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
10045         a GstRealPad before accessing its structure members.
10046
10047 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10048
10049         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
10050         (gst_clock_get_speed):
10051         * gst/gstclock.h:
10052           reset padding, remove unused fields
10053
10054 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10055
10056         * gst/autoplug/gstspideridentity.c:
10057         (gst_spider_identity_sink_loop_type_finding):
10058           use get_allowed_caps, not get_caps (fixes #132519)
10059         * gst/elements/gsttypefind.c: (stop_typefinding):
10060           use correct order when sending buffers and seeking
10061
10062 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10063
10064         * configure.ac:
10065         * gst/gstelement.h:
10066         * gst/gstpad.h:
10067         * gst/gstqueue.h:
10068           upgrade libtool CURRENT, reset padding
10069
10070 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10071
10072         * configure.ac:
10073           bump to prerelease
10074           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
10075
10076 2004-02-04  David Schleef  <ds@schleef.org>
10077
10078         * docs/random/ds/0.9-suggested-changes: random notes
10079         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
10080         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
10081         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
10082         expansion.
10083         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10084         (gst_filesink_get_query_types): same
10085         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
10086         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
10087         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
10088         to use new GST_PTR_FORMAT.
10089         * gst/gstelement.h: deprecate function factory macros
10090         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
10091         These are our last variadic macros that can't be replaced with
10092         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
10093         attempting to deprecate gst_element_clock_wait().
10094         * gst/gstevent.h: same
10095         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10096         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
10097         * gst/gstpad.h: deprecate function factory macros similar to above.
10098
10099 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10100
10101         * configure.ac:
10102         * tools/Makefile.am:
10103         * tools/gst-run.c: (popt_callback), (hash_print_key),
10104         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
10105         (get_candidates), (main):
10106           add new source file to generate non-versioned wrapper binaries
10107           for our tools.
10108
10109 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10110
10111         * gst/gstevent.c: (_gst_event_free):
10112           actually break; inside the switch statement
10113         * gst/parse/grammar.y:
10114           fix memleak where GValues weren't unset
10115
10116 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10117
10118         * gst/gststructure.c: (gst_structure_from_string):
10119           fix huge memleak
10120         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10121         (new_entry), (gst_type_find_element_chain):
10122         * gst/gstelement.c: (gst_element_base_class_init),
10123         (gst_element_class_set_details):
10124         * gst/gstpad.c: (gst_pad_can_link_filtered):
10125           fix smaller memleaks
10126         * gst/gstpad.c: (gst_real_pad_dispose):
10127           check that explicit caps are gone
10128         * gst/gststructure.c: (gst_structure_free):
10129           actually free the structure
10130         * gst/gstelement.c: (gst_element_clear_pad_caps):
10131           unset explicit caps
10132
10133 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10134
10135         * tools/Makefile.am:
10136           use AM_CFLAGS since all the CFLAGS are the same
10137           use AM_LDFAGS
10138
10139 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10140
10141         * docs/manual/gnome.xml:
10142           expand example a little
10143         * gst/gst.c: (gst_init_with_popt_table),
10144         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
10145           make sure popt option displays are done with right textdomain
10146           use GstPoptOption type
10147         * gst/gst.h:
10148           create GstPoptOption type
10149
10150 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10151
10152         * gst/gsterror.c: (_gst_stream_errors_init):
10153         * gst/gsterror.h:
10154           adding error type for no codec
10155         * po/POTFILES.in:
10156           add gst-inspect
10157         * po/nl.po:
10158           update dutch translation
10159         * tools/gst-inspect.c: (print_element_list), (main):
10160           do proper internationalization
10161         * tools/gst-launch.c: (idle_func):
10162           remove commented out function call
10163
10164 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10165
10166         * docs/README:
10167           add some error fixing notes
10168         * docs/gst/gstreamer-sections.txt:
10169           remove double entries
10170         * docs/gst/tmpl/gstbin.sgml:
10171         * docs/gst/tmpl/gstclock.sgml:
10172           remove override
10173         * docs/gst/tmpl/gstelement.sgml:
10174         * docs/gst/tmpl/gstindex.sgml:
10175         * docs/gst/tmpl/gstobject.sgml:
10176         * docs/gst/tmpl/gstpadtemplate.sgml:
10177         * docs/gst/tmpl/gstreamer-unused.sgml:
10178         * docs/gst/tmpl/gsttag.sgml:
10179         * docs/gst/tmpl/gstthread.sgml:
10180         * docs/gst/tmpl/gstxml.sgml:
10181         * gst/gsttag.h:
10182           sync header prototypes with c decls
10183         * gst/gsttaginterface.c:
10184           fix doc headers
10185
10186 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10187
10188         * gst/parse/Makefile.am:
10189         * gst/gstobject.h:
10190           get rid of gstmarshal.h dependency. It's not needed.
10191         * gst/gst.h:
10192         * gst/elements/gstfakesink.c:
10193         * gst/elements/gstfakesrc.c:
10194         * gst/elements/gstidentity.c:
10195         * gst/gstbin.c:
10196         * gst/gstelement.c:
10197         * gst/gstindex.c:
10198         * gst/gstobject.c:
10199         * gst/gstpad.c:
10200         * gst/gstthread.c:
10201         * gst/gstxml.c:
10202         * libs/gst/control/dparam.c:
10203         * libs/gst/control/dparammanager.c:
10204           include gstmarshal.h.
10205         Fixes #132045
10206
10207 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10208
10209         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10210         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
10211         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
10212         * gst/elements/gstfilesrc.h:
10213           don't ref the filesrc when creating mmaped buffers. Don't keep a
10214           list of not-yet-destroyed buffers.
10215         * gst/gstbuffer.h:
10216           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
10217
10218 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10219
10220         * gst/gst.c: (init_pre):
10221           remove textdomain
10222
10223 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10224
10225         * docs/pwg/advanced-events.xml:
10226         * docs/pwg/advanced-scheduling.xml:
10227         * docs/pwg/intro-basics.xml:
10228         * docs/pwg/other-manager.xml:
10229         * docs/pwg/other-nton.xml:
10230         * docs/pwg/other-ntoone.xml:
10231         * docs/pwg/other-oneton.xml:
10232         * docs/pwg/pwg.xml:
10233           All sort of documentation... Forgot what. Point is that I want this
10234           in before I leave. The 'other-*' will be the last section and will
10235           explain issues specific to these type of elements.
10236
10237 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10238
10239         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10240         (gst_filesrc_get_read):
10241           set all the values on buffers that we can
10242
10243 2004-02-02  David Schleef  <ds@schleef.org>
10244
10245         Change usage of isblah() to g_ascii_isblah() to be more locale
10246         independent.  (#133076)
10247         * gst/gsturi.c: (gst_uri_protocol_check_internal):
10248         * gst/gstutils.c:
10249         * gst/parse/parse.l:
10250
10251 2004-02-02  Jon Trowbridge  <trow@gnu.org>
10252
10253         reviewed by: David Schleef  <ds@schleef.org>
10254
10255         Fix memory leaks:
10256         * gst/gstcaps.c: (gst_caps_to_string):
10257         * gst/registries/gstxmlregistry.c:
10258         (gst_xml_registry_add_path_list_func),
10259         (gst_xml_registry_parse_padtemplate):
10260
10261 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10262
10263         * gst/gstelement.c: (gst_element_default_error):
10264           suffix error messages with period
10265
10266 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10267
10268         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10269         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10270         * gst/gsterror.c: (gst_error_get_message):
10271           Suffix with dots
10272         * po/fr.po:
10273         * po/nl.po:
10274           Update translation files
10275
10276 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10277
10278         * gst/autoplug/gstspideridentity.c:
10279         (gst_spider_identity_sink_loop_type_finding):
10280         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10281         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10282         (gst_filesink_close_file), (gst_filesink_handle_event),
10283         (gst_filesink_chain):
10284         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10285         (gst_filesrc_get_read), (gst_filesrc_open_file):
10286         * gst/elements/gstidentity.c: (gst_identity_chain):
10287         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10288         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10289         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10290         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10291         * gst/gsterror.c: (_gst_core_errors_init),
10292         (_gst_library_errors_init), (_gst_resource_errors_init),
10293         (_gst_stream_errors_init), (gst_error_get_message):
10294         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10295         (gst_pad_recover_caps_error), (gst_pad_pull):
10296         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10297         * gst/schedulers/gstbasicscheduler.c:
10298         (gst_basic_scheduler_chainhandler_proxy),
10299         (gst_basic_scheduler_gethandler_proxy),
10300         (gst_basic_scheduler_cothreaded_chain):
10301           Suffix error messages with period.
10302           Use (NULL) instead of NULL
10303
10304 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10305
10306         * docs/gst/tmpl/gstelement.sgml:
10307         * docs/gst/tmpl/gstxml.sgml:
10308         * gst/gstelement.c: (gst_element_error_full):
10309           add element path to error
10310
10311 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10312
10313         * docs/random/mimetypes:
10314           update raw int/float info
10315         * gst/gsttag.c: (_gst_tag_initialize):
10316         * gst/gsttag.h:
10317           add GST_TAG_ENCODER
10318
10319 2004-01-30  David Schleef  <ds@schleef.org>
10320
10321         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
10322           missing (#132991)
10323
10324 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
10325
10326         reviewed by Benjamin Otte 
10327           parts of the patch submitted in bug #113913
10328
10329         * configure.ac:
10330           use AC_C_INLINE. Use = instead of == with test
10331         * examples/plugins/example.c:
10332         * gst/autoplug/gstspideridentity.c:
10333         * gst/elements/gstfdsrc.c:
10334         * gst/elements/gstfilesrc.c:
10335         * gst/elements/gstidentity.c:
10336         * gst/elements/gstmultidisksrc.c:
10337         * gst/elements/gststatistics.c:
10338         * gst/gstelement.c:
10339         * gst/gstobject.c:
10340         * gst/gstpad.c:
10341         * gst/gstpipeline.c:
10342         * gst/gstthread.c:
10343           don't end enums with a comma
10344         * gst/gstindex.c: (gst_index_compare_func):
10345           do explicit casting to gint
10346         * gst/gsttrace.c: (gst_trace_text_flush):
10347           #define strsize as a macro
10348
10349 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10350
10351         * docs/README:
10352         * docs/gst/gstreamer-docs.sgml:
10353         * docs/gst/gstreamer-sections.txt:
10354         * docs/gst/tmpl/gstelement.sgml:
10355         * docs/gst/tmpl/gsterror.sgml:
10356         * docs/gst/tmpl/gstinterface.sgml:
10357         * docs/gst/tmpl/gstreamer-unused.sgml:
10358         * docs/gst/tmpl/gststructure.sgml:
10359         * docs/gst/tmpl/gsttag.sgml:
10360         * docs/gst/tmpl/gsttaginterface.sgml:
10361         * docs/gst/tmpl/gstvalue.sgml:
10362         make sure all API ends up in the built docs
10363         * gst/gstinterface.c:
10364         * gst/gststructure.c: (gst_structure_id_set_value),
10365         (gst_structure_set_value), (gst_structure_id_get_value):
10366         * gst/gststructure.h:
10367         * gst/gstvalue.h:
10368         sync .h with .c declarations
10369
10370 2004-01-30  Julien Moutte  <julien@moutte.net>
10371
10372         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
10373         Ronald will fix riffread.
10374
10375 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10376
10377         * docs/pwg/advanced-interfaces.xml:
10378           Added tuner interface docs.
10379
10380 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10381
10382         * docs/random/mimetypes:
10383           correct Theora information
10384         * gst/gstelement.h:
10385           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
10386
10387 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10388
10389         * gst/gstelement.c: (gst_element_error_full):
10390         * gst/gstelement.h:
10391           GST_ELEMENT_ERROR in enum -> _IN_ERROR
10392
10393 2004-01-29  Julien MOUTTE  <julien@moutte.net>
10394
10395         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10396         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
10397         again and even before DISCONT.
10398         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
10399         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
10400         bytestream so that it's not stopping to fill the bytestream if events
10401         different than EOS or DISCONT are received. Instead it process them so
10402         that they go downstream.
10403
10404 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10405
10406         * docs/gst/tmpl/gstelement.sgml:
10407         * docs/gst/tmpl/gstreamer-unused.sgml:
10408         * docs/gst/tmpl/gstxml.sgml:
10409         * gst/autoplug/gstspideridentity.c:
10410         (gst_spider_identity_sink_loop_type_finding):
10411         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10412         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10413         (gst_filesink_close_file), (gst_filesink_handle_event),
10414         (gst_filesink_chain):
10415         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10416         (gst_filesrc_get_read), (gst_filesrc_open_file):
10417         * gst/elements/gstidentity.c: (gst_identity_chain):
10418         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10419         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10420         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10421         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10422         * gst/gstelement.h:
10423         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10424         (gst_pad_recover_caps_error), (gst_pad_pull):
10425         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10426         * gst/schedulers/gstbasicscheduler.c:
10427         (gst_basic_scheduler_chainhandler_proxy),
10428         (gst_basic_scheduler_gethandler_proxy),
10429         (gst_basic_scheduler_cothreaded_chain):
10430           gst_element_error -> GST_ELEMENT_ERROR
10431
10432 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10433
10434         * docs/Makefile.am:
10435         * docs/gst/tmpl/gstelement.sgml:
10436         * docs/gst/tmpl/gstxml.sgml:
10437         * docs/manuals.mak:
10438         * docs/pwg/advanced-request.xml:
10439         * docs/pwg/advanced-scheduling.xml:
10440         * docs/pwg/advanced-tagging.xml:
10441           fix non-validating docbook using CDATA
10442           make sure make check-local gets run first to check if it validates
10443
10444 2004-01-29  Julien MOUTTE <julien@moutte.net>
10445
10446         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
10447         handling (up and downstream).
10448         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
10449         my_filter thing.
10450
10451 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10452
10453         * docs/pwg/advanced-tagging.xml:
10454           Add docs about tag writing.
10455
10456 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10457
10458         * docs/pwg/advanced-tagging.xml:
10459           Add a part about tag reading and application signalling... Tag
10460           writing still needs to be documented.
10461         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10462           We can set file locations in READY, too.
10463
10464 2004-01-29  Julien MOUTTE <julien@moutte.net>
10465
10466         * docs/random/ds/element-checklist: Adding some notes about src
10467         events.
10468
10469 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10470
10471         * docs/random/mimetypes:
10472           Update docs to point to correct elements for various mimetypes, and
10473           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
10474           <stephane.loeuillet@tiscali.fr>.
10475
10476 2004-01-28  David Schleef  <ds@schleef.org>
10477
10478         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
10479
10480 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10481
10482         * docs/random/mimetypes:
10483           update docs for audio/x-raw-float. Add "buffer-frames=0 means
10484           undefined"
10485         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10486           make it only work in NULL.
10487         * gst/gstcaps.c:
10488           don't posion NULL caps
10489         * gst/gstelement.c: (gst_element_set_time):
10490           add debugging statement
10491         * gst/gstelement.c: (gst_element_emit_found_tag),
10492         (gst_element_found_tag_func), (gst_element_found_tags):
10493         * gst/gstelement.h:
10494           These functions take const taglists
10495         * gst/gstpad.c: (gst_pad_proxy_getcaps):
10496           fix memleak
10497         * gst/gstpad.c: (gst_pad_event_default):
10498           make more effort on handling discont and clocks, g_warn if everything
10499           fails
10500         * gst/gststructure.c: (gst_structure_remove_fields),
10501         (gst_structure_remove_fields_valist):
10502         * gst/gststructure.h:
10503           add gst_structure_remove_fields(_valist)
10504         * gst/gsttag.c:
10505           fix doc glitch
10506
10507 2004-01-28  David Schleef  <ds@schleef.org>
10508
10509         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
10510         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
10511         Fix memory leakage of gst_caps_to_string().
10512
10513         Use GST_PTR_FORMAT instead of gst_caps_to_string():
10514         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
10515         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
10516         (gst_spider_identity_sink_loop_type_finding):
10517         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10518         (find_suggest):
10519         * gst/gstpad.c: (gst_pad_try_relink_filtered),
10520         (gst_pad_set_explicit_caps):
10521         * gst/parse/grammar.y:
10522
10523 2004-01-28  David Schleef  <ds@schleef.org>
10524
10525         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
10526         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
10527         * docs/random/ds/0.9-suggested-changes: Notes from Company.
10528         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
10529         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
10530         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
10531         (gst_debug_log_default), (_gst_info_printf_extension),
10532         (_gst_info_printf_extension_arginfo):  Add printf extension.
10533         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
10534         * gst/gststructure.c: (gst_structure_to_string),
10535         (_gst_structure_parse_value): Use gst_value_deserialize() and
10536         remove old code.
10537         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
10538         (gst_value_deserialize_boolean), (gst_strtoi),
10539         (gst_value_deserialize_int), (gst_value_deserialize_double),
10540         (gst_value_deserialize_string), (gst_value_deserialize): Implement
10541         a bunch of deserialize functions and gst_value_deserialize.
10542         * gst/gstvalue.h: er, _de_serialize, not unserialize
10543         * testsuite/caps/string-conversions.c: (main): We don't currently
10544         handle (float) in caps, so convert these to (double).
10545         * testsuite/debug/Makefile.am: Add new test for the printf extension
10546         * testsuite/debug/printf_extension.c: (main): same
10547
10548 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10549
10550         * docs/random/company/time:
10551           Add some docs about clocking and time
10552
10553 2004-01-28  Julien MOUTTE <julien@moutte.net>
10554
10555         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
10556
10557 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10558
10559         * docs/pwg/advanced-clock.xml:
10560         * docs/pwg/advanced-dparams.xml:
10561         * docs/pwg/advanced-events.xml:
10562         * docs/pwg/advanced-interfaces.xml:
10563         * docs/pwg/advanced-midi.xml:
10564         * docs/pwg/advanced-request.xml:
10565         * docs/pwg/advanced-scheduling.xml:
10566         * docs/pwg/advanced-tagging.xml:
10567         * docs/pwg/advanced-types.xml:
10568         * docs/pwg/appendix-checklist.xml:
10569         * docs/pwg/building-boiler.xml:
10570         * docs/pwg/building-chainfn.xml:
10571         * docs/pwg/building-filterfactory.xml:
10572         * docs/pwg/building-pads.xml:
10573         * docs/pwg/building-props.xml:
10574         * docs/pwg/building-signals.xml:
10575         * docs/pwg/building-state.xml:
10576         * docs/pwg/building-testapp.xml:
10577         * docs/pwg/intro-basics.xml:
10578         * docs/pwg/intro-preface.xml:
10579         * docs/pwg/other-autoplugger.xml:
10580         * docs/pwg/other-sink.xml:
10581         * docs/pwg/other-source.xml:
10582         * docs/pwg/titlepage.xml:
10583           fix up id's
10584
10585 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10586
10587         * docs/95NonPath:
10588         * docs/HACKING:
10589         * docs/README:
10590         * docs/building-the-docs-on-debian:
10591           collect relevant bits of doc info
10592
10593 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10594
10595         * docs/pwg/advanced_tagging.xml:
10596           Half-assed commit so Thomas can re-arrange document IDs here to be
10597           consistent, too.
10598
10599 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10600
10601         * docs/manual/autoplugging.xml:
10602         * docs/manual/bins-api.xml:
10603         * docs/manual/bins.xml:
10604         * docs/manual/buffers-api.xml:
10605         * docs/manual/buffers.xml:
10606         * docs/manual/clocks.xml:
10607         * docs/manual/components.xml:
10608         * docs/manual/cothreads.xml:
10609         * docs/manual/debugging.xml:
10610         * docs/manual/dparams-app.xml:
10611         * docs/manual/dynamic.xml:
10612         * docs/manual/elements-api.xml:
10613         * docs/manual/elements.xml:
10614         * docs/manual/factories.xml:
10615         * docs/manual/gnome.xml:
10616         * docs/manual/goals.xml:
10617         * docs/manual/helloworld.xml:
10618         * docs/manual/helloworld2.xml:
10619         * docs/manual/init-api.xml:
10620         * docs/manual/intro.xml:
10621         * docs/manual/links-api.xml:
10622         * docs/manual/links.xml:
10623         * docs/manual/manual.xml:
10624         * docs/manual/motivation.xml:
10625         * docs/manual/pads-api.xml:
10626         * docs/manual/pads.xml:
10627         * docs/manual/plugins-api.xml:
10628         * docs/manual/plugins.xml:
10629         * docs/manual/programs.xml:
10630         * docs/manual/queues.xml:
10631         * docs/manual/quotes.xml:
10632         * docs/manual/schedulers.xml:
10633         * docs/manual/states-api.xml:
10634         * docs/manual/states.xml:
10635         * docs/manual/threads.xml:
10636         * docs/manual/typedetection.xml:
10637         * docs/manual/xml.xml:
10638           use chapter, part, section or misc as id starts for all bits
10639
10640 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10641
10642         * docs/gst/gstreamer-sections.txt:
10643           Fix up TITLE of the sections
10644
10645 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10646
10647         * docs/pwg/advanced_interfaces.xml:
10648           Add documentation on propertyprobing.
10649         * docs/pwg/advanced_events.xml:
10650         * docs/pwg/advanced_tagging.xml:
10651         * docs/pwg/building_boiler.xml:
10652         * docs/pwg/building_filterfactory.xml:
10653         * docs/pwg/pwg.xml:
10654           Move filterfactory and tagging into their own chapter, add a chapter
10655           on events. all these are empty placeholders that will be filled in
10656           some day.
10657
10658 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10659
10660         * docs/pwg/advanced_interfaces.xml:
10661           Docs for mixer interface. Also a check for website uploading.
10662
10663 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10664
10665         * docs/HACKING:
10666         * docs/Makefile.am:
10667         * docs/faq/Makefile.am:
10668         * docs/gst/Makefile.am:
10669         * docs/gst/tmpl/gstelement.sgml:
10670         * docs/gst/tmpl/gstplugin.sgml:
10671         * docs/gst/tmpl/gstreamer-unused.sgml:
10672         * docs/libs/Makefile.am:
10673         * docs/manual/Makefile.am:
10674         * docs/manuals.mak:
10675         * docs/pwg/Makefile.am:
10676         * docs/upload.mak:
10677           Separate out upload target and make it similar for
10678           both docbook and gtk-doc docs
10679
10680 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10681
10682         * docs/manuals.mak:
10683           Fix upload target to work with freedesktop
10684
10685 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10686
10687         * docs/pwg/advanced_types.xml:
10688           Add notes on creating your own types.
10689         * docs/pwg/building_boiler.xml:
10690         * docs/pwg/building_pads.xml:
10691         * docs/pwg/building_state.xml:
10692           Add some stuff about how to retrieve values from structures, how
10693           that relates to types and change layout slightly again to be almost
10694           perfect.
10695
10696 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10697
10698         * docs/pwg/advanced_dparams.xml:
10699         * docs/pwg/advanced_scheduling.xml:
10700           Change index layout slightly.
10701
10702 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10703
10704         * docs/pwg/advanced_clock.xml:
10705         * docs/pwg/advanced_interfaces.xml:
10706         * docs/pwg/advanced_midi.xml:
10707           General placeholders for now.
10708         * docs/pwg/advanced_request.xml:
10709           Explanation about sometimes and request pads.
10710         * docs/pwg/advanced_scheduling.xml:
10711           Concept of bytestream, loopfunctions and schedulers.
10712         * docs/pwg/building_boiler.xml:
10713           Add something about plugin-init.
10714
10715 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10716
10717         * docs/pwg/building_pads.xml:
10718           Fix broken docbook
10719
10720 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10721
10722         * docs/pwg/advanced_interfaces.xml:
10723         * docs/pwg/pwg.xml:
10724           Add as a placeholder for future filling-in.
10725         * docs/pwg/basics_autoplugging.xml:
10726         * docs/pwg/basics_buffers.xml:
10727         * docs/pwg/basics_elements.xml:
10728         * docs/pwg/basics_events.xml:
10729         * docs/pwg/basics_plugins.xml:
10730         * docs/pwg/basics_types.xml:
10731           Remove, because unused (this is all in intro_basics.xml).
10732         * docs/pwg/building_signals.xml:
10733           Short intro to signals + reference to GObject docs - we really
10734           shouldn't go into these sort of things to deply because we don't
10735           use them that extensively anyway.
10736         * docs/pwg/building_state.xml:
10737           Explanation of states. Benjamin, please check.
10738         * docs/pwg/building_testapp.xml:
10739           Put everything in one page - putting only a few lines of content
10740           per page doesn't really make sense.
10741
10742           Time to get into the advanced topics. ;).
10743
10744 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10745
10746         * docs/pwg/advanced_types.xml:
10747           Finish documenting the current state of mimetypes.
10748         * docs/pwg/building_boiler.xml:
10749         * docs/pwg/building_chainfn.xml:
10750         * docs/pwg/building_pads.xml:
10751         * docs/pwg/building_props.xml:
10752         * docs/pwg/building_testapp.xml:
10753           Start documenting the "how to build a simple audio filter" part
10754           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
10755           states and (maybe?) a short introduction to capsnego in the chapter
10756           on pads (building_pads.xml). Capsnego should probably be explained
10757           fully in advanced_capsnego.xml or so.
10758
10759 2004-01-26  David Schleef  <ds@schleef.org>
10760
10761         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
10762         * gst/gstpad.h: Add new function to allow element to (somewhat)
10763         specify non-fixed caps on a pad.
10764         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
10765         that I added a few weeks ago.
10766
10767 2004-01-26  David Schleef  <ds@schleef.org>
10768
10769         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
10770           making try_set_caps() work with non-fixed caps.
10771
10772 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10773
10774         * docs/pwg/advanced_types.xml:
10775         * docs/pwg/intro_basics.xml:
10776         * docs/pwg/intro_preface.xml:
10777         * docs/pwg/pwg.xml:
10778         * docs/pwg/titlepage.xml:
10779           First try to resurrect the PWG. I'm halfway integrating the mimetypes
10780           in here (docs/random/mimetypes), and will from there on work on both
10781           updating outdated parts and adding missing parts.
10782           That doesn't mean I'll fix it completely, but I'll try at least. ;).
10783
10784 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10785
10786         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
10787           policy is set
10788
10789 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10790
10791         * gst/gstelement.h:
10792           remove gst_element_factory_get_version. It doesn't exist anymore.
10793         * gst/gstplugin.c:
10794         * gst/gstplugin.h:
10795           remove gst_plugin_set_name and change gst_plugin_get_longname to
10796           gst_plugin_get_description to match code.
10797         * gst/gsterror.h:
10798           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
10799         * gst/gstpad.c: (gst_pad_try_set_caps):
10800           make it work with nonfixed caps.
10801           Note that even in the nonfixed case the link function of the pad
10802           that tries to set caps isn't called.
10803
10804 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10805
10806         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10807           fix bug where buffer was not assembled correctly
10808         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
10809           silence by default
10810         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10811           only seek if there's no more buffers that could work without seeking
10812
10813 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10814
10815         * gst/gsttag.c: (_gst_tag_initialize):
10816         * gst/gsttag.h:
10817           Add application tag (for encoding/muxing app).
10818
10819 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10820
10821         * autogen.sh:
10822           make autopoint force, and libtoolize not copy
10823         * common/m4/as-docbook.m4:
10824           added docbook xml catalog setup check
10825         * common/m4/gst-doc.m4:
10826           use docbook check
10827
10828 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10829
10830         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10831         * gst/gsttag.h:
10832           add GstTagFlag
10833
10834 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10835
10836         * docs/gst/gstreamer-sections.txt:
10837         * docs/gst/tmpl/gst.sgml:
10838         * docs/gst/tmpl/gstbuffer.sgml:
10839         * docs/gst/tmpl/gstclock.sgml:
10840         * docs/gst/tmpl/gstelement.sgml:
10841         * docs/gst/tmpl/gstreamer-unused.sgml:
10842         * docs/gst/tmpl/gstxml.sgml:
10843           sync latest API changes to docs
10844
10845 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10846
10847         * gst/gstpluginfeature.c:
10848           fix doc snippet
10849         * tools/gst-inspect.c: (print_element_list):
10850           fix output of typefind
10851           add GPL header
10852         * tools/gst-launch.c:
10853           add GPL header
10854
10855 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10856
10857         * gst/elements/Makefile.am:
10858         * gst/elements/gstelements.c:
10859         * gst/elements/gsttypefindelement.c:
10860         * gst/elements/gsttypefindelement.h:
10861         * po/POTFILES.in:
10862         * po/fr.po:
10863         * po/nl.po:
10864           renamed gsttypefindelement to gsttypefind, conserving CVS history
10865
10866 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10867
10868         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
10869         * gst/gsttag.h:
10870           add some tags used in ogg as well
10871           fix _ in replaygain tags
10872
10873 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10874
10875         * gst/gsterror.h:
10876           fix wrong GST_LIBRARY_ERROR_ENCODE addition
10877
10878 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10879
10880         * gst/gstelement.c: (gst_element_error_full):
10881         * gst/gstelement.h:
10882           change _extended to _full
10883
10884 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10885
10886         reviewed by: <delete if not using a buddy>
10887
10888         * docs/gst/tmpl/gst.sgml:
10889         * docs/gst/tmpl/gstbuffer.sgml:
10890         * docs/gst/tmpl/gstclock.sgml:
10891         * docs/gst/tmpl/gstelement.sgml:
10892         * docs/gst/tmpl/gstreamer-unused.sgml:
10893         * docs/gst/tmpl/gstxml.sgml:
10894         * gst/gstelement.c: (gst_element_error_full):
10895         * gst/gstelement.h:
10896
10897 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10898
10899         * gst/gstelement.h: fix _gst_element_error_printf prototype
10900
10901 2004-01-20  David Schleef  <ds@schleef.org>
10902
10903         * gst/gststructure.c: (gst_structure_to_string):
10904         Convert function to use gst_value_serialize().
10905         * gst/gstvalue.c: (gst_value_serialize_list),
10906         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
10907         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
10908         (gst_value_serialize_int), (gst_value_serialize_double),
10909         (gst_string_wrap), (gst_value_serialize_string),
10910         (gst_value_serialize), (gst_value_deserialize):
10911         * gst/gstvalue.h:
10912         Add implementations for serialize.
10913
10914 2004-01-20  Julien MOUTTE  <julien@moutte.net>
10915
10916         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
10917         we want to keep that one in the future or change xvidenc.c to use 
10918         another error.
10919
10920 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10921
10922         * gst/gstelement.c: (_gst_element_error_printf):
10923         * gst/gstelement.h:
10924           privatise function
10925
10926 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10927
10928         * docs/random/error:
10929           doc explaining error system
10930         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10931           cleanup
10932
10933 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10934
10935         * gst/gst-i18n-app.h:
10936         * gst/gst-i18n-lib.h:
10937           remove inclusion of config.h
10938         * po/POTFILES.in:
10939         * po/nl.po:
10940           add gst/gstelement.c
10941
10942 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10943
10944         * po/nl.po: updated Dutch translation
10945
10946 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10947
10948         * gst/gsterror.c: (_gst_core_errors_init),
10949         (_gst_library_errors_init), (_gst_resource_errors_init),
10950         (_gst_stream_errors_init):
10951         remove ending punctuation dots
10952
10953 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10954
10955         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10956         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
10957         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10958         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10959         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10960         use GST_ERROR_SYSTEM
10961
10962 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10963
10964         * gst/gstelement.c: (gst_element_error_printf),
10965         (gst_element_error_extended):
10966         * gst/gstelement.h:
10967           add a helper printf function so we can have NULL values passed.
10968
10969 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10970
10971         * gst/gstelement.h:
10972           add G_STMT macros to gst_element_error, which isn't strictly
10973           necessary but people tell me to anyway.
10974
10975 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10976
10977         * gst/Makefile.am:
10978         * gst/autoplug/gstspideridentity.c:
10979         (gst_spider_identity_sink_loop_type_finding):
10980         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10981         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10982         (gst_filesink_close_file), (gst_filesink_handle_event),
10983         (gst_filesink_chain):
10984         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
10985         (gst_filesrc_map_region), (gst_filesrc_get_read),
10986         (gst_filesrc_open_file):
10987         * gst/elements/gstidentity.c: (gst_identity_chain):
10988         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10989         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10990         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10991         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
10992         * gst/gst.h:
10993         * gst/gst_private.h:
10994         * gst/gstelement.c: (gst_element_class_init),
10995         (gst_element_default_error), (gst_element_error_func),
10996         (gst_element_error_extended):
10997         * gst/gstelement.h:
10998         * gst/gsterror.c: (_gst_core_errors_init),
10999         (_gst_library_errors_init), (_gst_resource_errors_init),
11000         (_gst_stream_errors_init), (gst_error_get_message):
11001         * gst/gsterror.h:
11002         * gst/gstinfo.c: (_gst_debug_init):
11003         * gst/gstmarshal.list:
11004         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11005         (gst_pad_recover_caps_error), (gst_pad_pull):
11006         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11007         * gst/schedulers/gstbasicscheduler.c:
11008         (gst_basic_scheduler_chainhandler_proxy),
11009         (gst_basic_scheduler_gethandler_proxy),
11010         (gst_basic_scheduler_cothreaded_chain):
11011         * po/POTFILES.in:
11012         * po/fr.po:
11013         * po/nl.po:
11014           change error signal
11015           add error categories
11016
11017 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
11018
11019         * gst/gsttag.c: (_gst_tag_initialize):
11020         * gst/gsttag.h:
11021         Add replaygain tag
11022
11023 2004-01-18  Colin Walters  <walters@verbum.org>
11024
11025         * examples/retag/retag.c: Call gst_init before processing
11026         program args.  Add g_assert to _link_many call.
11027
11028 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11029
11030         * gst/gstpad.c: (gst_pad_alloc_buffer):
11031           Return a newly allocated buffer when the pad has no peer.
11032
11033 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11034
11035         * gst/gstclock.c: (gst_clock_get_time):
11036           make it compile with gcc 2.95 again.
11037           Patch by Scott Wheeler
11038
11039 2004-01-15  David Schleef  <ds@schleef.org>
11040
11041         * gst/gstcaps.h:
11042         Added gst_caps_is_simple() macro.
11043         * testsuite/caps/caps.c: (test1):
11044         * testsuite/caps/intersect2.c: (main):
11045         * testsuite/caps/intersection.c: (main):
11046         Fixes to make 'make check' work again after removing
11047         gst_caps_is_chained().
11048
11049 2004-01-15  Leif Johnson <leif@ambient.2y.net>
11050
11051         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
11052         and additions to the MIDI document.
11053
11054 2004-01-15  David Schleef  <ds@schleef.org>
11055
11056         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
11057         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
11058         of GST_RPAD_, since we don't know if it's a real or ghost pad.
11059
11060 2004-01-15  David Schleef  <ds@schleef.org>
11061
11062         * gst/gstqueue.c:
11063         * gst/gstqueue.h:
11064         Fix the spelling of "treshold" and make min_threshold actually
11065         affect the queue.
11066
11067 2004-01-15  David Schleef  <ds@schleef.org>
11068
11069         * gst/gstcaps.c:
11070         Add lots of documentation.
11071         * gst/gstcaps.h:
11072         Deprecate a few functions.
11073         * gst/gstpad.c:
11074         Removed use of deprecated functions.
11075
11076 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11077
11078         * gst/gstpad.c: (gst_pad_is_linked):
11079         * gst/gstpad.h:
11080           implement gst_pad_is_linked
11081         * gst/gstelement.h:
11082           reserve space for initiate_state_change
11083
11084 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11085
11086         * gst/autoplug/gstspideridentity.c:
11087         (gst_spider_identity_sink_loop_type_finding):
11088           break infinite loop by just returning instead of looping
11089         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
11090           set event time difference correctly. Set it to 1 second instead
11091           of 100ms to be more tolerant
11092         * gst/gstelement.c: (gst_element_set_time):
11093           add debugging output
11094
11095 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11096
11097         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
11098           query if buffers are inside the pool, ignore events
11099
11100 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11101
11102         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
11103         (gst_clock_set_speed), (gst_clock_set_active),
11104         (gst_clock_is_active), (gst_clock_reset),
11105         (gst_clock_handle_discont):
11106         * gst/gstclock.h:
11107           deprecate old interface and disable functions that aren't in use
11108           anymore.
11109         * gst/gstelement.h:
11110         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
11111         (gst_element_set_time), (gst_element_adjust_time):
11112           add concept of "element time" and functions to get/set this time.
11113         * gst/gstelement.c: (gst_element_change_state):
11114           update element time correctly.
11115         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11116           This is a debug message, not a g_critical.
11117         * gst/gstpad.c: (gst_pad_event_default):
11118           handle discontinuous events right with element time.
11119         * gst/gstscheduler.c: (gst_scheduler_state_transition):
11120           update to clocking fixes.
11121           set clocks on elements in READY=>PAUSED. The old behaviour caused
11122           a wrong element time on the first element that started playing.
11123         * gst/schedulers/gstbasicscheduler.c:
11124         (gst_basic_scheduler_class_init):
11125         * gst/schedulers/gstoptimalscheduler.c:
11126         (gst_opt_scheduler_class_init):
11127           remove code that just implements the default behaviour.
11128         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
11129           update to use new clocking functions
11130         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
11131         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
11132           update to test new element time.
11133         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
11134           use _get_allowed_caps instead of _get_caps. This catches filtered
11135           caps correctly.
11136         * testsuite/debug/commandline.c:
11137           update for new GST_DEBUG syntax.
11138         * testsuite/threads/Makefile.am:
11139           disable a test that only works sometimes.
11140
11141 2004-01-13  Julien MOUTTE <julien@moutte.net>
11142
11143         * po/LINGUAS: Adding fr.
11144         * po/fr.po: Adding french translation.
11145
11146 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11147
11148         * gst/parse/grammar.y:
11149         * po/POTFILES.in:
11150         * po/nl.po:
11151         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
11152           translate parsing error messages
11153
11154 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11155
11156         * po/POTFILES.in: adding gst-launch
11157         * po/nl.po: updated translation, all 99 strings translated
11158         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
11159         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
11160           fix strings for translation
11161
11162 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11163
11164         * gst/gst.c:
11165           - capitalize beginnings of popt options
11166           - fix strings for translation
11167           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
11168
11169 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11170
11171         * po/README: add some notes on how to update translations
11172
11173 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11174
11175         * ABOUT-NLS: removed, is autogenerated from autopoint
11176         * autogen.sh: add autopoint stuff
11177         * configure.ac: fix up gettext stuff
11178         * gst/Makefile.am: add i18n headers to noinst_HEADERS
11179         * gst/elements/gsttypefindelement.c: add header include
11180         * gst/gettext.h: add header, copy from system-installed header
11181         * gst/gst-i18n-app.h: to be included by each app having translations
11182         * gst/gst-i18n-lib.h: to be included by each lib having translations
11183         * gst/gst.c: (init_pre): fix up gettext calls
11184         * gst/gst_private.h: remove i18n stuff, moving to separate headers
11185         * po/LINGUAS: the new way to specify translations present
11186         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
11187         * po/Makevars: the variables filled in for GStreamer
11188         * po/POTFILES.in: added new files with translations
11189         * po/de.po: has new strings
11190         * po/nl.po: readded, has new strings
11191
11192 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11193
11194         * gst/gsttag.c: fix some strings marked for translation
11195
11196 2004-01-13  Iain <iain@prettypeople.org>
11197
11198         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
11199         group when we add an element to it, cos we unref it when we remove one
11200
11201 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11202
11203         * testsuite/debug/commandline.c: (debug_not_reached):
11204         * testsuite/debug/output.c: (check_message):
11205           fix testsuite
11206
11207 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11208
11209         * examples/cutter/.cvsignore:
11210         * examples/helloworld/.cvsignore:
11211         * examples/launch/.cvsignore:
11212         * examples/manual/.cvsignore:
11213         * examples/mixer/.cvsignore:
11214         * examples/pingpong/.cvsignore:
11215         * examples/plugins/.cvsignore:
11216         * examples/queue/.cvsignore:
11217         * examples/queue2/.cvsignore:
11218         * examples/queue3/.cvsignore:
11219         * examples/queue4/.cvsignore:
11220         * examples/retag/.cvsignore:
11221         * examples/thread/.cvsignore:
11222         * examples/typefind/.cvsignore:
11223         * examples/xml/.cvsignore:
11224         * gst/.cvsignore:
11225         * gst/autoplug/.cvsignore:
11226         * gst/elements/.cvsignore:
11227         * gst/indexers/.cvsignore:
11228         * gst/parse/.cvsignore:
11229         * gst/registries/.cvsignore:
11230         * gst/schedulers/.cvsignore:
11231         * libs/gst/bytestream/.cvsignore:
11232         * libs/gst/control/.cvsignore:
11233         * libs/gst/getbits/.cvsignore:
11234         * tests/.cvsignore:
11235         * tests/bufspeed/.cvsignore:
11236         * tests/instantiate/.cvsignore:
11237         * tests/memchunk/.cvsignore:
11238         * tests/muxing/.cvsignore:
11239         * tests/sched/.cvsignore:
11240         * tests/seeking/.cvsignore:
11241         * tests/threadstate/.cvsignore:
11242         * testsuite/.cvsignore:
11243         * testsuite/caps/.cvsignore:
11244         * testsuite/cleanup/.cvsignore:
11245         * testsuite/dynparams/.cvsignore:
11246         * testsuite/plugin/.cvsignore:
11247         * tools/.cvsignore:
11248           update - this is huge, because it includes *.bb, *.bbg and *.da files
11249           which are generated for gcov.
11250
11251 2004-01-11  David Schleef  <ds@schleef.org>
11252
11253         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
11254         a function to parse integers in ways that strto[u]l() does not.
11255
11256 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11257
11258         * tools/gst-inspect.c: (print_caps):
11259           improve output of caps a bit
11260
11261 2004-01-11  David Schleef  <ds@schleef.org>
11262
11263         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
11264         inherit correct flags (READONLY and DONTKEEP).
11265
11266 2004-01-11  David Schleef  <ds@schleef.org>
11267
11268         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
11269         (gst_filesrc_map_region):
11270         * gst/gstbuffer.c: (_gst_buffer_initialize),
11271         (_gst_buffer_sub_free), (gst_buffer_default_copy),
11272         (gst_buffer_new), (gst_buffer_create_sub),
11273         (gst_buffer_is_span_fast), (gst_buffer_span):
11274         * gst/gstbuffer.h:
11275         Change GstBuffer private structure element names. (all files)
11276         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11277         (gst_queue_link):
11278         * gst/gstqueue.h:
11279         Implement getcaps/pad_link functions that handle the case where
11280         there are data in the queue.
11281
11282 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11283
11284         * gst/elements/gstbufferstore.c:
11285           initialize debugging structure correctly
11286         * gst/elements/gsttee.c: (gst_tee_set_property):
11287           g_object_notify when property was changed
11288         * gst/elements/gsttypefindelement.c:
11289         (gst_type_find_element_change_state):
11290           clear caps correctly
11291
11292 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11293
11294         * gst/gstqueue.c: (gst_queue_init):
11295           Use better defaults for when a queue should block. This
11296           gets rid of jerky playback for quite a few files.
11297           It takes more memory.
11298
11299 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11300
11301         (gst_xml_registry_parse_padtemplate):
11302           make critical message slightly more useful
11303
11304 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11305
11306         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
11307         (gst_debug_message_get), (gst_debug_log_default):
11308         * gst/gstinfo.h:
11309           Change gst_debug_log(_valist) to take a const format string.
11310           Change prototype of log function and functions using those to 
11311           take a GstDebugMessage instead of a string that requires using
11312           gst_debug_message_get.
11313
11314 2004-01-08  David Schleef  <ds@schleef.org>
11315
11316         * Makefile.am:
11317         * configure.ac:
11318         Add option --enable-gcov to build GStreamer with -fprofile-arcs
11319         and -ftest-coverage, which allows gcov to show information about
11320         testsuite coverage.
11321
11322 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11323
11324         * gst/gstutils.h:
11325           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
11326           GST_PARENT_CALL_WITH_DEFAULT
11327         * gst/elements/gstaggregator.c: 
11328         * gst/elements/gstbufferstore.c: 
11329         * gst/elements/gstfakesink.c: 
11330         * gst/elements/gstfakesrc.c: 
11331         * gst/elements/gstfdsink.c: 
11332         * gst/elements/gstfdsrc.c: 
11333         * gst/elements/gstfilesink.c: 
11334         * gst/elements/gstfilesrc.c: 
11335         * gst/elements/gstidentity.c: 
11336         * gst/elements/gstmd5sink.c: 
11337         * gst/elements/gstmultidisksrc.c:
11338         * gst/elements/gstpipefilter.c: 
11339         * gst/elements/gstshaper.c:
11340         * gst/elements/gststatistics.c:
11341         * gst/elements/gsttee.c:
11342         * gst/elements/gsttypefindelement.c:
11343           use them.
11344
11345 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11346
11347         * docs/gst/gstreamer-docs.sgml: remove props
11348         * docs/gst/gstreamer-sections.txt: remove props
11349         * docs/gst/tmpl/gst.sgml:
11350         * docs/gst/tmpl/gstbin.sgml:
11351         * docs/gst/tmpl/gstbuffer.sgml:
11352         * docs/gst/tmpl/gstcaps.sgml:
11353         * docs/gst/tmpl/gstclock.sgml:
11354         * docs/gst/tmpl/gstelement.sgml:
11355         * docs/gst/tmpl/gstindex.sgml:
11356         * docs/gst/tmpl/gstobject.sgml:
11357         * docs/gst/tmpl/gstpad.sgml:
11358         * docs/gst/tmpl/gstpadtemplate.sgml:
11359         * docs/gst/tmpl/gstreamer-unused.sgml:
11360         * docs/gst/tmpl/gstthread.sgml:
11361         * docs/gst/tmpl/gstxml.sgml:
11362           sync with code reorganization
11363
11364 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
11365
11366         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11367         Make the 'Could not find compatible pad' message more informative.
11368
11369 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11370                                                                                 
11371         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
11372           Fix for if we pass NULL as property to location.
11373         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
11374         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
11375           Fix for instantiate-test (see below).
11376         * gst/gststructure.c: (_gst_structure_parse_value):
11377           Fix compile error on gcc-2.96.
11378         * configure.ac:
11379         * tests/Makefile.am:
11380         * tests/instantiate/Makefile.am:
11381         * tests/instantiate/create.c: (create_all_elements), (main):
11382           Add a test that instantiates all elements. This makes it easy to
11383           track dead code for old API/design (like setting event functions
11384           on sink pads and so on).
11385
11386 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
11387
11388         * gst/gstcaps.c: (gst_caps_append_structure):
11389           Move the poisoning to allow a NULL structure
11390         * gst/gstevent.c: (_gst_event_free):
11391           When freeing a navigation event, free the structure
11392           also
11393
11394 2004-01-04  David Schleef  <ds@schleef.org>
11395
11396         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11397         Remove usage of gst_pad_proxy_fixate.
11398         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
11399         (gst_caps_split_one), (gst_caps_replace):
11400         Add poisoning code.
11401         * gst/gstmarshal.list:
11402         Add pointer__pointer for fixate signal
11403         * gst/gstpad.c: (gst_real_pad_class_init),
11404         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11405         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
11406         (gst_pad_set_explicit_caps), (gst_pad_template_new):
11407         Add poisoning code. Add fixate signal on RealPad. Change
11408         set_explicit_caps() to take const GstCaps, like try_set_caps().
11409         * gst/gstpad.h:
11410         * testsuite/caps/Makefile.am:
11411         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
11412
11413 2004-01-03  David Schleef  <ds@schleef.org>
11414
11415         * gst/elements/gsttypefindelement.c:
11416         (gst_type_find_element_have_type), (gst_type_find_element_init):
11417         Use gst_pad_use_explicit_caps for src pad.
11418         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
11419         before using it.
11420
11421 2004-01-03  David Schleef  <ds@schleef.org>
11422
11423         * gst/gstelement.c: (gst_element_link_pads_filtered),
11424         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
11425         that linking was successful.
11426         * gst/gstpad.c: (gst_pad_link_free),
11427         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
11428         (gst_pad_link_try), (gst_pad_link_unnegotiate),
11429         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
11430         GstPadLinkReturn correctly between functions, and don't fail
11431         when DELAYED is used (DELAYED is very important).  Better
11432         cleanup on unlinking and unnegotiation.  Should fix some spider
11433         bugs.
11434
11435 2004-01-02  David Schleef  <ds@schleef.org>
11436
11437         * gst/gstelement.c: (gst_element_class_init),
11438         (gst_element_base_class_init): ->padtemplates should be cleared
11439         in base_init, since we need to have a fresh list for every
11440         class.  (Alternately, we chould copy the list and share the
11441         actual pad templates (not the list), but that would require
11442         changing every plugin to move pad template registration from
11443         base_init to class_init.)
11444
11445 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11446
11447         * gst/gstelement.c: (gst_element_class_add_pad_template):
11448           Refuse registering a pad template if another pad template
11449           with the same name already exists (#114715).
11450
11451 2004-01-02  David Schleef  <ds@schleef.org>
11452
11453         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
11454         (gst_caps_is_equal_fixed): Add new function.
11455         * gst/gstcaps.h: ditto.
11456         * gst/gstpad.c: (gst_real_pad_class_init),
11457         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
11458         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
11459         check new caps against existing caps -- if they're the same, return
11460         OK without renegotiating.  caps-nego-failed signal fixed so that
11461         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
11462         to save an extra caps copy.  Don't complete negotiation if a pad
11463         link function returns DELAYED.
11464
11465 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11466
11467         * gst/gstpad.c: (gst_pad_try_relink_filtered):
11468           Fix wrong g_return_if_fail
11469
11470 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
11471
11472         * gst/gstbin.c: (gst_bin_class_init):
11473         Change the marshalling of element_added/element_removed
11474         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
11475         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
11476
11477 2004-01-01  David Schleef  <ds@schleef.org>
11478
11479         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11480         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
11481         (gst_pad_use_explicit_caps):
11482         * gst/gstpad.h:
11483         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
11484         to use an internal getcaps and link fuction so that negotiation
11485         always results in the explicitly set caps.
11486         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
11487         are particularly useful for decoders.
11488
11489 2003-12-31  David Schleef  <ds@schleef.org>
11490
11491         * gst/elements/gstidentity.c: (gst_identity_class_init),
11492         (gst_identity_init), (gst_identity_chain),
11493         (gst_identity_set_property), (gst_identity_get_property):
11494         * gst/elements/gstidentity.h:
11495         * gst/gstqueue.c: (gst_queue_init):
11496           Negotiation fixes.
11497
11498 2003-12-31  David Schleef  <ds@schleef.org>
11499
11500         * gst/gstcaps.c: (gst_caps_intersect),
11501         (_gst_caps_normalize_foreach), (gst_caps_normalize):
11502           Implement gst_caps_normalize().
11503         * testsuite/caps/normalisation.c: (main):
11504           Add an additional test
11505
11506 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11507
11508         * gst/gstqueue.c: (gst_queue_init):
11509           use gst_pad_proxy_getcaps()
11510
11511 2003-12-31  David Schleef  <ds@schleef.org>
11512
11513         * gst/elements/gstshaper.c: (gst_shaper_link):
11514         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11515         * gst/gstqueue.c: (gst_queue_link):
11516           Negotiation fixes.
11517
11518 2003-12-31  David Schleef  <ds@schleef.org>
11519
11520         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
11521         * gst/gstpad.h: Add functions that are useful as default pad
11522         link and fixate functions for elements.
11523
11524 2003-12-30  David Schleef  <ds@schleef.org>
11525
11526         * gst/gstpad.c: (gst_pad_link_try):
11527           Fix segfault when attempting to return to old caps
11528
11529 2003-12-29  David Schleef  <ds@schleef.org>
11530
11531         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
11532         (gst_caps_structure_simplify), (gst_caps_simplify):
11533         * gst/gstcaps.h:
11534           Add simplify function
11535         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
11536         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
11537         * gst/gstpad.h:
11538           Copy over srcnotify, sinknotify when calling old pad_link
11539           functions.  Add new is_negotiated() function.
11540         * gst/gststructure.c: (gst_structure_copy):
11541           Fix an incredibly stupid bug that should have been noticed
11542           weeks ago.  _copy() returned the argument, not the new copy.
11543
11544 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11545
11546         * gst/gstcaps.c: (gst_caps_append):
11547           add sanity checks
11548         * gst/gstcaps.h: (gst_caps_debug):
11549           remove, it doesn't exist anymore.
11550         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
11551         (gst_element_threadsafe_properties_post_run):
11552           make debugging messages not clutter up THREAD debug category
11553         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
11554         (gst_element_change_state):
11555           update to new caps API
11556         * gst/gstinterface.c: (gst_implements_interface_cast):
11557           don't put vital code in g_return_if_fail
11558         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
11559         (gst_pad_link_filtered):
11560           add pst_pad_try_link and use it.
11561         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
11562           implement correctly, deprecate first one.
11563         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
11564           add and implement.
11565         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
11566           implement.
11567         (gst_pad_get_negotiated_caps):
11568           add and implement. Make GST_PAD_CAPS call this function.
11569         (gst_pad_get_caps):
11570           remove unneeded check..
11571         (gst_pad_recover_caps_error):
11572           disable, always return FALSE.
11573         (gst_real_pad_dispose):
11574           don't free caps and appfilter anymore, they're unused.
11575         * gst/gstpad.h:
11576           Reflect changes mentioned above.
11577         * gst/gstsystemclock.c: (gst_system_clock_wait):
11578           Make 'clock is way behind' a debugging message.
11579         * gst/gstthread.c: (gst_thread_change_state):
11580           Fix debugging message
11581
11582 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11583
11584         * gst/gstinfo.h:
11585           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
11586         * docs/gst/tmpl/gstreamer-unused.sgml:
11587           removed all traces of cvs conflicts
11588
11589 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11590
11591         * configure.ac:
11592         * gst/schedulers/cothreads_compat.h:
11593         * libs/Makefile.am:
11594           remove last instances of wingo cothread usage
11595
11596 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11597
11598         * gst/gstplugin.c:
11599         * gst/gstversion.h.in:
11600         * gst/parse/grammar.y:
11601           change comment block from /** to /* when not gtk-doc comments
11602
11603 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11604
11605         * gst/gst.c: whitespace and doc style fixes
11606
11607 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11608
11609         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
11610
11611 2003-12-24  Colin Walters  <walters@verbum.org>
11612
11613         * gst/elements/gsttypefindelement.c:
11614           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
11615           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
11616           Don't double-free caps.
11617
11618 2003-12-23  David Schleef  <ds@schleef.org>
11619
11620         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
11621           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
11622           Many little fixes and additions of debug statements to
11623           get rhythmbox working.
11624
11625 2003-12-23  Colin Walters  <walters@verbum.org>
11626
11627         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
11628         Use GST_PAD_LINK_SUCCESSFUL.
11629
11630 2003-12-23  David Schleef  <ds@schleef.org>
11631
11632         * gst/elements/gstaggregator.c:
11633         * gst/elements/gsttee.c:
11634           Use gst_pad_proxy_getcaps().
11635         * gst/gstpad.c:
11636         * gst/gstpad.h:
11637           Add gst_pad_proxy_getcaps(), which filter elements can use
11638           as a generic getcaps implementation.
11639           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
11640           was advertised.
11641
11642 2003-12-23  David Schleef  <ds@schleef.org>
11643
11644         * gst/gstpad.c:
11645           Rearrange/rewrite much of the pad negotiation code, since it
11646           resembled pasta.  This actually changes the way some
11647           negotiation works, since the previous code was inconsistent
11648           depending on how it was invoked.  Add (internal) structure
11649           GstPadLink, which is used to hold some information (more in
11650           the future) about the link between two pads.  Fixes a number
11651           of bugs, including random lossage of filter caps when the
11652           initial negotiation is delayed.  A few functions are still
11653           unimplemented.
11654         * gst/gstpad.h:
11655           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
11656           these when testing GstPadLinkReturn values instead of comparing
11657           directly.
11658
11659 2003-12-23  David Schleef  <ds@schleef.org>
11660
11661         * gst/gstvalue.c: 
11662         * gst/gstvalue.h:
11663           Rearrange lots of code.  Change registration of compare function
11664           into registration of compare/serialize/deserialize functions.
11665           Doesn't include implementation of gst_value_[de]serialize(),
11666           but that should be easy.
11667
11668 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11669
11670         * docs/gst/gstreamer-sections.txt:
11671         * docs/gst/tmpl/gstprops.sgml: removed
11672         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
11673           David removed props and caps code, so let's remove their docs as well.
11674           Removed all no longer existing symbols from gstreamer-sections.txt
11675           
11676 2003-12-22  Colin Walters  <walters@verbum.org>
11677
11678         * gst/gsttaginterface.c, gst/gsttaginterface.h,
11679           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
11680           of tags directly.
11681
11682 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11683
11684         * gst/elements/gstelements.c:
11685           Set ranks of elements to NONE, so the autoplugger doesn't use them.
11686         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
11687           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
11688           gst_caps (peer).
11689
11690 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11691
11692         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11693         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
11694         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
11695         (gst_spider_identity_sink_loop_type_finding):
11696         * gst/autoplug/gstspideridentity.h:
11697           Fix autoplugging in spider element, so it works with new caps.
11698           This was mainly caused by identifying empty caps incorrectly.
11699
11700 2003-12-22  David Schleef  <ds@schleef.org>
11701
11702         * gststructure.c, gstvalue.c, gstvalue.h: Add
11703           gst_value_init_and_copy() and use it, to avoid silly mistakes in
11704           using g_value_copy()
11705
11706 2003-12-21  David Schleef  <ds@schleef.org>
11707
11708         * many, many files: Merge CAPS branch.  This includes:
11709           - implemention of GstValue and several GstValue types
11710           - implemention of GstStructure
11711           - entire rewrite of GstCaps
11712           - removal of GstProps
11713           - many changes to GstPad to compensate for new caps paradigm
11714           - removal of GstBufferpool
11715         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
11716         gstvalue.h, gst/gstcaps[2]*.[ch]:
11717           - rename gstcaps2.[ch] to gstcaps.[ch]
11718
11719 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11720
11721         * gst/gstqueue.c: (gst_queue_handle_pending_events),
11722         (gst_queue_chain), (gst_queue_handle_src_event):
11723           implement timeout for sending events. Workaround for if the
11724           pipeline on this queue is not passing any data.
11725
11726 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
11727                                                                                 
11728         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
11729         * moved CVS to freedesktop.org
11730