*.c: Don't cast to GST_OBJECT when reffing or unreffing. Large source-munging commit!!!
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-06-28  Andy Wingo  <wingo@pobox.com>
2
3         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
4         source-munging commit!!!
5
6         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
7         (gst_object_sink): Take gpointer arguments, not GstObject --
8         avoids casts. Like GLib.
9
10         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11         activate.
12
13 2005-06-27  Andy Wingo  <wingo@pobox.com>
14
15         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
16         remaining buffer.
17
18         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
19         returns a sorted copy of the trace list.
20         (gst_alloc_trace_print_live): New API, only prints traces with
21         live objects. Sort the list.
22         (gst_alloc_trace_print_all): Sort the list.
23         (gst_alloc_trace_print): Align columns.
24
25         * gst/elements/gstttypefindelement.c:
26         * gst/elements/gsttee.c:
27         * gst/base/gstbasesrc.c:
28         * gst/base/gstbasesink.c:
29         * gst/base/gstbasetransform.c:
30         * gst/gstqueue.c: Adapt for pad activation changes.
31
32         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
33         sched.
34         (gst_pipeline_dispose): Drop ref on sched.
35
36         * gst/gstpad.c (gst_pad_init): Set the default activate func.
37         (gst_pad_activate_default): Push mode by default.
38         (pre_activate_switch, post_activate_switch): New stubs, things to
39         do before and after switching activation modes on pads.
40         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
41         the pad's activate function to choose which mode to activate.
42         Shortcut on deactivation and call the right function directly.
43         (gst_pad_activate_pull): New API, (de)activates a pad in pull
44         mode.
45         (gst_pad_activate_push): New API, same for push mode.
46         (gst_pad_set_activate_function) 
47         (gst_pad_set_activatepull_function) 
48         (gst_pad_set_activatepush_function): Setters for new API.
49
50         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
51         Trace all miniobjects.
52         (gst_mini_object_make_writable): Unref the arg if we copy, like
53         gst_caps_make_writable.
54
55         * gst/gstmessage.c (_gst_message_initialize): No trace init.
56
57         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
58         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
59         Adapt for new pad API.
60
61         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
62
63         * gst/gstelement.h:
64         * gst/gstelement.c (gst_element_iterate_src_pads) 
65         (gst_element_iterate_sink_pads): New API functions.
66         
67         * gst/gstelement.c (iterator_fold_with_resync): New utility,
68         should fold into gstiterator.c in some form.
69         (gst_element_pads_activate): Simplified via use of fold and
70         delegation of decisions to gstpad->activate.
71
72         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
73         help in debugging.
74
75         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
76         class once in init, like gstmessage. Didn't run into this issue
77         but it seems correct. Don't initialize a trace, gstminiobject does
78         that.
79
80         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
81         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
82         to the bus.
83         (assert_live_count): New util function, uses alloc traces to check
84         cleanup.
85
86         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
87         To be modified when unlink drops the internal pad.
88
89 2005-06-27  Wim Taymans  <wim@fluendo.com>
90
91         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
92         (gst_bin_change_state):
93         Cleanup the get_state() function a little, make sure it
94         iterates the same set of elements.
95         Added stub iterate_state_order().
96
97 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
98
99         * docs/gst/gstreamer-docs.sgml:
100         * docs/gst/gstreamer-sections.txt:
101         * docs/gst/gstreamer.types:
102         * docs/gst/tmpl/gstbasesink.sgml:
103         * docs/gst/tmpl/gstbasesrc.sgml:
104         * docs/gst/tmpl/gstbasetransform.sgml:
105         * docs/gst/tmpl/gstelement.sgml:
106         * docs/gst/tmpl/gstiterator.sgml:
107         * gst/base/gstbasesrc.c:
108         * gst/base/gstbasesrc.h:
109         * gst/base/gstbasetransform.h:
110         * gst/gstelement.c:
111         * gst/gstiterator.h:
112           adding basetransform and iterator docs
113
114 2005-06-27  Andy Wingo  <wingo@pobox.com>
115
116         * docs/design/part-activation.txt: Notes on how activation should
117         work -- not quite implemented yet.
118
119 2005-06-25  Wim Taymans  <wim@fluendo.com>
120
121         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
122         At least get the chain function correct, needs more
123         fixing.
124
125 2005-06-25  Wim Taymans  <wim@fluendo.com>
126
127         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
128         (gst_basesink_handle_object), (gst_basesink_event),
129         (gst_basesink_do_sync), (gst_basesink_handle_event),
130         (gst_basesink_change_state):
131         * gst/gsttask.h:
132         Right, two problems here: ghostpads don't take locks and
133         glib _rec_mutex_lock_full() with depth==0 still locks.
134         Catch illegal locking and g_warn them.
135
136 2005-06-25  Wim Taymans  <wim@fluendo.com>
137
138         * check/states/sinks.c: (START_TEST), (gst_object_suite):
139         Have to check for completion now...
140
141 2005-06-25  Wim Taymans  <wim@fluendo.com>
142
143         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
144         (gst_basesink_handle_object), (gst_basesink_event),
145         (gst_basesink_do_sync), (gst_basesink_handle_event),
146         (gst_basesink_change_state):
147         * gst/gstpad.h:
148         Unlock STREAM_LOCK whatever the recursion was.
149
150 2005-06-25  Wim Taymans  <wim@fluendo.com>
151
152         * gst/base/gstbasesink.c: (gst_basesink_set_property),
153         (gst_basesink_preroll_queue_empty),
154         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
155         (gst_basesink_event), (gst_basesink_do_sync),
156         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
157         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
158         (gst_basesink_change_state):
159         Reworked the base sink, handle event and buffer serialisation
160         correctly and removed possible deadlock.
161         Handle EOS correctly.
162
163 2005-06-25  Wim Taymans  <wim@fluendo.com>
164
165         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
166         (gst_pipeline_change_state):
167         * tools/gst-launch.c: (check_intr), (event_loop), (main):
168         Allow elements to post EOS in the state change function.
169         Fix up -launch, make it exit the poll loop when the
170         pipeline actually changed state.
171         Fix up warning parsing in -launch.
172
173 2005-06-25  Wim Taymans  <wim@fluendo.com>
174
175         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
176         (gst_tee_sink_activate):
177         Core takes STREAM_LOCK for us now.
178
179 2005-06-25  Wim Taymans  <wim@fluendo.com>
180
181         * gst/gstelement.c: (gst_element_get_state_func),
182         (gst_element_set_state):
183         * gst/gstelement.h:
184         * gst/gstmessage.c: (gst_message_parse_error),
185         (gst_message_parse_warning):
186         Keep track of current target state while performing a state
187         change so that subclasses can do something interesting.
188         Fix parsing of warning/error messages when GError is NULL.
189
190 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
191
192         * docs/gst/Makefile.am:
193         * docs/gst/gstreamer-docs.sgml:
194         * docs/gst/gstreamer-sections.txt:
195         * docs/gst/gstreamer.types:
196         * docs/gst/tmpl/gstbasesink.sgml:
197         * docs/gst/tmpl/gstbasesrc.sgml:
198         * docs/gst/tmpl/gstbin.sgml:
199         * docs/gst/tmpl/gstcompat.sgml:
200         * docs/gst/tmpl/gstfakesink.sgml:
201         * docs/gst/tmpl/gstfakesrc.sgml:
202         * docs/gst/tmpl/gstfilesink.sgml:
203         * docs/gst/tmpl/gstfilesrc.sgml:
204         * docs/gst/tmpl/gstindex.sgml:
205         * docs/manual/appendix-quotes.xml:
206         * gst/base/gstbasesrc.h:
207         * gst/elements/gstfakesrc.h:
208         * gst/gstmessage.h:
209           start pulling in base classes and elements in our docs
210
211 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
212
213         * docs/gst/Makefile.am:
214         * docs/libs/Makefile.am:
215           fixed make distcheck with gtk-doc 1.3
216
217 2005-06-23  Wim Taymans  <wim@fluendo.com>
218
219         * gst/gstelement.c: (gst_element_get_state_func),
220         (gst_element_set_state), (gst_element_change_state):
221         When the state did not change, also report NO_PREROLL
222         when it matters.
223
224 2005-06-23  Wim Taymans  <wim@fluendo.com>
225
226         * gst/gstpad.c: (gst_pad_event_default):
227         * gst/gstqueue.c: (gst_queue_loop):
228         No unsafe task pausing please.
229
230 2005-06-23  Wim Taymans  <wim@fluendo.com>
231
232         * gst/schedulers/threadscheduler.c:
233         (gst_thread_scheduler_task_start),
234         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
235         Ref the task before pushing it on the threadpool. This
236         makes sure that we have a ref when the threadfunction is
237         actually called.
238
239 2005-06-23  Andy Wingo  <wingo@pobox.com>
240
241         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
242         offset is greater than the file's size.
243
244         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
245         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
246         * gst/gstobject.c (gst_object_class_init): Make the class lock
247         recursive. Wim won't let me drop deep_notify. Decodebin works
248         again, whoopdy doo.
249
250         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
251         internal pad, and hacks accordingly. Doesn't do it on the target
252         pad because we change its caps. Probably catches all cases of
253         interest tho.
254         (gst_ghost_pad_set_property): Connect to notify::caps as
255         appropritate.
256
257         * tests/network-clock.scm (plot-simulation): Pipe data to the
258         elite python skript.
259
260         * tests/network-clock-utils.scm (define-parameter): New macro,
261         defines a parameter that can be set via the command line.
262         (set-parameter!, parse-parameter-arguments): Command line args
263         parser.
264
265         * tests/plot-data: Simple matplotlib-based plotter, takes input on
266         stdin.
267
268 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
269
270         * gst/elements/gsttypefindelement.c:
271         (gst_type_find_element_handle_event):
272           Don't restart typefinding on a discont.
273         * gst/gstelement.c: (gst_element_set_state):
274           Debug spelling fix.
275         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
276           Allow changing mode of an active pad.
277           Debug output fixes.
278         * gst/registries/gstlibxmlregistry.c: (load_feature):
279           Don't cast a static pad template to a normal pad template.
280
281 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
282
283         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
284         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
285           remove gst_strtoll completely, since it didn't actually do
286           anything more than what g_ascii_strtoull already does.
287           check for range errors when deserializing
288           do a cast for the unsigned cases; but further fixing needs
289           a decision on what the interpretation of "(int)" and
290           deserialization should be for values that fall outside the
291           type's boundaries (ie, refuse, or interpret as casting)
292
293 2005-06-23  Wim Taymans  <wim@fluendo.com>
294
295         * check/Makefile.am:
296         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
297         * docs/design/part-live-source.txt:
298         * docs/design/part-states.txt:
299         * gst/base/gstbasesrc.c: (gst_basesrc_init),
300         (gst_basesrc_set_live), (gst_basesrc_is_live),
301         (gst_basesrc_get_range), (gst_basesrc_activate),
302         (gst_basesrc_change_state):
303         * gst/base/gstbasesrc.h:
304         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
305         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
306         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
307         * gst/gstelement.c: (gst_element_get_state_func),
308         (gst_element_set_state):
309         * gst/gstelement.h:
310         * gst/gsttypes.h:
311         * tools/gst-launch.c: (event_loop), (main):
312         Added support for live sources and other elements that
313         cannot do preroll.
314         Updated design docs, added live-source design doc.
315         Implemented live source functionality in basesrc
316         Fix error condition in _bin_get_state()
317         Implement live source handling in -launch.
318         Added check for live sources.
319         Fixed case in GstBin where elements were changed state
320         multiple times.
321
322
323 2005-06-23  Andy Wingo  <wingo@pobox.com>
324
325         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
326         borken refcounting.
327
328         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
329         gst_caps_replace takes care of this for us.
330
331         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
332         gst_pad_set_caps on the target, not just its setcaps() function.
333
334         * tests/network-clock.scm: 
335         * tests/network-clock-utils.scm: A network clock simulator.
336         Something of an algorithmic testbed before doing something in C.
337
338 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
339
340         * check/Makefile.am:
341         * check/gst/capslist.h:
342           copy over from 0.8, and add two with bitmasks specified with
343           (int) 0xFF...
344         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
345           add test to parse everything from capslist.h
346         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
347         (main):
348           add test for structure deserialization
349         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
350           add tests for deserialization of strings to int types
351         * gst/gststructure.c: (gst_structure_nth_field_name):
352         * gst/gststructure.h:
353           add a way to get the name of a field referenced by index
354         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
355           instead of checking if the resulting long long lies between
356           min and max, we check if the long long would fit into
357           a number of bytes for the final type.
358           This fixes cases where a string represents 2^32 - 1, which
359           when cast to int would be the (valid) -1, but is bigger than
360           G_MAXINT
361
362 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
363
364         * gst/parse/grammar.y:
365           add a log line for type deserialization
366
367 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
368
369         * check/gst/gstvalue.c: (START_TEST):
370         * gst/gstvalue.c: (gst_value_deserialize):
371           return long long, not int, so gint64 deserialization actually
372           works.  Is there any flag that makes the compiler check this ?
373           Fixes #308559
374
375 2005-06-22  Wim Taymans  <wim@fluendo.com>
376
377         * gst/gstbuffer.h:
378         Added convenience macros for setting buffers in GValue.
379
380 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
381
382         * check/gst/.cvsignore:
383         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
384           add a test deserializing int64, and comment part out because
385           it fails, yay !
386
387 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
388
389         * check/Makefile.am:
390         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
391         * testsuite/Makefile.am:
392         * testsuite/caps/Makefile.am:
393         * testsuite/caps/value_serialize.c:
394         * testsuite/test_gst_init.c:
395           move a value_serialize test over
396
397 2005-06-20  Wim Taymans  <wim@fluendo.com>
398
399         * gst/gstpad.c:
400         Small doc updates.
401         
402         * gst/gstvalue.c: (gst_value_compare_buffer),
403         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
404         (gst_value_compare_flags), (gst_value_serialize_flags),
405         (gst_value_deserialize_flags), (_gst_value_initialize):
406         Fix serialisation of buffers, they are not boxed types anymore
407
408 2005-06-20  Wim Taymans  <wim@fluendo.com>
409
410         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
411         Testcase to show error in buffer-on-caps serialisation.
412
413 2005-06-20  Andy Wingo  <wingo@pobox.com>
414
415         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
416         will be adding to later.
417
418         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
419         if its socks fill with rocks.
420         (gst_system_clock_obtain): Set the name on object construction.
421         Avoid double-checked locking.
422
423 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
424
425         * gst/gsturi.c: (gst_element_make_from_uri):
426           Fix potential endless loop.
427
428 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
429
430         * check/Makefile.am:
431           add gsttag
432         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
433         (main):
434           move over from testsuite dir and clean up
435         * configure.ac:
436         * gst/gsttag.c:
437         * testsuite/Makefile.am:
438         * testsuite/tags/.cvsignore:
439         * testsuite/tags/Makefile.am:
440         * testsuite/tags/merge.c:
441           remove testsuite/tags
442
443 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
444
445         * docs/gst/gstreamer-sections.txt:
446         * docs/gst/tmpl/gstenumtypes.sgml:
447         * win32/gstenumtypes.c:
448           clean up documentation build a little
449
450 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
451
452         * check/gstcheck.h:
453           add macros for checking refcounts on objects and caps
454         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
455           add some more unit tests
456         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
457         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
458           fix leaked refcounts (I hope :)) so unittest works
459         * gst/gstpad.h:
460           whitespace removal
461
462 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
463
464         * configure.ac: back to HEAD
465
466 === release 0.9.1 ===
467
468 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
469
470         * NEWS:
471         * RELEASE:
472           updated
473
474 2005-06-17  Andy Wingo  <wingo@pobox.com>
475
476         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
477         assert; it's always possible that the pad gets deactivated in
478         between the checks in gstpad.c and the implementation. Rely on
479         finish_preroll() to return a FLUSHING or similar instead of on the
480         assert.
481         
482         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
483         clock and post an EOS message if we come out of finish_preroll in
484         the playing state.
485
486 2005-06-16  David Schleef  <ds@schleef.org>
487
488         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
489         (gst_capsfilter_set_property): Allow NULL as possible value
490         for filter_caps property, indicating GST_CAPS_ANY.
491
492 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
493
494         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
495           fix debug output
496         * gst/schedulers/Makefile.am:
497           use libgst prefix
498         * gstreamer.spec.in:
499           fix spec for it
500
501 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
502
503         * gstreamer.spec.in:
504           clean up
505
506 2005-06-08  Andy Wingo  <wingo@pobox.com>
507
508         * gst/gstutils.c: RPAD fixes all around.
509         (gst_element_link_pads): Refcounting fixes.
510
511         * tools/gst-inspect.c:
512         * tools/gst-xmlinspect.c:
513         * parse/grammar.y:
514         * gst/base/gsttypefindhelper.c:
515         * gst/base/gstbasesink.c:
516         * gst/gstqueue.c: RPAD fixes.
517
518         * gst/gstghostpad.h:
519         * gst/gstghostpad.c: New ghost pad implementation as full proxy
520         pads. The tricky thing is they provide both source and sink
521         interfaces, since they proxy the internal pad for the external
522         pad, and vice versa. Implement with lower-level ProxyPad objects,
523         with the interior proxy pad as a child of the exterior ghost pad.
524         Should write a doc on this.
525         
526         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
527         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
528         gst_object API.
529         
530         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
531         pads are real pads. No ghost pads in this file. Not documenting
532         the myriad s/RPAD/PAD/ and REALIZE fixes.
533         (gst_pad_class_init): Add properties for "direction" and
534         "template". Both are construct-only, so they can't change during
535         the life of the pad. Fixes properly deriving from GstPad.
536         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
537         derived objects, just set properties when creating the objects via
538         g_object_new.
539         (gst_pad_get_parent): Implement as a function, return NULL if the
540         parent is not an element.
541         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
542         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
543         
544         * gst/gstobject.c (gst_object_class_init): Make name a construct
545         property. Don't set it in the object init.
546
547         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
548         with UNKNOWN direction.
549         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
550         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
551         (gst_element_remove_pad): Remove ghost-pad special cases.
552         (gst_element_pads_activate): Remove rpad cruft.
553
554         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
555         catch the pad's-parent-not-an-element case.
556
557         * gst/gst.h: Include gstghostpad.h.
558
559         * gst/gst.c (init_post): No more real, ghost pads.
560
561         * gst/Makefile.am: Add gstghostpad.[ch].
562
563         * check/Makefile.am:
564         * check/gst/gstbin.c:
565         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
566         into a bin creates ghost pads, and that the refcounts are right.
567         Partly moved from gstbin.c.
568
569 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
570
571         * check/gst-libs/.cvsignore:
572         * check/gst/.cvsignore:
573         * check/pipelines/.cvsignore:
574           ignore more
575         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
576         (START_TEST), (cleanup_suite), (main):
577           add some tests related to cleanup after running pipelines
578
579 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
580
581         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
582           add a testsuite for GstBuffer
583
584 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
585
586         * gst/gstminiobject.h:
587           add defines for accessing the refcount
588
589 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
590
591         * Makefile.am: added support for html unit test coverage reports
592
593 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
594
595         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
596           Free existing caps if the capsfilter changes. Add a FIXME about
597           setting those caps on the pads.
598
599         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
600           Before adding a ghost pad to a parent bin, check that there isn't
601           already one for the element on the bin. Prevents infinite recursion
602           when using decodebin in parse pipelines. Andy says he'll rewrite the
603           way this works anyway, so ignore the hack.
604
605 2005-06-02  Andy Wingo  <wingo@pobox.com>
606
607         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
608         file size, pass it on to the type find helper.
609
610         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
611         segment_start and segment_end properly according to the seek
612         method. Segment_end is still a bit flaky because offset can be
613         negative for CUR and END cases, but it takes -1 as an "unset"
614         value.
615
616 2005-06-02  Wim Taymans  <wim@fluendo.com>
617
618         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
619         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
620         (gst_basesink_activate):
621         * gst/base/gstbasesink.h:
622         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
623         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
624         (gst_pad_query), (gst_pad_start_task):
625         * gst/gstpad.h:
626         * gst/gstqueue.c: (gst_queue_bufferalloc),
627         (gst_queue_handle_sink_event), (gst_queue_chain):
628         Bufferalloc: return GstFlowReturn to more accuratly report
629         why allocation failed.
630
631 2005-06-02  Wim Taymans  <wim@fluendo.com>
632
633         * gst/gstpipeline.c: (gst_pipeline_send_event):
634         Take snapshot of state without blocking.
635
636 2005-06-02  Wim Taymans  <wim@fluendo.com>
637
638         * docs/design/part-TODO.txt:
639         * docs/design/part-caps.txt:
640         * docs/design/part-clocks.txt:
641         * docs/design/part-negotiation.txt:
642         * docs/design/part-preroll.txt:
643         Small doc updates 
644
645 2005-05-30  Wim Taymans  <wim@fluendo.com>
646
647         * gst/elements/gstidentity.c: (gst_identity_event),
648         (gst_identity_transform), (gst_identity_get_property):
649         Protect last_message property as it is accessed from
650         multiple threads.
651
652 2005-05-30  Wim Taymans  <wim@fluendo.com>
653
654         * gst/gstelement.c: (gst_element_init),
655         (gst_element_pads_activate), (gst_element_change_state):
656         Slicker pad activation code.
657
658 2005-05-30  Wim Taymans  <wim@fluendo.com>
659
660         * gst/Makefile.am:
661         * gst/gstelement.h:
662         * gst/gstelementfactory.h:
663         * gst/gsttypes.h:
664         Move elementfactory methods to separate .h file.
665
666 2005-05-30  Wim Taymans  <wim@fluendo.com>
667
668         * docs/design/part-overview.txt:
669         * gst/gstsystemclock.h:
670         Small typo fixes, doc updates.
671
672 2005-05-30  Wim Taymans  <wim@fluendo.com>
673
674         * gst/gst.c: (gst_init_get_popt_table), (init_post),
675         (init_popt_callback):
676         Remove cpu-opt flag.
677
678 2005-05-30  Wim Taymans  <wim@fluendo.com>
679
680         * gst/gstbuffer.c: (gst_subbuffer_finalize),
681         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
682         * gst/gstbuffer.h:
683         Avoid typechecking in places where not needed.
684         Added accessor for malloc_data.
685
686 2005-05-30  Wim Taymans  <wim@fluendo.com>
687
688         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
689         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
690         (gst_pad_configure_sink), (gst_pad_configure_src),
691         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
692         (gst_pad_start_task):
693         Propagate errors from _set_caps() in configure_src/sink
694         functions instead of returning TRUE.
695         FLUSH events can travel up and downstream
696
697
698 2005-05-30  Wim Taymans  <wim@fluendo.com>
699
700         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
701         (gst_basesink_activate):
702         Handle EOS in preroll.
703
704 2005-05-30  Wim Taymans  <wim@fluendo.com>
705
706         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
707         (gst_queue_loop), (gst_queue_handle_src_event):
708         Remove old pieces of code
709         Flushing the queue in an upstream event is a very bad idea.
710
711 2005-05-26  Andy Wingo  <wingo@pobox.com>
712
713         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
714         gst_value_set_mini_object so as to add a ref on the object (which
715         will be removed when the value is unset).
716
717         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
718         arg type in ::handoff.
719
720         * gst/gstelement.c (gst_element_change_state): Also deactivate
721         pads in READY->NULL, just in case the element didn't make it to
722         PAUSED. Wingo tested, Wim approved.
723
724 2005-05-26  Wim Taymans  <wim@fluendo.com>
725
726         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
727         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
728         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
729         A flushing pad cannot be used to alloc_buffer from.
730
731 2005-05-26  Wim Taymans  <wim@fluendo.com>
732
733         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
734         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
735         (gst_bus_source_dispatch), (gst_bus_source_finalize),
736         (gst_bus_create_watch), (gst_bus_add_watch_full):
737         * gst/gstbus.h:
738         Implement a real GSource and use g_main_context_wakeup() to
739         signal new messages instead of the socketpair.
740
741 2005-05-25  Wim Taymans  <wim@fluendo.com>
742
743         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
744         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
745         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
746         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
747         (gst_pad_send_event), (gst_pad_start_task):
748         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
749         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
750         (gst_queue_sink_activate), (gst_queue_src_activate),
751         (gst_queue_change_state):
752         * gst/gstqueue.h:
753         Fix state changes for non sinks. We now change sinks, then elements
754         with unconnected srcpads, then the rest.
755         More efficient queue unlocking in flush and state changes.
756         Set the pad activate mode even if it does not have an activate
757         function.
758
759 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
760
761         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
762           Don't go in pull mode for non-seekable sources.
763         * gst/elements/gsttypefindelement.h:
764         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
765         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
766         (free_entry), (stop_typefinding),
767         (gst_type_find_element_handle_event), (find_peek),
768         (gst_type_find_element_chain), (do_pull_typefind),
769         (gst_type_find_element_change_state):
770           Allow typefinding (w/o seeking) in push-mode, simplified version
771           of what was in 0.8.
772         * gst/gstutils.c: (gst_buffer_join):
773         * gst/gstutils.h:
774           gst_buffer_join() from 0.8.
775
776 2005-05-25  Wim Taymans  <wim@fluendo.com>
777
778         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
779         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
780         (gst_pad_send_event), (gst_pad_start_task):
781         Disable attempt at mode switching until it is figured out.
782
783 2005-05-25  Wim Taymans  <wim@fluendo.com>
784
785         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
786         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
787         (gst_basesink_finish_preroll), (gst_basesink_chain),
788         (gst_basesink_loop), (gst_basesink_activate),
789         (gst_basesink_change_state):
790         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
791         (gst_basesrc_get_range), (gst_basesrc_loop),
792         (gst_basesrc_activate):
793         * gst/elements/gsttee.c: (gst_tee_sink_activate):
794         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
795         (gst_real_pad_init), (gst_real_pad_set_property),
796         (gst_real_pad_get_property), (gst_pad_set_active),
797         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
798         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
799         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
800         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
801         (gst_pad_event_default_dispatch), (gst_pad_event_default),
802         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
803         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
804         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
805         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
806         (gst_pad_stop_task):
807         * gst/gstpad.h:
808         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
809         (gst_queue_loop), (gst_queue_src_activate):
810         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
811         (gst_task_get_state):
812         * gst/gsttask.h:
813         * gst/schedulers/threadscheduler.c:
814         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
815         Implement gst_pad_pause/start/stop_task(), take STREAM lock
816         in task function.
817         Remove ACTIVE pad flag, use FLUSHING everywhere
818         Added _pad_chain(), _pad_get_range() to call chain/getrange 
819         functions.
820         Add locks around IS_FLUSHING when reading.
821         Take STREAM lock in chain(), get_range() functions so plugins
822         don't need to take it anymore.
823         
824
825
826 2005-05-25  Wim Taymans  <wim@fluendo.com>
827
828         * tools/gst-launch.c: (event_loop):
829         Unref message after using its contents instead of
830         before.
831
832 2005-05-24  Wim Taymans  <wim@fluendo.com>
833
834         * docs/design/draft-ghostpads.txt:
835         * docs/design/draft-push-pull.txt:
836         * docs/design/draft-query.txt:
837         * docs/design/part-overview.txt:
838         Docs updates, added general overview doc.
839
840 2005-05-21  David Schleef  <ds@schleef.org>
841
842         * docs/gst/tmpl/old/GstBin.sgml:
843         * docs/gst/tmpl/old/GstBuffer.sgml:
844         * docs/gst/tmpl/old/GstCaps.sgml:
845         * docs/gst/tmpl/old/GstClock.sgml:
846         * docs/gst/tmpl/old/GstCompat.sgml:
847         * docs/gst/tmpl/old/GstData.sgml:
848         * docs/gst/tmpl/old/GstElement.sgml:
849         * docs/gst/tmpl/old/GstEvent.sgml:
850         * docs/gst/tmpl/old/GstIndex.sgml:
851         * docs/gst/tmpl/old/GstStructure.sgml:
852         * docs/gst/tmpl/old/GstTag.sgml:
853         * docs/gst/tmpl/old/cothreads.sgml:
854         * docs/gst/tmpl/old/cothreads_compat.sgml:
855         * docs/gst/tmpl/old/gettext.sgml:
856         * docs/gst/tmpl/old/gobject2gtk.sgml:
857         * docs/gst/tmpl/old/grammar.tab.sgml:
858         * docs/gst/tmpl/old/gst-i18n-app.sgml:
859         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
860         * docs/gst/tmpl/old/gst_private.sgml:
861         * docs/gst/tmpl/old/gstaggregator.sgml:
862         * docs/gst/tmpl/old/gstarch.sgml:
863         * docs/gst/tmpl/old/gstatomic_impl.sgml:
864         * docs/gst/tmpl/old/gstbufferstore.sgml:
865         * docs/gst/tmpl/old/gstdata_private.sgml:
866         * docs/gst/tmpl/old/gstdisksink.sgml:
867         * docs/gst/tmpl/old/gstdisksrc.sgml:
868         * docs/gst/tmpl/old/gstelementfactory.sgml:
869         * docs/gst/tmpl/old/gstextratypes.sgml:
870         * docs/gst/tmpl/old/gstfakesink.sgml:
871         * docs/gst/tmpl/old/gstfakesrc.sgml:
872         * docs/gst/tmpl/old/gstfdsink.sgml:
873         * docs/gst/tmpl/old/gstfdsrc.sgml:
874         * docs/gst/tmpl/old/gstfilesink.sgml:
875         * docs/gst/tmpl/old/gstfilesrc.sgml:
876         * docs/gst/tmpl/old/gsthttpsrc.sgml:
877         * docs/gst/tmpl/old/gstidentity.sgml:
878         * docs/gst/tmpl/old/gstindexfactory.sgml:
879         * docs/gst/tmpl/old/gstmarshal.sgml:
880         * docs/gst/tmpl/old/gstmd5sink.sgml:
881         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
882         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
883         * docs/gst/tmpl/old/gstpadtemplate.sgml:
884         * docs/gst/tmpl/old/gstpipefilter.sgml:
885         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
886         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
887         * docs/gst/tmpl/old/gstshaper.sgml:
888         * docs/gst/tmpl/old/gstspider.sgml:
889         * docs/gst/tmpl/old/gstspideridentity.sgml:
890         * docs/gst/tmpl/old/gststatistics.sgml:
891         * docs/gst/tmpl/old/gsttee.sgml:
892         * docs/gst/tmpl/old/gsttimecache.sgml:
893         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
894         * docs/gst/tmpl/old/gstxmlregistry.sgml:
895         * docs/gst/tmpl/old/gthread-cothreads.sgml:
896         * docs/gst/tmpl/old/types.sgml:
897           I didn't intend to add these or check them in.
898
899 2005-05-19  David Schleef  <ds@schleef.org>
900
901         * configure.ac: Use -no-common everywhere.  In a sane world, it
902           would be the default in libtool, because without it, you can't
903           build DLLs on Windows.
904         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
905         * docs/gst/gstreamer-sections.txt:
906         * docs/gst/tmpl/gstcpu.sgml:
907         * docs/gst/tmpl/gstdata.sgml:
908         * docs/gst/tmpl/gstthread.sgml:
909
910 2005-05-19  David Schleef  <ds@schleef.org>
911
912         * gst/gstminiobject.c: (gst_value_set_mini_object),
913         (gst_value_take_mini_object), (gst_value_get_mini_object):
914         * gst/gstminiobject.h: Add GValue set/get functions.
915
916 2005-05-19  Wim Taymans  <wim@fluendo.com>
917
918         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
919         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
920         (gst_subbuffer_init), (gst_buffer_is_span_fast):
921         * gst/gstbuffer.h:
922         * gst/gstbus.c: (gst_bus_post):
923         * gst/gstelement.c: (gst_element_get_random_pad):
924         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
925         Make subbufer unref the parent in finalize.
926         some more debugging info.
927
928
929 2005-05-19  Wim Taymans  <wim@fluendo.com>
930
931         * gst/base/gstbasesink.c: (gst_basesink_class_init),
932         (gst_basesink_init), (gst_basesink_finalize),
933         (gst_basesink_activate), (gst_basesink_change_state):
934         Don't free preroll queue too early.
935
936 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
937
938         * gst/Makefile.am:
939         * gst/ROADMAP:
940           Hi, I'm outdated. Please shoot me.
941
942 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
943
944         * gst/gstpipeline.c: (gst_pipeline_send_event):
945           Do not access variables after they have been deleted.
946
947 2005-05-19  Wim Taymans  <wim@fluendo.com>
948
949         * tools/gst-inspect.c: (print_plugin_features):
950         A plugin feature does unfortunatly not use the
951         object name yet...
952
953 2005-05-18  Wim Taymans  <wim@fluendo.com>
954
955         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
956         Port _span() functions to new subbuffers.
957
958 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
959
960         * gst/gstbin.c: (gst_bin_add_func):
961           Fix clock settery in bins when adding kids after the clock has
962           been selected.
963
964 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
965
966         * gst/elements/gstidentity.c: (gst_identity_class_init):
967           Workaround until signals support GstMiniObject.
968
969 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
970
971         * gst/gstbuffer.c:
972         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
973
974 2005-05-18  Wim Taymans  <wim@fluendo.com>
975
976         * gst/base/Makefile.am:
977         * gst/base/gstadapter.c: (gst_adapter_base_init),
978         (gst_adapter_class_init), (gst_adapter_init),
979         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
980         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
981         (gst_adapter_flush), (gst_adapter_available),
982         (gst_adapter_available_fast):
983         * gst/base/gstadapter.h:
984         Ported and added adapter to the base classes.
985
986 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
987
988         * gst/gst.c:
989         * gst/gstmessage.c:
990           Make sure the class is reffed/unreffed once before threads can be
991           used.  Fixes #304551.
992
993 2005-05-17  Wim Taymans  <wim@fluendo.com>
994
995         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
996         (gst_basesink_chain_unlocked), (gst_basesink_activate):
997         * gst/gstminiobject.c: (gst_mini_object_get_type),
998         (gst_mini_object_free):
999         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
1000         (gst_pad_push), (gst_pad_push_event):
1001         * gst/gstqueue.c: (gst_queue_change_state):
1002         Don't queue buffers in basesink when we are flushing.
1003         Unref buffer when flushing in basesink.
1004         Flush queue when going to READY
1005         Unref buffer when _push() returns an error.
1006         Don't free MiniObject instance when refcount is incremented
1007         in _finalize() so that we can recover objects.
1008
1009 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1010
1011         * docs/manual/advanced-schedulers.xml:
1012         * docs/manual/appendix-checklist.xml:
1013         * docs/pwg/advanced-clock.xml:
1014         * docs/pwg/advanced-interfaces.xml:
1015         * docs/pwg/advanced-request.xml:
1016         * docs/pwg/advanced-types.xml:
1017         * docs/pwg/intro-preface.xml:
1018         * examples/plugins/example.c: (gst_example_get_type),
1019         (gst_example_class_init), (gst_example_chain),
1020         (gst_example_set_property), (gst_example_get_property),
1021         (gst_example_change_state), (plugin_init):
1022         * examples/plugins/example.h:
1023           small doc fixes
1024
1025 2005-05-17  Wim Taymans  <wim@fluendo.com>
1026
1027         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
1028         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
1029         * gst/gstqueue.c: (gst_queue_change_state):
1030         Clear queue when going to READY.
1031         Remove IN_SETCAPS flag too.
1032
1033 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
1034
1035         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
1036           Remove implicit cast from gboolean to GstElementStateReturn;
1037           make sure we still return failure in paused => ready case if
1038           the parent class fails to change state and our own stop 
1039           vfunc succeeds.
1040
1041 2005-05-17  Wim Taymans  <wim@fluendo.com>
1042
1043         * tools/gst-launch.c: (event_loop):
1044         Message was unreffed too soon.
1045
1046 2005-05-16  Andy Wingo  <wingo@pobox.com>
1047
1048         * gst/gstbin.c (sink_iterator_filter): Err... um...
1049
1050         * check/gst/gstbin.c (test_ghost_pads): New test for the
1051         ghosting-if-elements-not-in-same-bin behavior.
1052
1053 2005-05-16  David Schleef  <ds@schleef.org>
1054
1055         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
1056         accessing refcount directly.
1057
1058 2005-05-15  David Schleef  <ds@schleef.org>
1059
1060         * check/Makefile.am: remove GstData checks
1061         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
1062         * gst/Makefile.am: add miniobject, remove data
1063         * gst/gst.h: add miniobject, remove data
1064         * gst/gstdata.c: remove
1065         * gst/gstdata.h: remove
1066         * gst/gstdata_private.h: remove
1067         * gst/gsttypes.h: remove GstEvent and GstMessage
1068         * gst/gstelement.c: (gst_element_post_message): fix for API changes
1069         * gst/gstmarshal.list: change BOXED -> OBJECT
1070
1071         Implement GstMiniObject.
1072         * gst/gstminiobject.c:
1073         * gst/gstminiobject.h:
1074
1075         Modify to be subclasses of GstMiniObject.
1076         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
1077         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
1078         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
1079         (gst_subbuffer_get_type), (gst_subbuffer_init),
1080         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
1081         (gst_buffer_span):
1082         * gst/gstbuffer.h:
1083         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
1084         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
1085         (_gst_event_copy), (gst_event_new):
1086         * gst/gstevent.h:
1087         * gst/gstmessage.c: (_gst_message_initialize),
1088         (gst_message_get_type), (gst_message_class_init),
1089         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
1090         (gst_message_new), (gst_message_new_error),
1091         (gst_message_new_warning), (gst_message_new_tag),
1092         (gst_message_new_state_changed), (gst_message_new_application):
1093         * gst/gstmessage.h:
1094         * gst/gstprobe.c: (gst_probe_perform),
1095         (gst_probe_dispatcher_dispatch):
1096         * gst/gstprobe.h:
1097         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
1098         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
1099         (_gst_query_copy), (gst_query_new):
1100
1101         Update elements for GstData -> GstMiniObject changes
1102         * gst/gstquery.h:
1103         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
1104         (gst_queue_chain), (gst_queue_loop):
1105         * gst/elements/gstbufferstore.c:
1106         (gst_buffer_store_add_buffer_func),
1107         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
1108         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1109         (gst_fakesink_render):
1110         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
1111         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
1112         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
1113         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
1114         (gst_filesrc_create_read):
1115         * gst/elements/gstidentity.c: (gst_identity_class_init):
1116         * gst/elements/gsttypefindelement.c:
1117         (gst_type_find_element_src_event), (free_entry_buffers),
1118         (gst_type_find_element_handle_event):
1119         * libs/gst/dataprotocol/dataprotocol.c:
1120         (gst_dp_header_from_buffer):
1121         * libs/gst/dataprotocol/dataprotocol.h:
1122         * libs/gst/dataprotocol/dp-private.h:
1123
1124 2005-05-15  David Schleef  <ds@schleef.org>
1125
1126         * gst/elements/gstelements.c: Don't include headers that were
1127         just removed.
1128
1129 2005-05-15  David Schleef  <ds@schleef.org>
1130
1131         * gst/elements/Makefile.am: Remove some elements that don't
1132         need to be in the core (or even exist at all).
1133         * gst/elements/gstaggregator.c:
1134         * gst/elements/gstaggregator.h:
1135         * gst/elements/gstmd5sink.c:
1136         * gst/elements/gstmd5sink.h:
1137         * gst/elements/gstmultifilesrc.c:
1138         * gst/elements/gstmultifilesrc.h:
1139         * gst/elements/gstpipefilter.c:
1140         * gst/elements/gstpipefilter.h:
1141         * gst/elements/gstshaper.c:
1142         * gst/elements/gstshaper.h:
1143         * gst/elements/gststatistics.c:
1144         * gst/elements/gststatistics.h:
1145         * po/POTFILES.in: Remove above files.
1146
1147 2005-05-14  Andy Wingo  <wingo@pobox.com>
1148
1149         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
1150         so as to get the refs right.
1151         (sink_iterator_filter): New function, wraps bin_element_is_sink,
1152         unreffing objects that don't pass the filter.
1153
1154         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
1155         gst_element_set_bus.
1156         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
1157         normal cases, this will destroy the bus.
1158
1159         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
1160         object.
1161
1162         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
1163         has no sinks.
1164
1165 2005-05-13  Andy Wingo  <wingo@pobox.com>
1166
1167         * gst/gstutils.c (gst_element_link_pads): Instead of calling
1168         gst_pad_link, call pad_link_maybe_ghosting,
1169         (pad_link_maybe_ghosting): Links pads, making sure that the
1170         elements being linked are in the same bin.
1171         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
1172         Helpers for pad_link_maybe_ghosting.
1173
1174 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1175
1176         * configure.ac:
1177           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
1178
1179 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1180
1181         * docs/design/part-element-source.txt:
1182           Mention GstPushSrc
1183
1184 2005-05-12  Wim Taymans  <wim@fluendo.com>
1185
1186         * gst/base/gstbasesink.c: (gst_basesink_init),
1187         (gst_basesink_activate):
1188         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
1189         (gst_basesrc_is_seekable):
1190         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1191         (bin_element_is_sink), (gst_bin_change_state):
1192         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1193         * gst/gstelement.h:
1194         Identify sinks by their flag to avoid overly complicated
1195         checks (fow now).
1196         Do state changes even for elements not reachable from the
1197         sinks.
1198         BaseSink is a sink now :)
1199         Some more debugging info in the basesrc.
1200
1201
1202 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1203
1204         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
1205           Implement _query on a bin, similar to _send_event.
1206
1207 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1208
1209         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
1210           Discont event offset format should be GST_FORMAT_BYTES,
1211           not GST_FORMAT_TIME.
1212
1213 2005-05-12  Wim Taymans  <wim@fluendo.com>
1214
1215         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
1216         Same fix as Ronald's but without the signal. 
1217
1218 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1219
1220         * gst/gstutils.c: (gst_element_query_position):
1221           No, an element is not a pad.
1222
1223 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1224
1225         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
1226         (gst_bin_get_state):
1227           If a child is removed from a bin while we remove the child from
1228           the bin and while we're retrieving its state, signal this to the
1229           get_state function so we abort the wait (instead of waiting for
1230           a timeout) and can immediately re-iterate over all other elements.
1231
1232 2005-05-12  Wim Taymans  <wim@fluendo.com>
1233
1234         * gst/base/Makefile.am:
1235         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
1236         (gst_basesrc_start):
1237         * gst/base/gstbasesrc.h:
1238         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
1239         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
1240         (gst_pushsrc_init), (gst_pushsrc_create):
1241         * gst/base/gstpushsrc.h:
1242         Added is_seekable to BaseSrc
1243         Added simple PushSrc.
1244
1245 2005-05-11  Wim Taymans  <wim@fluendo.com>
1246
1247         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1248         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1249         (gst_element_link_pads), (gst_element_query_position),
1250         (gst_element_query_convert), (intersect_caps_func),
1251         (gst_pad_query_position), (gst_pad_query_convert):
1252         Fix refcounting in utils function.
1253         No point in trying to activate a pad when it's added, it could
1254         be added from the state change function and then we deadlock, the
1255         element has to decide what to do.
1256
1257 2005-05-10  Andy Wingo  <wingo@pobox.com>
1258
1259         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
1260         *all* the arguments.
1261
1262         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
1263         stream lock if it's a FLUSH_DONE; normal flushes don't get the
1264         lock (according to the docs -- if this is wrong change the docs).
1265
1266         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
1267         flush messages in the NULL state.
1268
1269         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
1270         message immediately and return.
1271         (gst_bus_set_flushing): New function. If a bus is flushing, it
1272         flushes out any queued messages and immediately unrefs new
1273         messages. This is so when an element goes to NULL, all of the
1274         unhandled messages coming from it can be freed, and their
1275         references to the element dropped. In other words: message source
1276         ref considered harmful :P
1277
1278         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
1279         we're finished with it.
1280
1281         * gst/gstmessage.c (gst_message_new_state_changed): 
1282
1283 2005-05-10  Wim Taymans  <wim@fluendo.com>
1284
1285         * gst/gstvalue.c: (gst_value_compare_flags),
1286         (gst_value_serialize_flags), (gst_value_deserialize_flags),
1287         (_gst_value_initialize):
1288         Added flags serialize/deserialize/compare code.
1289
1290 2005-05-09  Andy Wingo  <wingo@pobox.com>
1291
1292         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
1293         Intersect the peer's caps with our caps.
1294
1295 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1296
1297         * gst/base/gsttypefindhelper.c: (helper_find_peek):
1298         * gst/elements/gsttypefindelement.c: (find_peek):
1299           Handle negative offsets better. Fixes decodebin.
1300
1301 2005-05-09  Wim Taymans  <wim@fluendo.com>
1302
1303         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
1304         (gst_base_transform_event):
1305         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
1306         Implement accept_caps.
1307         Fix silly lock/unlock mismatch in base class.
1308
1309 2005-05-09  Wim Taymans  <wim@fluendo.com>
1310
1311         * docs/design/draft-push-pull.txt:
1312         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
1313         * gst/elements/gstfilesink.c: (gst_filesink_init),
1314         (gst_filesink_query):
1315         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1316         (gst_type_find_handle_src_query), (find_element_get_length):
1317         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
1318         * gst/gstelement.h:
1319         * gst/gstmessage.c:
1320         * gst/gstmessage.h:
1321         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
1322         (gst_real_pad_get_caps_unlocked),
1323         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
1324         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1325         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
1326         (gst_real_pad_dispose), (gst_real_pad_finalize),
1327         (gst_pad_load_and_link), (gst_pad_save_thyself),
1328         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
1329         (gst_pad_check_pull_range), (gst_pad_pull_range),
1330         (gst_pad_template_get_type), (gst_pad_template_class_init),
1331         (gst_pad_template_init), (gst_pad_template_dispose),
1332         (name_is_valid), (gst_static_pad_template_get),
1333         (gst_pad_template_new), (gst_static_pad_template_get_caps),
1334         (gst_pad_template_get_caps), (gst_pad_set_element_private),
1335         (gst_pad_get_element_private), (gst_pad_start_task),
1336         (gst_pad_pause_task), (gst_pad_stop_task),
1337         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
1338         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
1339         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
1340         (gst_ghost_pad_new):
1341         * gst/gstpad.h:
1342         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
1343         (gst_query_new_position), (gst_query_set_position),
1344         (gst_query_parse_position), (gst_query_new_convert),
1345         (gst_query_set_convert), (gst_query_parse_convert):
1346         * gst/gstquery.h:
1347         * gst/gstqueryutils.c:
1348         * gst/gstqueryutils.h:
1349         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1350         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1351         (gst_queue_handle_src_query):
1352         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1353         (gst_element_query_position), (gst_element_query_convert),
1354         (intersect_caps_func), (gst_pad_query_position),
1355         (gst_pad_query_convert):
1356         * gst/gstutils.h:
1357         * tools/gst-inspect.c: (print_pad_info):
1358         * tools/gst-xmlinspect.c: (print_element_info):
1359         Remove old query functions. Ported old code.
1360         Added position/convert helper functions to gstutils.
1361         Reordered gstpad.c code, grouping relevant things.
1362         Remove gst_message_new(), always need to speficy a specific
1363         message.
1364
1365
1366 2005-05-09  Andy Wingo  <wingo@pobox.com>
1367
1368         * gst/gstiterator.h: Add some includes.
1369
1370         * gst/gstqueryutils.h: Include more headers.
1371
1372         * gst/gstpad.h:
1373         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
1374         some uses of gst_pad_query.
1375
1376         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
1377         NULL out parameters.
1378         (gst_query_new_position): New proc, allocates a new position
1379         query.
1380
1381         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
1382         gstqueryutils.c to the build.
1383
1384         * gst/gststructure.c (gst_structure_set_valist): Implement with
1385         the generic G_VALUE_COLLECT.
1386         
1387 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
1388
1389         * gst/Makefile.am: (gst_headers):
1390         Added gstqueryutils.h to the list of headers to install, that was
1391         a 'nachty' move wingo :)
1392
1393 2005-05-06  Andy Wingo  <wingo@pobox.com>
1394
1395         * gst/gstquery.h
1396         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
1397         GstData, init a memchunk.
1398         (standard_definitions): Add a few query types, deprecate a few.
1399         (gst_query_get_type): New proc.
1400         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
1401         implementation.
1402         (gst_query_new_application, gst_query_get_structure): New public
1403         procs.
1404
1405         * docs/design/draft-query.txt: Removed LINKS from the query types,
1406         because all the rest can be dispatched to other pads -- seemed
1407         ugly to have a query that couldn't be dispatched. internal_links
1408         is fine as a pad method.
1409
1410         * gst/gstpad.h: Add query2 as a pad method, add the new functions
1411         in gstpad.c, but maintain binary compatibility for the moment.
1412         Will fix before 0.9 is out.
1413
1414         * gst/gstqueryutils.c: 
1415         * gst/gstqueryutils.h: New files, implement 3 methods for each
1416         query type: parse_query, parse_response, and set. Probably need an
1417         allocator as well.
1418
1419         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
1420
1421         * gst/elements/gstfilesink.c (gst_filesink_query2):
1422         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
1423         query_types, and formats methods.
1424
1425         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
1426         (gst_pad_set_query2_function): New functions.
1427         (gst_real_pad_init): Set query2_default as the default query2
1428         function. Basically just dispatches to internally linked pads.
1429
1430         Needs review!
1431         
1432         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
1433         without using the atomic operations. Only one thread can possibly
1434         be accessing the data at this point. Changed so as to avoid
1435         gst_atomic operations.
1436
1437 2005-05-06  Wim Taymans  <wim@fluendo.com>
1438
1439         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
1440         Also set caps if we use the fallback buffer alloc.
1441
1442 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
1443
1444         * docs/gst/Makefile.am:
1445         * docs/gst/gstreamer-docs.sgml:
1446         * docs/gst/gstreamer-sections.txt:
1447         * docs/gst/tmpl/gstatomic.sgml:
1448         * docs/gst/tmpl/gstmemchunk.sgml:
1449         * testsuite/elements/struct_i386.h:
1450         * win32/GStreamer.vcproj:
1451         * win32/Makefile:
1452           Purge GstAtomic stuff from docs and win32 makefiles as well
1453
1454 2005-05-06  Wim Taymans  <wim@fluendo.com>
1455
1456         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
1457         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
1458         * gst/gstpad.c: (gst_pad_peer_get_caps):
1459         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1460         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1461         (gst_queue_src_activate), (gst_queue_change_state):
1462         * gst/gstqueue.h:
1463         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1464         (intersect_caps_func):
1465         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
1466         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
1467         Some fixes for the peer_get_caps() change.
1468
1469 2005-05-06  Wim Taymans  <wim@fluendo.com>
1470
1471         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1472         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
1473         (gst_basesink_activate):
1474         Actually do something with error codes returned from the push
1475         functions.
1476
1477 2005-05-06  Wim Taymans  <wim@fluendo.com>
1478
1479         * docs/design/part-element-sink.txt:
1480         * docs/design/part-element-source.txt:
1481         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1482         (gst_basesink_event), (gst_basesink_activate):
1483         * gst/base/gstbasesink.h:
1484         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
1485         (gst_basesrc_activate):
1486         * gst/base/gstbasesrc.h:
1487         * gst/gstelement.c: (gst_element_pads_activate):
1488         Some more documentation.
1489         Fixed scheduling decision in _pads_activate().
1490
1491 2005-05-05  Andy Wingo  <wingo@pobox.com>
1492
1493         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
1494         the test suite.
1495
1496 2005-05-05  Wim Taymans  <wim@fluendo.com>
1497
1498         * gst/base/Makefile.am:
1499         * gst/base/gstbasesink.h:
1500         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1501         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
1502         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
1503         (gst_collectpads_class_init), (gst_collectpads_init),
1504         (gst_collectpads_finalize), (gst_collectpads_new),
1505         (gst_collectpads_set_function), (gst_collectpads_add_pad),
1506         (find_pad), (gst_collectpads_remove_pad),
1507         (gst_collectpads_is_active), (gst_collectpads_collect),
1508         (gst_collectpads_collect_range), (gst_collectpads_start),
1509         (gst_collectpads_stop), (gst_collectpads_peek),
1510         (gst_collectpads_pop), (gst_collectpads_available),
1511         (gst_collectpads_read), (gst_collectpads_flush),
1512         (gst_collectpads_chain):
1513         * gst/base/gstcollectpads.h:
1514         * gst/elements/Makefile.am:
1515         * gst/elements/gstelements.c:
1516         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1517         (gst_fakesink_get_times), (gst_fakesink_event),
1518         (gst_fakesink_preroll), (gst_fakesink_render):
1519         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1520         (gst_filesink_init), (gst_filesink_set_location),
1521         (gst_filesink_open_file), (gst_filesink_close_file),
1522         (gst_filesink_pad_query), (gst_filesink_event),
1523         (gst_filesink_render), (gst_filesink_change_state):
1524         * gst/elements/gstfilesink.h:
1525         Added object to help in making collect pad based elements.
1526         Ported filesink.
1527         Make event function in sink baseclass return gboolean.
1528
1529 2005-05-05  Wim Taymans  <wim@fluendo.com>
1530
1531         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
1532         (gst_bin_get_by_name):
1533         * gst/gstbuffer.h:
1534         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
1535         (gst_clock_finalize):
1536         * gst/gstdata.c: (gst_data_replace):
1537         * gst/gstdata.h:
1538         * gst/gstelement.c: (gst_element_request_pad),
1539         (gst_element_pads_activate):
1540         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1541         (gst_object_unref):
1542         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1543         (gst_pad_set_checkgetrange_function),
1544         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
1545         (gst_pad_check_pull_range), (gst_pad_pull_range),
1546         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1547         (gst_pad_pause_task), (gst_pad_stop_task):
1548         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1549         (gst_element_request_pad), (gst_pad_proxy_getcaps):
1550         Fix name lookup in GstBin.
1551         Added _data_replace() function and _buffer_replace()
1552         Use finalize method to clean up clock.
1553         Fix refcounting on request pads.
1554         Fix pad schedule mode error.
1555         Some more object refcounting debug info,
1556
1557
1558 2005-05-04  Andy Wingo <wingo@pobox.com>
1559
1560         * check/Makefile.am:
1561         * docs/gst/tmpl/gstatomic.sgml:
1562         * docs/gst/tmpl/gstplugin.sgml:
1563         * gst/base/gstbasesink.c: (gst_basesink_activate):
1564         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
1565         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
1566         (gst_basesrc_query), (gst_basesrc_set_property),
1567         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
1568         (gst_basesrc_activate):
1569         * gst/base/gstbasesrc.h:
1570         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
1571         (gst_base_transform_src_activate):
1572         * gst/elements/gstelements.c:
1573         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1574         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1575         * gst/elements/gsttee.c: (gst_tee_sink_activate):
1576         * gst/elements/gsttypefindelement.c: (find_element_get_length),
1577         (gst_type_find_element_checkgetrange),
1578         (gst_type_find_element_activate):
1579         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
1580         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
1581         (gst_caps_load_thyself):
1582         * gst/gstelement.c: (gst_element_pads_activate),
1583         (gst_element_save_thyself), (gst_element_restore_thyself):
1584         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
1585         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
1586         * gst/gstpad.h:
1587         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
1588         (gst_xml_parse_file), (gst_xml_parse_memory),
1589         (gst_xml_get_element), (gst_xml_make_element):
1590         * gst/indexers/gstfileindex.c: (gst_file_index_load),
1591         (_file_index_id_save_xml), (gst_file_index_commit):
1592         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
1593         (read_enum), (load_pad_template), (load_feature), (load_plugin),
1594         (load_paths):
1595         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
1596         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
1597         * tools/gst-complete.c: (main):
1598         * tools/gst-compprep.c: (main):
1599         * tools/gst-inspect.c: (print_element_properties_info):
1600         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1601         * tools/gst-xmlinspect.c: (print_element_properties):
1602         GCC 4 fixen.
1603         
1604 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1605
1606         * gst/gstplugin.c: (gst_plugin_check_module),
1607         (gst_plugin_check_file), (gst_plugin_load_file):
1608             apply patch from #172526 to make register work on MacOSX
1609
1610 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1611
1612         * docs/gst/tmpl/gstconfig.sgml:
1613         * gst/gstconfig.h.in:
1614           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
1615         * testsuite/debug/printf_extension.c: (main):
1616           Do not use GST_PTR_FORMAT on pointers to types with
1617           sizeof < sizeof(gpointer).  Fixes test on 64-bit
1618         * testsuite/elements/property.h:
1619           use correct printf format
1620
1621 2005-05-02  Wim Taymans  <wim@fluendo.com>
1622
1623         * docs/design/draft-push-pull.txt:
1624         * docs/design/draft-query.txt:
1625         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
1626         (gst_basesrc_start):
1627         Added draft for new query API.
1628         Added draft for better selecting scheduling methods.
1629         Make basesrc ignore length if the subclass does not support
1630         it.
1631
1632 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1633
1634         * gst/Makefile.am:
1635           possible fixes for automake-1.5 - _LIBADD is reserved
1636
1637 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1638
1639         * docs/faq/Makefile.am:
1640         * docs/manual/Makefile.am:
1641         * docs/manuals.mak:
1642         * docs/pwg/Makefile.am:
1643         * gst/Makefile.am:
1644           possible fixes for automake-1.5
1645
1646 2005-04-28  Wim Taymans  <wim@fluendo.com>
1647
1648         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1649         (gst_basesink_pad_getcaps), (gst_basesink_init),
1650         (gst_basesink_do_sync):
1651         * gst/gstclock.c: (gst_clock_entry_new):
1652         * gst/gstevent.c: (gst_event_discont_get_value):
1653         * gst/gstpipeline.c: (pipeline_bus_handler),
1654         (gst_pipeline_change_state):
1655         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1656         Better debugging of clocking info.
1657         Allow NULL values when getting discont values.
1658
1659 2005-04-27  Wim Taymans  <wim@fluendo.com>
1660
1661         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
1662         * check/gst/gstpad.c: (gst_pad_suite):
1663         Increase timeout for checks.
1664
1665 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1666
1667         * check/Makefile.am:
1668           fix the broken rule for cleanup.  Apparently this rule is
1669           only needed on FC2, so maybe this warrants further autotool
1670           inspection.
1671
1672 2005-04-26  Wim Taymans  <wim@fluendo.com>
1673
1674         * gst/gsttrashstack.h:
1675         Ooohh. a nasty one! After having a failed pop() from the stack,
1676         it's possible that the stack is empty. In that case, don't
1677         follow the NULL pointer.
1678
1679 2005-04-25  Wim Taymans  <wim@fluendo.com>
1680
1681         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1682         (gst_pad_set_checkgetrange_function),
1683         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
1684         (gst_pad_check_pull_range), (gst_pad_pull_range),
1685         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1686         (gst_pad_pause_task), (gst_pad_stop_task):
1687         * gst/gstplugin.c: (gst_plugin_load):
1688         * gst/gstplugin.h:
1689         Remove gst_library_load as it does more harm than good with
1690         the new g_module flags.
1691         Revert bogus caps template check in pad linking, pad caps
1692         are important when linking not the template, which is more
1693         general than the current caps.
1694
1695 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1696
1697         * gst/autoplug/.cvsignore:
1698         * gst/autoplug/Makefile.am:
1699         * gst/autoplug/gstsearchfuncs.c:
1700         * gst/autoplug/gstsearchfuncs.h:
1701         * gst/autoplug/gstspider.c:
1702         * gst/autoplug/gstspider.h:
1703         * gst/autoplug/gstspideridentity.c:
1704         * gst/autoplug/gstspideridentity.h:
1705         * gst/autoplug/spidertest.c:
1706           Die, spider, die.
1707
1708 2005-04-25  Wim Taymans  <wim@fluendo.com>
1709
1710         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1711         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
1712         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
1713         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
1714         * gst/gstpad.h:
1715         Added stubs for unimplemented functions. 
1716
1717 2005-04-24  David Schleef  <ds@schleef.org>
1718
1719         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
1720         please fix.
1721
1722 2005-04-24  David Schleef  <ds@schleef.org>
1723
1724         Convert everything from GstAtomicInt to g_atomic_int_*, and
1725         remove gstatomic.
1726         * gst/Makefile.am:
1727         * gst/gstatomic.c:
1728         * gst/gstatomic.h:
1729         * gst/gstatomic_impl.h:
1730         * gst/gstbuffer.c:
1731         * gst/gstcaps.c:
1732         * gst/gstcaps.h:
1733         * gst/gstclock.c:
1734         * gst/gstclock.h:
1735         * gst/gstdata.c:
1736         * gst/gstdata.h:
1737         * gst/gstdata_private.h:
1738         * gst/gstevent.c:
1739         * gst/gstinfo.c:
1740         * gst/gstinfo.h:
1741         * gst/gstmessage.c:
1742         * gst/gstobject.c:
1743         * gst/gstobject.h:
1744         * gst/gststructure.c:
1745         * gst/gststructure.h:
1746         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
1747         * gst/gstutils.h:
1748
1749 2005-04-24  David Schleef  <ds@schleef.org>
1750
1751         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
1752         make the regressions tests work.  Remove some code that is no
1753         longer true.
1754         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
1755         Disable warning for pads without templates.
1756
1757 2005-04-24  David Schleef  <ds@schleef.org>
1758
1759         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
1760         functions that handle filtered links.
1761         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
1762         removed functions.
1763         * gst/gstutils.c: Fix/remove utility functions that handle
1764         filtered caps.
1765         * gst/gstutils.h:
1766         * gst/gstvalue.c: Add serialization/deserialization of caps
1767         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
1768         requires fixing so that the filter caps notation creates
1769         a capsfilter element and sets the filter_caps property.  I
1770         think everyone probably wants to keep the shorthand notation.
1771         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
1772         * docs/gst/tmpl/gstpad.sgml:
1773
1774         * gst/elements/gstelements.c: Register capsfilter element.
1775         * gst/Makefile.am: fix spacing
1776         * docs/random/ds/0.9-suggested-changes: random
1777
1778 2005-04-23  David Schleef  <ds@schleef.org>
1779
1780         * gst/elements/Makefile.am:
1781         * gst/elements/gstcapsfilter.c: New element that acts like an
1782         identity, but filters caps.  Will eventually replace filtered
1783         caps in pad linking.
1784         * gst/gstutils.c: (gst_element_create_all_pads): New function
1785         to create all the ALWAYS pads that are registered with an
1786         element class.  This functionality should eventually be
1787         merged in with GstElement initialization.
1788         * gst/gstutils.h:
1789         * testsuite/trigger/README: part of trigger test code that should
1790         have been checked in a long time ago.
1791
1792 2005-04-23  David Schleef  <ds@schleef.org>
1793
1794         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
1795         needed with new versions of libtool (nobody will confirm this),
1796         and hard to carry around.
1797         * gst/autoplug/Makefile.am:
1798         * gst/base/Makefile.am:
1799         * gst/elements/Makefile.am:
1800         * gst/indexers/Makefile.am:
1801         * gst/schedulers/Makefile.am:
1802         * libs/gst/bytestream/Makefile.am:
1803         * libs/gst/control/Makefile.am:
1804         * libs/gst/dataprotocol/Makefile.am:
1805         * libs/gst/getbits/Makefile.am:
1806
1807 2005-04-21  Wim Taymans  <wim@fluendo.com>
1808
1809         * docs/design/draft-push-pull.txt:
1810         * docs/design/part-MT-refcounting.txt:
1811         * docs/design/part-TODO.txt:
1812         * docs/design/part-caps.txt:
1813         * docs/design/part-events.txt:
1814         * docs/design/part-gstbus.txt:
1815         * docs/design/part-gstpipeline.txt:
1816         * docs/design/part-messages.txt:
1817         * docs/design/part-push-pull.txt:
1818         * docs/design/part-query.txt:
1819         Some more docs.
1820
1821 2005-04-21  Wim Taymans  <wim@fluendo.com>
1822
1823         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
1824         (gst_message_new), (gst_message_new_error),
1825         (gst_message_new_warning), (gst_message_new_tag),
1826         (gst_message_new_state_changed), (gst_message_new_application),
1827         (gst_message_get_structure):
1828         * gst/gstmessage.h:
1829         * gst/gststructure.c: (gst_structure_set_parent_refcount),
1830         (gst_structure_copy_conditional):
1831         Use parent refcount in GstMessage to ensure GstStructure
1832         consistency.
1833         Cleaned up headers a bit.
1834         
1835
1836 2005-04-20  Wim Taymans  <wim@fluendo.com>
1837
1838         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1839         (gst_basesink_pad_getcaps), (gst_basesink_init),
1840         (gst_basesink_chain_unlocked):
1841         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
1842         (gst_type_find_helper):
1843         * gst/elements/gsttypefindelement.c:
1844         (gst_type_find_element_have_type), (gst_type_find_element_init),
1845         (stop_typefinding), (gst_type_find_element_handle_event),
1846         (find_suggest), (gst_type_find_element_chain),
1847         (gst_type_find_element_checkgetrange),
1848         (gst_type_find_element_getrange), (do_typefind),
1849         (gst_type_find_element_activate):
1850         * gst/gstbuffer.c: (_gst_buffer_sub_free),
1851         (gst_buffer_default_free), (gst_buffer_default_copy),
1852         (gst_buffer_set_caps):
1853         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
1854         (gst_caps_replace):
1855         * gst/gstmessage.c: (gst_message_new),
1856         (gst_message_new_state_changed):
1857         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1858         (gst_pad_set_checkgetrange_function),
1859         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
1860         (gst_pad_set_caps), (gst_pad_check_pull_range),
1861         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
1862         * gst/gstpad.h:
1863         * gst/gsttypefind.c: (gst_type_find_register):
1864         Make gst_caps_replace() work like other _replace() functions.
1865         Use _caps_replace() where possible.
1866         Make sure _message_new() initialises its field.
1867         Add gst_static_pad_template_get_caps()
1868
1869
1870 2005-04-18  Andy Wingo  <wingo@pobox.com>
1871
1872         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
1873         on the peer, not the pad. I think that was a typo. Pass an extra
1874         arg to see if random access is possible. Activate the pads as
1875         PULL_RANGE if possible.
1876
1877         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
1878
1879         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
1880         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
1881         to PROP_....
1882
1883 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1884
1885         * docs/faq/using.xml:
1886           Add note on gstreamer-properties (#154996).
1887
1888 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1889
1890         * docs/random/bbb/optional-properties:
1891           Some analysis on optional properties.
1892
1893 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1894
1895         * docs/gst/tmpl/gstelementfactory.sgml:
1896         * gst/gstelement.h:
1897         * gst/gstelementfactory.c: (gst_element_factory_init),
1898         (gst_element_factory_cleanup), (gst_element_register),
1899         (__gst_element_factory_add_static_pad_template),
1900         (gst_element_factory_get_static_pad_templates),
1901         (gst_element_factory_can_src_caps),
1902         (gst_element_factory_can_sink_caps):
1903         * gst/registries/Makefile.am:
1904         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
1905         (gst_xml_registry_class_init), (gst_xml_registry_init),
1906         (gst_xml_registry_new), (gst_xml_registry_set_property),
1907         (gst_xml_registry_get_property), (get_time), (make_dir),
1908         (gst_xml_registry_get_perms_func),
1909         (plugin_times_older_than_recurse), (plugin_times_older_than),
1910         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
1911         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
1912         (add_to_char_array), (read_string), (read_uint), (read_enum),
1913         (load_pad_template), (load_feature), (load_plugin), (load_paths),
1914         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
1915         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
1916         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
1917         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
1918         (gst_xml_registry_rebuild):
1919         * gst/registries/gstlibxmlregistry.h:
1920         * tools/gst-compprep.c: (main):
1921         * tools/gst-inspect.c: (print_pad_templates_info):
1922         * tools/gst-xmlinspect.c: (print_element_info):
1923           Use libxml2 for registry parsing, use staticpadtemplates in
1924           elementfactories. Makes gst_init() +/- 10x faster.
1925
1926 2005-04-12  Wim Taymans  <wim@fluendo.com>
1927
1928         * gst/base/Makefile.am:
1929         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1930         (gst_basesink_pad_getcaps), (gst_basesink_init),
1931         (gst_basesink_event), (gst_basesink_change_state):
1932         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1933         (gst_basesrc_init), (gst_basesrc_query),
1934         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1935         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1936         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1937         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1938         (gst_basesrc_stop), (gst_basesrc_activate),
1939         (gst_basesrc_change_state):
1940         * gst/base/gsttypefindhelper.c: (helper_find_peek),
1941         (helper_find_suggest), (gst_type_find_helper):
1942         * gst/base/gsttypefindhelper.h:
1943         * gst/elements/Makefile.am:
1944         * gst/elements/gstelements.c:
1945         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1946         (gst_fakesink_get_times), (gst_fakesink_event),
1947         (gst_fakesink_preroll), (gst_fakesink_render):
1948         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1949         (gst_fakesrc_init), (gst_fakesrc_event_handler),
1950         (gst_fakesrc_get_property), (gst_fakesrc_create),
1951         (gst_fakesrc_start), (gst_fakesrc_stop):
1952         * gst/elements/gstfakesrc.h:
1953         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
1954         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
1955         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
1956         (gst_filesrc_create_read), (gst_filesrc_create),
1957         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
1958         (gst_filesrc_start):
1959         * gst/elements/gsttypefindelement.c:
1960         (gst_type_find_element_have_type), (gst_type_find_element_init),
1961         (start_typefinding), (stop_typefinding), (push_buffer_store),
1962         (gst_type_find_element_handle_event),
1963         (gst_type_find_element_chain),
1964         (gst_type_find_element_checkgetrange),
1965         (gst_type_find_element_getrange), (do_typefind),
1966         (gst_type_find_element_activate),
1967         (gst_type_find_element_change_state):
1968         * gst/elements/gsttypefindelement.h:
1969         * gst/gstpipeline.c: (pipeline_bus_handler):
1970         Added typefind helper.
1971         Small preroll fix in the base sink.
1972         Disable typefind code in basesrc.
1973         Crude port of typefindelement.
1974         Fakesrc cleanups.
1975
1976
1977 2005-04-11  Wim Taymans  <wim@fluendo.com>
1978
1979         * check/gst/gstbus.c: (gstbus_suite):
1980         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
1981         * check/gstcheck.h:
1982           Fix up the timeout so that the test does not fail.
1983
1984 2005-04-06  Wim Taymans  <wim@fluendo.com>
1985
1986         * gst/base/README:
1987         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1988         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
1989         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1990         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1991         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1992         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1993         (gst_basesrc_stop), (gst_basesrc_activate),
1994         (gst_basesrc_change_state), (basesrc_find_peek),
1995         (basesrc_find_suggest), (gst_basesrc_type_find):
1996         * gst/base/gstbasesrc.h:
1997         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
1998         (gst_filesrc_class_init), (gst_filesrc_init),
1999         (gst_filesrc_finalize), (gst_filesrc_set_location),
2000         (gst_filesrc_set_property), (gst_filesrc_get_property),
2001         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
2002         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
2003         (gst_filesrc_create_read), (gst_filesrc_create),
2004         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
2005         * gst/elements/gstfilesrc.h:
2006         * gst/gstelement.c: (gst_element_get_state_func),
2007         (gst_element_lost_state), (gst_element_pads_activate):
2008         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2009         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
2010         (gst_pad_pull_range):
2011         * gst/gstpad.h:
2012         More work on the generic source base class, implement seeking,
2013         query.
2014         Make filesrc extend the base source class.
2015         Added gst_pad_set_checkgetrange_function to GstPad.
2016
2017 2005-04-06  Andy Wingo  <wingo@pobox.com>
2018
2019         * pkgconfig/gstreamer-base.pc.in:
2020         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
2021
2022         * pkgconfig/Makefile.am:
2023         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
2024
2025 2005-04-04  Wim Taymans  <wim@fluendo.com>
2026
2027         * gst/base/Makefile.am:
2028         * gst/base/README:
2029         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2030         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2031         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2032         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
2033         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2034         (gst_basesrc_base_init), (gst_basesrc_class_init),
2035         (gst_basesrc_init), (gst_basesrc_get_formats),
2036         (gst_basesrc_get_query_types), (gst_basesrc_query),
2037         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
2038         (gst_basesrc_set_property), (gst_basesrc_get_property),
2039         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
2040         (gst_basesrc_loop), (gst_basesrc_activate),
2041         (gst_basesrc_change_state):
2042         * gst/base/gstbasesrc.h:
2043         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
2044         (gst_fakesrc_class_init), (gst_fakesrc_init),
2045         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
2046         (gst_fakesrc_get_property), (gst_fakesrc_create):
2047         * gst/elements/gstfakesrc.h:
2048         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
2049         (gst_filesrc_open_file), (gst_filesrc_loop),
2050         (gst_filesrc_activate), (filesrc_find_peek),
2051         (gst_filesrc_type_find):
2052         Made base source class, make fakesrc extend it.
2053         Add comments to basesink class.
2054         Some filesrc cleanup.
2055
2056 2005-03-31  David Schleef  <ds@schleef.org>
2057
2058         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
2059         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
2060         expected to link against libgstreamer.
2061         * gst/base/Makefile.am: link against libgstreamer
2062         * gst/elements/Makefile.am: same
2063
2064 2005-03-31  Andy Wingo  <wingo@pobox.com>
2065
2066         * tests/instantiate/Makefile.am:
2067         * tests/instantiate/caps.c: Add test to test speed of caps copy
2068         and free.
2069
2070         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
2071         GMemChunk to be fair.
2072
2073         * gst/gsttrashstack.h: Remove warning about using the fallback
2074         trash stack implementation, it's still faster than malloc.
2075
2076 2005-03-30  Andy Wingo  <wingo@pobox.com>
2077
2078         * tests/complexity.c: Add a copyright.
2079
2080 2005-03-31  Wim Taymans  <wim@fluendo.com>
2081
2082         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
2083         (gst_base_transform_class_init), (gst_base_transform_init),
2084         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
2085         (gst_base_transform_get_property),
2086         (gst_base_transform_sink_activate),
2087         (gst_base_transform_src_activate),
2088         (gst_base_transform_change_state):
2089         * gst/base/gstbasetransform.h:
2090         * gst/elements/gstidentity.c: (gst_identity_class_init),
2091         (gst_identity_event), (gst_identity_check_perfect),
2092         (gst_identity_transform), (gst_identity_start),
2093         (gst_identity_stop):
2094         Added start/stop methods to transform base class so subclasses 
2095         don't need to deal with state changes even.
2096
2097 2005-03-31  Wim Taymans  <wim@fluendo.com>
2098
2099         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
2100         (gst_event_new_discontinuous), (gst_event_discont_get_value):
2101         * gst/gstevent.h:
2102         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2103         (gst_pad_pull_range):
2104         Added rate to the discont event to prepare for variable speed
2105         and reverse playback.
2106
2107 2005-03-29  David Schleef  <ds@schleef.org>
2108
2109         * configure.ac:
2110         * testsuite/trigger/Makefile.am:
2111         * testsuite/trigger/trigger.c: A little example program to show
2112         how trigger-based elements can work.
2113
2114 2005-03-29  Wim Taymans  <wim@fluendo.com>
2115
2116         * gst/base/Makefile.am:
2117         * gst/base/README:
2118         * gst/base/gstbasesink.c: (gst_basesink_get_type),
2119         (gst_basesink_base_init), (gst_basesink_class_init),
2120         (gst_basesink_pad_getcaps), (gst_basesink_init),
2121         (gst_basesink_activate), (gst_basesink_change_state):
2122         * gst/base/gstbasesink.h:
2123         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2124         (gst_base_transform_base_init), (gst_base_transform_finalize),
2125         (gst_base_transform_class_init), (gst_base_transform_init),
2126         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
2127         (gst_base_transform_event), (gst_base_transform_getrange),
2128         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
2129         (gst_base_transform_set_property),
2130         (gst_base_transform_get_property),
2131         (gst_base_transform_sink_activate),
2132         (gst_base_transform_src_activate),
2133         (gst_base_transform_change_state):
2134         * gst/base/gstbasetransform.h:
2135         * gst/elements/gstidentity.c: (gst_identity_finalize),
2136         (gst_identity_class_init), (gst_identity_init),
2137         (gst_identity_event), (gst_identity_check_perfect),
2138         (gst_identity_transform), (gst_identity_set_property),
2139         (gst_identity_get_property), (gst_identity_change_state):
2140         * gst/elements/gstidentity.h:
2141         * gst/gstelement.c: (gst_element_get_state_func),
2142         (gst_element_lost_state), (gst_element_pads_activate):
2143         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2144         (gst_pad_check_pull_range), (gst_pad_pull_range):
2145         * gst/gstpad.h:
2146         Simplify pad activation.
2147         Added function to check if pull_range can be performed.
2148         Error out when pulling inactive or flushing pads.
2149         Removed const from refcounted types as it does not make sense.
2150         Simplify pad templates in basesink
2151         Added base class for simple 1-to-1 transforms.
2152         Make identity subclass the base transform.
2153
2154 2005-03-29  Andy Wingo  <wingo@pobox.com>
2155
2156         * docs/libs/gstreamer-libs-overrides.txt: 
2157         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
2158         really don't understand what's going on, but like whatever. I want
2159         green buildbot!
2160
2161         * docs/gst/Makefile.am:
2162         * docs/libs/Makefile.am: Dist the overrides files.
2163
2164         * check/Makefile.am (clean-local): Remove .libs directories.
2165
2166         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
2167         elements to EXTRA_DIST, so po/ files are happy.
2168
2169         * po/POTFILES.in: Er, remove it here.
2170
2171         * po/POTFILES: Remove gstspider.c.
2172
2173         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
2174
2175         * docs/libs/gstreamer-libs-docs.sgml: 
2176         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
2177         bytestream.
2178
2179         * tests/complexity.c (main): Set the length of the preroll queue
2180         on the sinks to prevent a lockup.
2181
2182         * libs/gst/dataprotocol/Makefile.am: 
2183         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
2184         the same as the one in check/gst-libs/gdp.c.
2185
2186         * po/, docs/gst/: Commit automatic changes to docs and po files.
2187
2188         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
2189         the versioned libgstbase.
2190
2191         * check/Makefile.am: Depend on an unversioned gst-register, seems
2192         to make autoconf happier.
2193
2194         * gst/base/Makefile.am: Make libgstbase a versioned lib.
2195
2196 2005-03-28  Wim Taymans  <wim@fluendo.com>
2197
2198         * configure.ac:
2199         * docs/design/part-gstelement.txt:
2200         * docs/design/part-negotiation.txt:
2201         * docs/design/part-preroll.txt:
2202         * docs/design/part-scheduling.txt:
2203         * docs/design/part-states.txt:
2204         * gst/Makefile.am:
2205         * gst/base/Makefile.am:
2206         * gst/base/README:
2207         * gst/base/gstbasesink.c: (gst_basesink_get_template),
2208         (gst_basesink_base_init), (gst_basesink_class_init),
2209         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2210         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2211         (gst_basesink_set_pad_functions),
2212         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
2213         (gst_basesink_set_property), (gst_basesink_get_property),
2214         (gst_base_sink_get_template), (gst_base_sink_get_caps),
2215         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
2216         (gst_basesink_preroll_queue_push),
2217         (gst_basesink_preroll_queue_empty),
2218         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
2219         (gst_basesink_event), (gst_basesink_get_times),
2220         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
2221         (gst_basesink_chain_unlocked), (gst_basesink_chain),
2222         (gst_basesink_loop), (gst_basesink_activate),
2223         (gst_basesink_change_state):
2224         * gst/base/gstbasesink.h:
2225         * gst/elements/Makefile.am:
2226         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
2227         (gst_fakesink_class_init), (gst_fakesink_init),
2228         (gst_fakesink_set_property), (gst_fakesink_get_property),
2229         (gst_fakesink_get_times), (gst_fakesink_event),
2230         (gst_fakesink_preroll), (gst_fakesink_render),
2231         (gst_fakesink_change_state):
2232         * gst/elements/gstfakesink.h:
2233         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2234         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
2235         * gst/gstelement.c: (gst_element_add_pad),
2236         (gst_element_get_state_func), (gst_element_abort_state),
2237         (gst_element_commit_state), (gst_element_lost_state),
2238         (gst_element_set_state), (gst_element_pads_activate):
2239         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
2240         * gst/gstpipeline.c: (gst_pipeline_send_event),
2241         (gst_pipeline_change_state):
2242         Added state change code.
2243         Added/updated docs.
2244         Added sink base class, make fakesink extend the base class.
2245         Small cleanups in GstPipeline.
2246
2247 2005-03-26  David Schleef  <ds@schleef.org>
2248
2249         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
2250         is broken and should be implemented in a different library.
2251         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
2252         * gst/gst.h: remove gstcpu.h
2253         * gst/gstcpu.c: remove
2254         * gst/gstcpu.h: remove
2255         * gst/Makefile.am.future: Remove this file.  It's ancient.
2256
2257 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2258
2259         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2260         (gst_bin_send_event):
2261           Add default event/set_manager handlers. The set_manager handler
2262           takes care that the manager is distributed over kids that were
2263           already in the bin before the manager was set. The event handler
2264           is a utility virtual function that sends the event over all sinks,
2265           so that gst_element_send_event (bin, event); has the expected
2266           behaviour.
2267         * gst/gstpad.c: (gst_pad_event_default):
2268           Re-install default event handling for discontinuities, so that
2269           seeking works without requiring hacks in applications or extra
2270           code in sinks.
2271         * gst/gstpipeline.c: (gst_pipeline_class_init),
2272         (gst_pipeline_send_event):
2273           Half hack, half utility: set a pipeline to PAUSED for seek events,
2274           since that is the only way we can guarantee a/v sync. Means that
2275           you can do gst_element_seek (pipeline, method, pos); on a pipeline
2276           and it "just works".
2277
2278 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2279
2280         * gst/gstpipeline.c: (gst_pipeline_use_clock):
2281           Lock/unlock mismatch.
2282
2283 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2284
2285         * docs/faq/gst-uninstalled:
2286           add gst-plugins-base
2287         * docs/gst/Makefile.am:
2288           don't error out until docs are fixed
2289         * docs/gst/gstreamer.types:
2290           remove thread
2291
2292 2005-03-22  Wim Taymans  <wim@fluendo.com>
2293
2294         * check/Makefile.am:
2295         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
2296         * gst/gststructure.c: (gst_structure_set_valist),
2297         (gst_structure_copy_conditional):
2298         Activated more tests.
2299         Added message test.
2300         Added G_TYPE_POINTER to GstStructure.
2301         
2302
2303 2005-03-22  Wim Taymans  <wim@fluendo.com>
2304
2305         * docs/design/part-TODO.txt:
2306         * docs/design/part-events.txt:
2307         * docs/design/part-gstbin.txt:
2308         * docs/design/part-gstbus.txt:
2309         * docs/design/part-gstpipeline.txt:
2310         * docs/design/part-messages.txt:
2311         * gst/gstbus.c:
2312         * gst/gstmessage.c:
2313         Docs updates
2314
2315 2005-03-21  Wim Taymans  <wim@fluendo.com>
2316
2317         * gst/gstbus.c: (gst_bus_post):
2318         Fix copy-and-paste error.
2319
2320 2005-03-21  Wim Taymans  <wim@fluendo.com>
2321
2322         * check/Makefile.am:
2323         * gst/Makefile.am:
2324         * gst/elements/Makefile.am:
2325         * gst/elements/gstelements.c:
2326         * gst/elements/gstfakesink.c: (gst_fakesink_init),
2327         (gst_fakesink_event), (gst_fakesink_chain):
2328         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2329         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
2330         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
2331         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
2332         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2333         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
2334         (gst_fakesrc_loop), (gst_fakesrc_activate),
2335         (gst_fakesrc_change_state):
2336         * gst/elements/gstfakesrc.h:
2337         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
2338         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
2339         (gst_filesrc_open_file), (gst_filesrc_loop),
2340         (gst_filesrc_activate), (gst_filesrc_change_state),
2341         (filesrc_find_peek), (filesrc_find_suggest),
2342         (gst_filesrc_type_find):
2343         * gst/elements/gstidentity.c: (gst_identity_finalize),
2344         (gst_identity_class_init), (gst_identity_init),
2345         (gst_identity_proxy_getcaps), (identity_queue_push),
2346         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
2347         (gst_identity_getrange), (gst_identity_chain),
2348         (gst_identity_sink_loop), (gst_identity_src_loop),
2349         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
2350         (gst_identity_set_property), (gst_identity_get_property),
2351         (gst_identity_change_state):
2352         * gst/elements/gstidentity.h:
2353         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2354         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
2355         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
2356         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
2357         (gst_tee_sink_activate):
2358         * gst/elements/gsttee.h:
2359         * gst/gst.c: (gst_register_core_elements), (init_post):
2360         * gst/gst.h:
2361         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
2362         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
2363         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
2364         (gst_bin_change_state):
2365         * gst/gstbin.h:
2366         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
2367         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
2368         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
2369         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
2370         (gst_bus_set_sync_handler), (gst_bus_create_watch),
2371         (bus_watch_callback), (bus_watch_destroy),
2372         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
2373         (poll_timeout), (gst_bus_poll):
2374         * gst/gstbus.h:
2375         * gst/gstcaps.h:
2376         * gst/gstdata.h:
2377         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2378         (gst_element_post_message), (gst_element_message_full),
2379         (gst_element_get_state_func), (gst_element_get_state),
2380         (gst_element_abort_state), (gst_element_commit_state),
2381         (gst_element_lost_state), (gst_element_set_state),
2382         (gst_element_pads_activate), (gst_element_change_state),
2383         (gst_element_dispose), (gst_element_set_manager_func),
2384         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
2385         (gst_element_set_manager), (gst_element_get_manager),
2386         (gst_element_set_bus), (gst_element_get_bus),
2387         (gst_element_set_scheduler), (gst_element_get_scheduler):
2388         * gst/gstelement.h:
2389         * gst/gstevent.c: (gst_event_new_segment_seek),
2390         (gst_event_new_flush):
2391         * gst/gstevent.h:
2392         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
2393         (_gst_message_free), (gst_message_get_type), (gst_message_new),
2394         (gst_message_new_eos), (gst_message_new_error),
2395         (gst_message_new_warning), (gst_message_new_tag),
2396         (gst_message_new_state_changed), (gst_message_new_application),
2397         (gst_message_get_structure), (gst_message_parse_tag),
2398         (gst_message_parse_state_changed), (gst_message_parse_error),
2399         (gst_message_parse_warning):
2400         * gst/gstmessage.h:
2401         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
2402         (gst_real_pad_set_property), (gst_pad_set_active),
2403         (gst_pad_is_active), (gst_pad_set_blocked_async),
2404         (gst_pad_set_blocked), (gst_pad_is_blocked),
2405         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
2406         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
2407         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
2408         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
2409         (gst_pad_link_filtered), (gst_pad_relink_filtered),
2410         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
2411         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
2412         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
2413         (gst_pad_set_caps), (gst_pad_configure_sink),
2414         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
2415         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
2416         (gst_real_pad_dispose), (gst_real_pad_finalize),
2417         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
2418         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2419         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
2420         * gst/gstpad.h:
2421         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
2422         (pipeline_bus_handler), (gst_pipeline_change_state),
2423         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
2424         * gst/gstpipeline.h:
2425         * gst/gstprobe.h:
2426         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2427         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
2428         (gst_queue_link_src), (gst_queue_bufferalloc),
2429         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2430         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
2431         (gst_queue_loop), (gst_queue_handle_src_event),
2432         (gst_queue_handle_src_query), (gst_queue_src_activate),
2433         (gst_queue_change_state):
2434         * gst/gstqueue.h:
2435         * gst/gstscheduler.c: (gst_scheduler_init),
2436         (gst_scheduler_dispose), (gst_scheduler_create_task),
2437         (gst_scheduler_factory_create):
2438         * gst/gstscheduler.h:
2439         * gst/gststructure.c: (gst_structure_get_type),
2440         (gst_structure_copy_conditional):
2441         * gst/gststructure.h:
2442         * gst/gsttaginterface.h:
2443         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
2444         (gst_task_init), (gst_task_dispose), (gst_task_create),
2445         (gst_task_get_state), (gst_task_start), (gst_task_stop),
2446         (gst_task_pause):
2447         * gst/gsttask.h:
2448         * gst/gstthread.c:
2449         * gst/gstthread.h:
2450         * gst/gsttypes.h:
2451         * gst/schedulers/Makefile.am:
2452         * gst/schedulers/cothreads_compat.h:
2453         * gst/schedulers/entryscheduler.c:
2454         * gst/schedulers/faircothreads.c:
2455         * gst/schedulers/faircothreads.h:
2456         * gst/schedulers/fairscheduler.c:
2457         * gst/schedulers/gstbasicscheduler.c:
2458         * gst/schedulers/gstoptimalscheduler.c:
2459         * gst/schedulers/gthread-cothreads.h:
2460         * gst/schedulers/threadscheduler.c:
2461         (gst_thread_scheduler_task_get_type),
2462         (gst_thread_scheduler_task_class_init),
2463         (gst_thread_scheduler_task_init),
2464         (gst_thread_scheduler_task_start),
2465         (gst_thread_scheduler_task_stop),
2466         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
2467         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2468         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
2469         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
2470         (plugin_init):
2471         * libs/gst/Makefile.am:
2472         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
2473         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
2474         (gst_file_pad_parent_set):
2475         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2476         (gst_dp_event_from_packet):
2477         * tests/complexity.c: (main):
2478         * tests/mass_elements.c: (main):
2479         * testsuite/states/locked.c: (message_received), (main):
2480         * testsuite/states/parent.c: (main):
2481         * tools/gst-inspect.c: (print_element_flag_info),
2482         (print_implementation_info), (print_pad_info):
2483         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
2484         (main):
2485         * tools/gst-md5sum.c: (event_loop), (main):
2486         * tools/gst-typefind.c: (main):
2487         * tools/gst-xmlinspect.c: (print_element_info):
2488         Next big merge.
2489         Added GstBus for mainloop integration.
2490         Added GstMessage for sending notifications on the bus.
2491         Added GstTask as an abstraction for pipeline entry points.
2492         Removed GstThread.
2493         Removed Schedulers.
2494         Simplified GstQueue for multithreaded core.
2495         Made _link threadsafe, removed old capsnego.
2496         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
2497         Added pad blocking functions.
2498         Reworked scheduling functions in GstPad to prepare for
2499         scheduling updates soon.
2500         Moved events out of data stream.
2501         Simplified GstEvent types.
2502         Added return values to push/pull.
2503         Removed clocking from GstElement.
2504         Added prototypes for state change function for next merge.
2505         Removed iterate from bins and state change management.
2506         Fixed some elements, disabled others for now.
2507         Fixed -inspect and -launch.
2508         Added check for GstBus.
2509
2510 2005-03-10  Wim Taymans  <wim@fluendo.com>
2511
2512         * docs/design/part-MT-refcounting.txt:
2513         * docs/design/part-clocks.txt:
2514         * docs/design/part-gstelement.txt:
2515         * docs/design/part-gstobject.txt:
2516         * docs/design/part-standards.txt:
2517         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2518         (gst_bin_remove_func), (gst_bin_remove):
2519         * gst/gstbin.h:
2520         * gst/gstbuffer.c:
2521         * gst/gstcaps.h:
2522         * testsuite/clock/clock1.c: (main):
2523         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
2524         (main):
2525         * testsuite/dlopen/loadgst.c: (do_test):
2526         * testsuite/refcounting/bin.c: (add_remove_test1),
2527         (add_remove_test2), (main):
2528         * testsuite/refcounting/element.c: (main):
2529         * testsuite/refcounting/element_pad.c: (main):
2530         * testsuite/refcounting/pad.c: (main):
2531         * tools/gst-launch.c: (sigint_handler_sighandler):
2532         * tools/gst-typefind.c: (main):
2533         Doc updates.
2534         Added doc about clock.
2535         removed gst_bin_iterate_recurse_up(), marked methods
2536         for removal.
2537         Fix more testsuites.
2538
2539 2005-03-09  Wim Taymans  <wim@fluendo.com>
2540
2541         * gst/gstpad.c: (gst_pad_get_direction),
2542         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
2543         (gst_pad_collect_valist):
2544         * testsuite/bins/interface.c: (main):
2545         * testsuite/caps/audioscale.c: (test_caps):
2546         * testsuite/caps/caps.c: (test1), (test2), (test3):
2547         * testsuite/caps/deserialize.c: (main):
2548         * testsuite/caps/enumcaps.c: (main):
2549         * testsuite/caps/filtercaps.c: (main):
2550         * testsuite/caps/intersect2.c: (main):
2551         * testsuite/caps/random.c: (main):
2552         * testsuite/caps/renegotiate.c: (my_fixate), (main):
2553         * testsuite/caps/sets.c: (check_caps):
2554         * testsuite/caps/simplify.c: (check_caps), (main):
2555         * testsuite/caps/subtract.c: (check_caps):
2556         Fix _pad_get_direction wrt ghostpads.
2557         Fix caps testsuite.
2558
2559 2005-03-09  Wim Taymans  <wim@fluendo.com>
2560
2561         * check/Makefile.am:
2562         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
2563         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
2564         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
2565         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
2566         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
2567         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
2568         (gst_bin_remove), (gst_bin_iterate_recurse_up),
2569         (bin_element_is_sink), (gst_bin_iterate_sinks),
2570         (gst_bin_iterate_all_by_interface):
2571         * gst/gstbin.h:
2572         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
2573         (gst_element_change_state), (gst_element_dispose),
2574         (gst_element_finalize), (gst_element_set_loop_function):
2575         * gst/gstelement.h:
2576         * gst/gstiterator.c: (find_custom_fold_func):
2577         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2578         (gst_pad_collectv), (gst_pad_collect_valist),
2579         (gst_pad_template_new):
2580         * gst/gstpipeline.c: (gst_pipeline_class_init),
2581         (gst_pipeline_dispose), (gst_pipeline_set_property),
2582         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
2583         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
2584         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
2585         * gst/gstutils.h:
2586         * gst/schedulers/entryscheduler.c:
2587         * gst/schedulers/gstbasicscheduler.c:
2588         (gst_basic_scheduler_cothreaded_chain),
2589         (gst_basic_scheduler_chain_add_element):
2590         * testsuite/bins/interface.c: (main):
2591         Added GstBin test.
2592         Added GstSystemClock test.
2593         Implemented clock distribution code in GstBin.
2594         Implemented iterate sinks method for future use.
2595         Rearranged gstelement.h
2596         Fix GstIterator comparison bug.
2597         Moved some code to GstPipeline, mostly clocking related.
2598
2599 2005-03-09  Wim Taymans  <wim@fluendo.com>
2600
2601         * configure.ac:
2602         * gst/gst_private.h:
2603         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2604         (gst_bin_remove_func), (gst_bin_remove),
2605         (gst_bin_get_by_name_recurse_up):
2606         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
2607         (gst_clock_id_compare_func), (gst_clock_id_wait),
2608         (gst_clock_id_wait_async), (gst_clock_init),
2609         (gst_clock_adjust_unlocked), (gst_clock_get_time):
2610         * gst/gstelement.h:
2611         * gst/gstinfo.c: (_gst_debug_init):
2612         * gst/gstobject.h:
2613         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2614         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
2615         * gst/gstpad.h:
2616         Bump version number, we're now 0.9.0
2617         Add future debugging category.
2618         Fix NULL _unref() in _get_by_name_recurse_up
2619         Rearrange gstpad.h.
2620         Update some docs.
2621
2622 2005-03-08  Wim Taymans  <wim@fluendo.com>
2623
2624         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
2625         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
2626         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2627         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
2628         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
2629         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
2630         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
2631         * gst/elements/gstidentity.c: (gst_identity_class_init):
2632         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
2633         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
2634         * gst/elements/gstshaper.c: (gst_shaper_class_init):
2635         * gst/elements/gststatistics.c: (gst_statistics_class_init):
2636         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
2637         (gst_tee_link):
2638         * gst/gstelement.c: (gst_element_class_init),
2639         (gst_element_base_class_init), (gst_element_init),
2640         (gst_element_get_random_pad), (gst_element_wait_state_change),
2641         (gst_element_change_state), (gst_element_dispose),
2642         (gst_element_finalize), (gst_element_set_loop_function):
2643         * gst/gstelement.h:
2644         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
2645         * gst/gstthread.c: (gst_thread_class_init),
2646         (gst_thread_release_children_locks), (gst_thread_change_state):
2647         * gst/schedulers/gstbasicscheduler.c:
2648         (gst_basic_scheduler_loopfunc_wrapper),
2649         (gst_basic_scheduler_chain_wrapper),
2650         (gst_basic_scheduler_src_wrapper),
2651         (gst_basic_scheduler_remove_element):
2652         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
2653         Remove threadsafe properties. Fix elements because GObject
2654         complains when installing a property before declaring a
2655         set/get_property handler.
2656         Rearrange gstelement.h file, use STATE macros for state locks.
2657         Free mutexes in the finalize method instead of dispose.
2658
2659 2005-03-08  Wim Taymans  <wim@fluendo.com>
2660
2661         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
2662         * gst/gstthread.c: (gst_thread_release_children_locks):
2663         Added parentage check.
2664         Fix build og GstThread again.
2665
2666 2005-03-08  Wim Taymans  <wim@fluendo.com>
2667
2668         * docs/design/part-MT-refcounting.txt:
2669         * docs/design/part-conventions.txt:
2670         * docs/design/part-gstobject.txt:
2671         * docs/design/part-relations.txt:
2672         * docs/design/part-standards.txt:
2673         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2674         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
2675         (gst_bin_get_by_name), (gst_bin_get_by_interface),
2676         (gst_bin_iterate_all_by_interface):
2677         * gst/gstbuffer.h:
2678         * gst/gstclock.h:
2679         * gst/gstelement.c: (gst_element_class_init),
2680         (gst_element_change_state), (gst_element_set_loop_function):
2681         * gst/gstelement.h:
2682         * gst/gstiterator.c:
2683         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
2684         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
2685         (gst_object_dispatch_properties_changed), (gst_object_set_name),
2686         (gst_object_set_parent), (gst_object_unparent),
2687         (gst_object_check_uniqueness):
2688         * gst/gstobject.h:
2689         Docs updates, clean up some headers.
2690
2691 2005-03-07  Wim Taymans  <wim@fluendo.com>
2692
2693         * check/.cvsignore:
2694         * check/Makefile.am:
2695         * check/gst-libs/.cvsignore:
2696         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
2697         * check/gst/.cvsignore:
2698         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
2699         (START_TEST), (gstbus_suite), (main):
2700         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
2701         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
2702         (gst_data_suite), (main):
2703         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
2704         (add_fold_func), (gstiterator_suite), (main):
2705         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
2706         (thread_name_object), (thread_name_object_default),
2707         (gst_object_name_compare), (gst_object_suite), (main):
2708         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
2709         (gst_pad_suite), (main):
2710         * check/gstcheck.c: (gst_check_log_message_func),
2711         (gst_check_log_critical_func), (gst_check_init):
2712         * check/gstcheck.h:
2713         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2714         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
2715         Added checks.
2716
2717 2005-03-07  Wim Taymans  <wim@fluendo.com>
2718
2719         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
2720         (gst_list_iterator_next), (gst_list_iterator_resync),
2721         (gst_list_iterator_free), (gst_iterator_new_list),
2722         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
2723         (gst_iterator_free), (gst_iterator_push), (filter_next),
2724         (filter_resync), (filter_uninit), (filter_free),
2725         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
2726         (gst_iterator_foreach), (find_custom_fold_func),
2727         (gst_iterator_find_custom):
2728         * gst/gstiterator.h:
2729         Added missing files.
2730
2731 2005-03-07  Wim Taymans  <wim@fluendo.com>
2732
2733         * Makefile.am:
2734         * configure.ac:
2735         * docs/design/part-MT-refcounting.txt:
2736         * docs/design/part-conventions.txt:
2737         * docs/design/part-gstobject.txt:
2738         * docs/design/part-relations.txt:
2739         * examples/mixer/mixer.c: (main):
2740         * examples/thread/thread.c: (eos), (main):
2741         * gst/Makefile.am:
2742         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
2743         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
2744         (gst_spider_plug_from_srcpad):
2745         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
2746         (gst_spider_identity_change_state),
2747         (gst_spider_identity_sink_loop_type_finding):
2748         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
2749         * gst/elements/gstidentity.c: (gst_identity_init):
2750         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
2751         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
2752         * gst/elements/gsttypefindelement.c: (free_entry):
2753         * gst/gst.c:
2754         * gst/gst.h:
2755         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
2756         (gst_bin_set_clock_func), (gst_bin_auto_clock),
2757         (gst_bin_set_index), (gst_bin_set_element_sched),
2758         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
2759         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
2760         (gst_bin_iterate_elements), (iterate_child_recurse),
2761         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
2762         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
2763         (compare_interface), (gst_bin_get_by_interface),
2764         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
2765         * gst/gstbin.h:
2766         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
2767         (gst_buffer_default_free), (gst_buffer_default_copy),
2768         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
2769         (gst_buffer_create_sub):
2770         * gst/gstbuffer.h:
2771         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
2772         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
2773         (gst_caps_unref), (gst_static_caps_get),
2774         (gst_caps_remove_and_get_structure), (gst_caps_append),
2775         (gst_caps_append_structure), (gst_caps_remove_structure),
2776         (gst_caps_copy_nth), (gst_caps_set_simple),
2777         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
2778         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
2779         (gst_caps_structure_intersect_field), (gst_caps_intersect),
2780         (gst_caps_structure_subtract_field), (gst_caps_subtract),
2781         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
2782         (gst_caps_structure_figure_out_union),
2783         (gst_caps_switch_structures), (gst_caps_do_simplify),
2784         (gst_caps_replace), (gst_caps_from_string),
2785         (gst_caps_copy_conditional):
2786         * gst/gstcaps.h:
2787         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
2788         (_gst_clock_id_free), (gst_clock_id_unref),
2789         (gst_clock_id_compare_func), (gst_clock_id_wait),
2790         (gst_clock_id_wait_async), (gst_clock_class_init),
2791         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
2792         (gst_clock_get_time), (gst_clock_set_time_adjust),
2793         (gst_clock_set_property), (gst_clock_get_property):
2794         * gst/gstclock.h:
2795         * gst/gstcompat.h:
2796         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
2797         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
2798         * gst/gstdata.h:
2799         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2800         (gst_element_requires_clock), (gst_element_provides_clock),
2801         (gst_element_set_clock), (gst_element_clock_wait),
2802         (gst_element_wait), (gst_element_set_time_delay),
2803         (gst_element_is_indexable), (gst_element_add_pad),
2804         (gst_element_add_ghost_pad), (gst_element_remove_pad),
2805         (pad_compare_name), (gst_element_get_static_pad),
2806         (gst_element_request_pad), (gst_element_get_request_pad),
2807         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
2808         (gst_element_class_get_pad_template_list),
2809         (gst_element_class_get_pad_template), (gst_element_error_func),
2810         (gst_element_get_random_pad), (gst_element_get_event_masks),
2811         (gst_element_send_event), (gst_element_seek),
2812         (gst_element_get_query_types), (gst_element_query),
2813         (gst_element_get_formats), (gst_element_convert),
2814         (gst_element_is_locked_state), (gst_element_set_locked_state),
2815         (gst_element_sync_state_with_parent), (gst_element_change_state),
2816         (gst_element_finalize), (gst_element_yield),
2817         (gst_element_interrupt), (gst_element_set_scheduler),
2818         (gst_element_get_scheduler), (gst_element_set_loop_function):
2819         * gst/gstelement.h:
2820         * gst/gstevent.h:
2821         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
2822         (gst_format_get_by_nick), (gst_format_get_details),
2823         (gst_format_iterate_definitions):
2824         * gst/gstformat.h:
2825         * gst/gstindex.c: (gst_index_gtype_resolver):
2826         * gst/gstinfo.c:
2827         * gst/gstinfo.h:
2828         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
2829         (gst_mem_chunk_free):
2830         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2831         (gst_object_ref), (gst_object_unref), (gst_object_sink),
2832         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
2833         (gst_object_dispatch_properties_changed),
2834         (gst_object_set_name_default), (gst_object_set_name),
2835         (gst_object_get_name), (gst_object_set_name_prefix),
2836         (gst_object_get_name_prefix), (gst_object_set_parent),
2837         (gst_object_get_parent), (gst_object_unparent),
2838         (gst_object_check_uniqueness), (gst_object_save_thyself),
2839         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
2840         (gst_object_set_property), (gst_object_get_property),
2841         (gst_object_get_path_string):
2842         * gst/gstobject.h:
2843         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2844         (gst_real_pad_init), (gst_real_pad_get_property),
2845         (gst_pad_custom_new), (gst_pad_get_direction),
2846         (gst_pad_set_active), (gst_pad_is_active),
2847         (gst_pad_set_event_function), (gst_pad_is_linked),
2848         (gst_pad_link_free), (gst_pad_link_intersect),
2849         (gst_pad_link_fixate), (gst_pad_set_caps),
2850         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
2851         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
2852         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
2853         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
2854         (gst_pad_get_caps), (gst_pad_peer_get_caps),
2855         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
2856         (gst_pad_realize), (gst_pad_get_allowed_caps),
2857         (gst_real_pad_dispose), (gst_real_pad_finalize),
2858         (gst_pad_collectv), (gst_pad_collect_valist),
2859         (gst_pad_template_dispose), (gst_pad_template_new),
2860         (gst_pad_get_internal_links):
2861         * gst/gstpad.h:
2862         * gst/gstpipeline.c: (gst_pipeline_dispose),
2863         (gst_pipeline_change_state):
2864         * gst/gstpipeline.h:
2865         * gst/gstplugin.c:
2866         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
2867         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
2868         * gst/gstpluginfeature.h:
2869         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
2870         * gst/gstquery.c: (_gst_query_type_initialize),
2871         (gst_query_type_register), (gst_query_type_get_by_nick),
2872         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
2873         * gst/gstquery.h:
2874         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
2875         * gst/gstscheduler.c: (gst_scheduler_add_element),
2876         (gst_scheduler_factory_create):
2877         * gst/gststructure.c: (gst_structure_set_parent_refcount),
2878         (gst_structure_free), (gst_structure_set_name),
2879         (gst_structure_id_set_value), (gst_structure_set_value),
2880         (gst_structure_set_valist), (gst_structure_remove_field),
2881         (gst_structure_remove_fields),
2882         (gst_structure_remove_fields_valist),
2883         (gst_structure_remove_all_fields), (gst_structure_foreach),
2884         (gst_structure_map_in_place),
2885         (gst_caps_structure_fixate_field_nearest_int),
2886         (gst_caps_structure_fixate_field_nearest_double):
2887         * gst/gststructure.h:
2888         * gst/gstsystemclock.c: (gst_system_clock_class_init),
2889         (gst_system_clock_init), (gst_system_clock_dispose),
2890         (gst_system_clock_async_thread),
2891         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
2892         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
2893         * gst/gstsystemclock.h:
2894         * gst/gsttag.c: (gst_tag_list_add_value_internal),
2895         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
2896         * gst/gsttaginterface.c:
2897         * gst/gstthread.c: (gst_thread_dispose),
2898         (gst_thread_release_children_locks), (gst_thread_change_state),
2899         (gst_thread_main_loop):
2900         * gst/gsttrashstack.h:
2901         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
2902         * gst/gsttypes.h:
2903         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2904         (gst_element_request_pad), (gst_element_get_pad_from_template),
2905         (gst_element_request_compatible_pad),
2906         (gst_element_get_compatible_pad_filtered),
2907         (gst_element_get_compatible_pad), (gst_element_state_get_name),
2908         (gst_element_link_pads_filtered), (gst_element_link_filtered),
2909         (gst_element_link_many), (gst_element_link),
2910         (gst_element_link_pads), (gst_element_unlink_pads),
2911         (gst_element_unlink_many), (gst_element_unlink),
2912         (gst_pad_can_link_filtered), (gst_pad_can_link),
2913         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
2914         (gst_object_default_error), (gst_bin_add_many),
2915         (gst_bin_remove_many), (gst_element_populate_std_props),
2916         (gst_element_class_install_std_props), (gst_buffer_merge),
2917         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
2918         (link_fold_func), (gst_pad_proxy_setcaps):
2919         * gst/gstutils.h:
2920         * gst/gstvalue.c: (gst_value_deserialize_string):
2921         * gst/parse/grammar.y:
2922         * gst/schedulers/gstbasicscheduler.c:
2923         (gst_basic_scheduler_cothreaded_chain),
2924         (gst_basic_scheduler_chain_recursive_add),
2925         (gst_basic_scheduler_pad_link):
2926         * gst/schedulers/gstoptimalscheduler.c:
2927         (get_group_schedule_function),
2928         (gst_opt_scheduler_state_transition),
2929         (gst_opt_scheduler_add_element), (element_get_reachables_func):
2930         * libs/gst/bytestream/bytestream.c:
2931         * libs/gst/dataprotocol/dataprotocol.c:
2932         (gst_dp_header_from_buffer):
2933         * po/nb.po:
2934         * po/ru.po:
2935         * tests/threadstate/threadstate2.c: (eos):
2936         * tools/gst-compprep.c: (main):
2937         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
2938         (print_pad_info), (print_children_info):
2939         * tools/gst-launch.c: (idle_func), (main):
2940         * tools/gst-md5sum.c: (idle_func), (main):
2941         * tools/gst-xmlinspect.c: (print_element_info):
2942         First THREADED backport attempt, focusing on adding locks and
2943         making sure the API is threadsafe. Needs more work. More docs
2944         follow this week.
2945
2946 2005-02-24  Andy Wingo  <wingo@pobox.com>
2947
2948         * tests/bench-complexity.scm:
2949         * tests/complexity.gnuplot: New files, good for running complexity
2950         benchmarks.
2951
2952         * tests/Makefile.am:
2953         * tests/complexity.c: New test, sets up N elements, at each level
2954         teeing into M streams per element. Eeeenteresting.
2955
2956         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
2957         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
2958         running bench-mass_elements.scm.
2959
2960         * tests/bench-mass_elements.scm: New script, runs mass_elements
2961         for various numbers of identities, outputting the results to a
2962         file. Requires guile 1.6. Just for testing.
2963
2964 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2965
2966         * gst/schedulers/fairscheduler.c:
2967           compile with debug disabled
2968
2969 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2970
2971         * configure.ac:
2972           hunting season on 0.9 is now OPEN
2973
2974 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
2975
2976         * docs/libs/tmpl/gstcontrol.sgml:
2977         * docs/libs/tmpl/gstdparam.sgml:
2978         * docs/libs/tmpl/gstdplinint.sgml:
2979         * docs/libs/tmpl/gstdpman.sgml:
2980         * docs/libs/tmpl/gstdpsmooth.sgml:
2981         * docs/libs/tmpl/gstunitconvert.sgml:
2982           more docs for the state of dparams
2983
2984 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2985
2986         * gst/gstelementfactory.c: (gst_element_factory_create):
2987         * gst/gstobject.c: (gst_object_init),
2988         (gst_object_set_name_default), (gst_object_set_name):
2989           name objects by default, not in gst_element_factory_create. Allows
2990           using elements created with g_object_new. (fixes #167283)
2991
2992 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2993
2994         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
2995           make the time that debugging functions print relative to when
2996           gst_init was called
2997
2998 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
2999
3000         * gst/gsttaginterface.c:
3001           Fix inline docs: tag setter vararg functions are NULL-terminated,
3002           GST_TAG_INVALID doesn't exist any more.
3003
3004 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3005
3006         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
3007         Allocate the 1 byte more memory that was forgotten!!!!!
3008         fixes memory corruption on 64bit platforms
3009
3010 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
3011
3012         * docs/pwg/building-pads.xml:
3013         * docs/pwg/intro-basics.xml:
3014           fixed a few typos, relabeled introductionary list of types
3015         * docs/random/ensonic/dparams.txt:
3016           more notes abut dparam changes
3017         * libs/gst/control/dparam.c: (gst_dparam_attach):
3018         * libs/gst/control/dparammanager.c:
3019         * libs/gst/control/dparammanager.h:
3020           - many comments and notes on dparam implementation
3021           - new dparams are were not initialized to the default value
3022             from param spec
3023
3024 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3025
3026         submitted by: Peter Astakhov
3027
3028         * po/LINGUAS:
3029         * po/ru.po:
3030           adding Russian translation
3031
3032 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3033
3034         * configure.ac:
3035         * docs/gst/Makefile.am:
3036         * docs/libs/Makefile.am:
3037           make sure popt is added to gtk-doc flags.  Fixes #147782.
3038
3039 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3040
3041         * docs/faq/using.xml:
3042           Fix typo in FAQ (artssink => artsdsink)
3043
3044 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3045
3046         * tools/gst-launch.1.in:
3047           Fix typo (#166699).
3048
3049 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
3050
3051         * docs/faq/using.xml:
3052           Add -v argument to fakesrc/fakesink gst-launch line,
3053           so that the promised output will actually show up.
3054
3055 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3056
3057         * gst/gstthread.c: (gst_thread_change_state):
3058           Implement state-change error handling (#166073).
3059
3060 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3061
3062         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3063           Release interrupt after handling (#166250).
3064
3065 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3066
3067         * configure.ac:
3068           back to HEAD
3069
3070 === release 0.8.9 ===
3071
3072 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3073
3074         * NEWS:
3075         * RELEASE:
3076         * configure.ac:
3077           releasing 0.8.9, "Like Eating Glass"
3078
3079 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3080
3081         submitted by: Clytie Siddall
3082
3083         * po/vi.po: Added Vietnamese translation
3084
3085 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3086
3087         patch by: Tim Philipp-Müller
3088
3089         * configure.ac:
3090         * gst/gstpad.c:
3091           unref data when probe function returns FALSE.  Fixes #166362
3092
3093 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3094
3095         * gst/gst.c: (gst_init_get_popt_table):
3096           Fix typo (#166269).
3097
3098 2005-02-04  Andy Wingo  <wingo@pobox.com>
3099
3100         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
3101         the debugging on whether the caps are compatible.
3102
3103 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3104
3105         * docs/manual/basics-elements.xml:
3106           Fix two typos.
3107
3108 2005-02-02  Wim Taymans  <wim@fluendo.com>
3109
3110         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
3111         (schedule_chain), (get_invalid_call), (chain_invalid_call),
3112         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
3113         Remove some FIXMEs after analysing and commenting why they
3114         are not issues.
3115
3116 2005-02-02  Wim Taymans  <wim@fluendo.com>
3117
3118         * gst/schedulers/gstoptimalscheduler.c:
3119         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
3120         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
3121         (get_invalid_call), (chain_invalid_call),
3122         (get_group_schedule_function), (loop_group_schedule_function),
3123         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
3124         (gst_opt_scheduler_state_transition),
3125         (gst_opt_scheduler_add_element),
3126         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
3127         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
3128         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
3129         (gst_opt_scheduler_show):
3130         Added lock to protect scheduler data structures.
3131
3132 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3133
3134         * testsuite/threads/threadi.c: (cb_data):
3135           Fix buglet in test.
3136
3137 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3138
3139         * testsuite/threads/Makefile.am:
3140         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
3141           On Wim's request, split the test in three separately-compiled
3142           tests that each test a very specific bug. Two of them still fail,
3143           will create bugs for those. threadi.c indicates why they fail.
3144
3145 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3146
3147         * gst/schedulers/gstoptimalscheduler.c:
3148         (get_group_schedule_function):
3149           Try to work with the threading mess that queue_link is.
3150
3151 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3152
3153         * gst/gstbin.c: (gst_bin_remove_func):
3154           Explicitely make an element release locks in a group when being
3155           remove from a bin.
3156         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3157           If there's no scheduler, always return immediately (similar to
3158           gst_element_interrupt).
3159
3160 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3161
3162         * gst/gstbin.c: (gst_bin_child_state_change_func):
3163           Remove a piece of code that could never be reached.
3164         * docs/gst/gstreamer-sections.txt:
3165         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
3166         (gst_pad_call_get_function):
3167         * gst/gstpad.h:
3168         * testsuite/pad/Makefile.am:
3169           Fix #150546, enable tests.
3170
3171 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3172
3173         * docs/pwg/advanced-types.xml:
3174           Fix description for buffer-frames=0.
3175         * docs/gst/tmpl/gstbin.sgml:
3176         * gst/gstbin.c: (gst_bin_child_state_change_func),
3177         (gst_bin_change_state), (gst_bin_change_state_norecurse):
3178         * gst/gstbin.h:
3179         * testsuite/threads/Makefile.am:
3180         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
3181         (cb_state), (cb_play), (main):
3182           Fix non-recursive state changes to *really* change the state
3183           of the object, and not just call parent_class->state_change.
3184           Fix a lot of lockups caused by this. Fixes #132775. Add test
3185           for the problem. Also enable test to show #142588 (fixed).
3186         * gst/gstthread.c: (gst_thread_change_state),
3187         (gst_thread_child_state_change):
3188           Don't exit the thread if we go to NULL and are inside thread
3189           context. Instead, return control to the main thread context
3190           and exit from there.
3191         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
3192           Don't unset virtual functions, since those may still be used.
3193           That's not necessarily correct, but suffices for now.
3194         * configure.ac:
3195         * testsuite/Makefile.am:
3196         * testsuite/pad/Makefile.am:
3197         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
3198         (gst_test_sink_base_init), (gst_test_sink_chain),
3199         (gst_test_sink_init), (main):
3200         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
3201         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
3202         (main):
3203         * testsuite/pad/link.c: (gst_test_element_class_init),
3204         (gst_test_element_base_init), (gst_test_src_get),
3205         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
3206         (gst_test_filter_loop), (gst_test_filter_init),
3207         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
3208         (cb_error), (main):
3209           Add tests to show #150546. Pass, but should fail (currently
3210           disabled from the testsuite).
3211         * gst/gstscheduler.c: (gst_scheduler_dispose):
3212           Dereference child schedulers on dispose (#94464).
3213         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3214           Fix typo.
3215         * testsuite/threads/thread.c: (main):
3216           Add more debug.
3217
3218 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3219
3220         * gst/gstpad.c: (gst_pad_push):
3221           Oops, revert previous commit, broke testsuite...
3222
3223 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3224
3225         * gst/gstpad.c: (gst_pad_push):
3226           Add check that the pad on which the push is performed is not a
3227           get-based pad (#150546).
3228
3229 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3230
3231         * gst/elements/gsttypefindelement.c:
3232         (gst_type_find_element_handle_event):
3233           Fix buffer pushing if stream EOSes during typefinding.
3234
3235 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
3236
3237         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3238
3239         * gst/gstvalue.c: (gst_string_wrap):
3240           Allow NULL-strings as argument (#165365).
3241
3242 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
3243
3244         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3245
3246         * gst/schedulers/faircothreads.c:
3247         (gst_fair_scheduler_cothread_queue_show):
3248           Fix build without debug enabled.
3249
3250 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
3251
3252         * docs/gst/gstreamer-sections.txt:
3253         * docs/libs/gstreamer-libs-docs.sgml:
3254         * docs/libs/gstreamer-libs-sections.txt:
3255         * docs/libs/tmpl/gstcontrol.sgml:
3256         * docs/libs/tmpl/gstdparam.sgml:
3257         * docs/libs/tmpl/gstdplinint.sgml:
3258         * docs/libs/tmpl/gstdpman.sgml:
3259         * docs/libs/tmpl/gstdpsmooth.sgml:
3260         * docs/libs/tmpl/gstputbits.sgml:
3261         * docs/libs/tmpl/gstunitconvert.sgml:
3262         * libs/gst/control/dparam.c:
3263         * libs/gst/control/dparam.h:
3264         * libs/gst/control/dparammanager.c:
3265         (gst_dpman_add_required_dparam_callback),
3266         (gst_dpman_add_required_dparam_direct),
3267         (gst_dpman_add_required_dparam_array),
3268         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
3269         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
3270         (gst_dpman_get_manager)
3271           restructured DParam docs
3272
3273 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
3274
3275         * gst-element-check.m4:
3276           Only check for gst-inspect if we haven't already
3277           found it in previous element check runs
3278
3279 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
3280
3281         * docs/gst/Makefile.am:
3282         * docs/libs/Makefile.am:
3283           fixed install rules to treat style.css as optional
3284
3285 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
3286
3287         * docs/gst/Makefile.am:
3288         * docs/libs/Makefile.am:
3289           install style.css along with docs
3290         * docs/gst/tmpl/gstbin.sgml:
3291         * docs/gst/tmpl/gstclock.sgml:
3292         * docs/gst/tmpl/gstdata.sgml:
3293         * docs/gst/tmpl/gstelement.sgml:
3294         * gst/gstbin.h:
3295         * gst/gstelement.c: (gst_element_class_init):
3296         * gst/gstelement.h:
3297           fixing incomplete docs
3298
3299 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3300
3301         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
3302           Don't unref seek event twice when fflush() fails
3303           
3304 2005-01-22  David Schleef  <ds@schleef.org>
3305
3306         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
3307
3308 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
3309
3310         * docs/gst/Makefile.am:
3311         * docs/libs/Makefile.am:
3312           added params for deprecation guards
3313         * gst/gst.c:
3314         * gst/gst.h:
3315         * gst/gsterror.c: (_gst_resource_errors_init),
3316         (_gst_stream_errors_init):
3317         * gst/gsterror.h:
3318           documented some more enums
3319
3320 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3321         * gst/autoplug/gstspideridentity.c:
3322         Cosmetic fix - spider_find_peek should be static
3323         * gst/parse/parse.l:
3324         Applying fix for #164261
3325
3326 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
3327
3328         * docs/gst/gstreamer-sections.txt:
3329         * docs/gst/tmpl/gstplugin.sgml:
3330         * docs/libs/gstreamer-libs-sections.txt:
3331         * docs/libs/tmpl/gstcontrol.sgml:
3332         * gst/gstbuffer.h:
3333         * gst/gsttag.h:
3334         * gst/gstvalue.c:
3335           added docs for the TAG defines
3336
3337 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3338
3339         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3340           Only unref entry if there is an entry.
3341
3342 2005-01-17  Wim Taymans  <wim@fluendo.com>
3343
3344         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3345         (remove_from_group), (schedule_group), (normalize_group),
3346         (gst_opt_scheduler_iterate):
3347         Also ref/unref decoupled elements before iterating the
3348         group since they are not added to the list of elements.
3349
3350 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3351
3352         * docs/manual/highlevel-components.xml:
3353           Add subtitle/streamselection as new features to playbin.
3354
3355 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3356
3357         * docs/manual/manual.xml:
3358           Re-enable dataaccess docs (oops).
3359
3360 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3361
3362         * docs/pwg/advanced-types.xml:
3363         * docs/random/mimetypes:
3364           Add documentation on libsndfile types (#163309), by Steve Baker
3365           <steve@stevebaker.org>.
3366         * gst/gstelement.c: (gst_element_release_request_pad):
3367           If an element has no explicit function, just remove the pad.
3368
3369 2005-01-17  Luca Ognibene  <luogni@tin.it>
3370
3371         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3372
3373         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
3374           Fix memleak (#163801).
3375
3376 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3377
3378         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
3379           I think this is actually more correct...
3380
3381 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3382
3383         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3384           Another workaround for memory access while destroyed in callback.
3385           Please, someone with refcount knowledge, have a look at this.
3386
3387 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3388
3389         * docs/faq/faq.xml:
3390         * docs/faq/legal.xml:
3391           move the legal Q&A here
3392
3393 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3394
3395         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
3396         (gst_tee_request_new_pad):
3397           Fix negotiation.
3398
3399 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3400
3401         * docs/random/omega/caps2:
3402         * testsuite/caps/caps_strings:
3403           replace framerate aproximations by their real value
3404           (24000/1001, 30000/1001, 60000/1001)
3405           Partially fixes bug #164049
3406
3407 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3408
3409         * docs/gst/Makefile.am:
3410           don't fail on the stupid GstPoptOption
3411
3412 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3413
3414         * gst/gstpad.h:
3415         * gst/gstprobe.c:
3416           allow probes to work on ghost pads by realizing the pad
3417           probe debugging
3418
3419 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3420
3421         * docs/gst/gstreamer-sections.txt:
3422         * docs/gst/tmpl/gstpad.sgml:
3423         * gst/gstpad.c: (gst_pad_set_active_recursive):
3424         * gst/gstpad.h:
3425           Add gst_pad_set_active_recursive().
3426
3427 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3428
3429         * docs/random/release:
3430           updates
3431         * gst/gst_private.h:
3432         * gst/gstinfo.c:
3433         * gst/gstobject.c:
3434           move deep_notify logging to a new category
3435         * gst/gstprobe.c:
3436         * gst/gstprobe.h:
3437           add stuff so bindings can wrap probes
3438
3439 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3440
3441         * gst/gstplugin.c: (gst_plugin_load):
3442           Fix plugin loading if plugin/lib was already loaded. Fixes
3443           #163383
3444
3445 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
3446
3447         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3448
3449         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
3450           Protect plugin loading by a mutex so it's threadsafe. Fixes
3451           #163234.
3452
3453 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3454
3455         * gst/gstevent.c: (_gst_event_copy):
3456           Reference source object when copying events, since it'll be
3457           dereferenced on event dereferencing as well.
3458
3459 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3460
3461         * docs/gst/gstreamer-sections.txt:
3462         * docs/gst/tmpl/gstevent.sgml:
3463         * gst/gstevent.c: (gst_event_new_filler_stamped),
3464         (gst_event_filler_get_duration):
3465         * gst/gstevent.h:
3466           Add two new functions for filler events (which are used to
3467           synchronize streams if one of them is not having any data
3468           for a while) without interrupting the actual data-stream.
3469           Basically a no-op.
3470         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3471         (gst_queue_link_sink), (gst_queue_link_src),
3472         (gst_queue_change_state):
3473           Allow for renegotiation while filled. Required for stream
3474           switching while playing.
3475
3476 2005-01-08  Benjamin Otte  <otte@gnome.org>
3477
3478         * gst/gstelement.c: (gst_element_link_many):
3479           fix up g_return_if_fail's
3480         * po/LINGUAS:
3481         * po/de.po:
3482           add German translation, that was somehow not included
3483
3484 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3485
3486         * docs/random/mimetypes:
3487           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
3488           do not add them to riff-lib as they are not common
3489
3490 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3491
3492         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3493           Check for existence of probe after performing the probe before
3494           re-accessing it to prevent segfaults caused by removal of the
3495           probe in the callback.
3496
3497 2005-01-05  David Schleef  <ds@schleef.org>
3498
3499         * testsuite/registry/Makefile.am:
3500         * testsuite/registry/gst-print-formats.c:
3501         (print_pad_templates_info), (print_element_list),
3502         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
3503         (g_list_uniqify), (get_pad_templates_info),
3504         (get_element_mime_list), (print_mime_list), (main): A little
3505         program that looks through the registry to find elements of
3506         a given type.  Not particularly interesting as a test, except
3507         that there's no other test covering the same area.
3508
3509 2005-01-05  David Schleef  <ds@schleef.org>
3510
3511         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
3512         (fault_handler_sigaction), (fault_spin),
3513         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
3514         in signal.h-type signal handlers by not calling forbidden functions,
3515         including gst_element_set_state().
3516
3517 2005-01-05  David Schleef  <ds@schleef.org>
3518
3519         * gst/gstvalue.h: Mark _gst_reserved[] as private
3520
3521 2005-01-05  David Schleef  <ds@schleef.org>
3522
3523         * gst/gstvalue.c: Fix doc build problem.
3524
3525 2005-01-05  David Schleef  <ds@schleef.org>
3526
3527         * gst/gstvalue.c: Add some documentation
3528
3529 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
3530
3531         * docs/README:
3532           another shell oneliner for empty return value docs
3533         * gst/gstcaps.c:
3534         * gst/gstvalue.c:
3535         * libs/gst/control/dparam.c:
3536           more doc fixes (parameters and return values)
3537
3538 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
3539
3540         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3541
3542         * gst/gstregistry.h:
3543         * gst/registries/gstxmlregistry.c:
3544           Fix macro's for Mingw (fixes #162276).
3545
3546 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
3547
3548         * docs/README:
3549           quick shell oneliner to find undocumented members
3550         * docs/gst/tmpl/gstplugin.sgml:
3551         * docs/gst/tmpl/gstscheduler.sgml:
3552         * docs/gst/tmpl/gstthread.sgml:
3553           more enumtypes cleanup
3554         * gst/gsterror.h:
3555           activated documentation comments, now someone needs to document
3556           the enums :(
3557
3558 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3559
3560         * docs/manual/manual.xml:
3561           Add dataaccess part (doh!).
3562
3563 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3564
3565         * docs/manual/advanced-autoplugging.xml:
3566           Fix typo (intiate -> initiate).
3567
3568 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3569
3570         * docs/random/bbb/streamselection:
3571           Add some notes on how to handle multi-subtitle/-audio streams.
3572
3573 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
3574
3575         * docs/gst/gstreamer-docs.sgml:
3576         * docs/gst/gstreamer-sections.txt:
3577         * docs/gst/tmpl/gstenumtypes.sgml:
3578         * docs/gst/tmpl/gsterror.sgml:
3579         * docs/gst/tmpl/gstevent.sgml:
3580         * docs/gst/tmpl/gstpad.sgml:
3581         * docs/gst/tmpl/gstpadtemplate.sgml:
3582         * docs/gst/tmpl/gstthread.sgml:
3583           removed gstenumtypes section from docs and put all the enums into
3584           their sections
3585
3586 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3587
3588         * gst/gstplugin.c:
3589           document gst_library_load a bit more (riff special case + return
3590           value if already loaded)
3591         * testsuite/bytestream/filepadsink.c:
3592           plugin name is 'gstbytestream', not 'bytestream'
3593
3594 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3595
3596         * docs/random/bbb/subtitles:
3597           Add some first mind rumblings on proper subtitle support.
3598
3599 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3600
3601         * po/ca.po:
3602         * po/sv.po:
3603           updated translations
3604
3605 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3606
3607         * docs/manual/advanced-dataaccess.xml:
3608           Add section on how to use fakesrc/fakesink/identity in your
3609           application, plus section on how to embed plugins. Also mention
3610           probes.
3611         * docs/manual/appendix-checklist.xml:
3612         * docs/manual/appendix-debugging.xml:
3613         * docs/manual/appendix-gnome.xml:
3614         * docs/manual/appendix-integration.xml:
3615           Debug -> checklist, GNOME -> integration, add sections on Linux,
3616           KDE integration and add other things useful for application
3617           development.
3618         * docs/manual/manual.xml:
3619           Remove some fixmes, update some file pointers.
3620         * docs/pwg/appendix-checklist.xml:
3621           Fix typo.
3622         * docs/pwg/building-boiler.xml:
3623           Remove ugly header and add commented fixme.
3624         * docs/pwg/pwg.xml:
3625           Add fixme.
3626         * examples/manual/Makefile.am:
3627           Add example for added docs.
3628
3629 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3630
3631         * configure.ac:
3632           back to HEAD
3633
3634 === release 0.8.8 ===
3635
3636 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3637
3638         * NEWS:
3639         * RELEASE:
3640         * configure.ac:
3641           Releasing 0.8.8, "I'll Take Care Of You"
3642
3643 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3644
3645         * configure.ac:
3646           second prerelease
3647
3648 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3649
3650         patch by: Wim Taymans
3651
3652         * gst/gstbin.c:
3653           Fix for #159852 - make iterate emission threadsafe
3654
3655 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3656
3657         * docs/faq/cvs.xml:
3658           notes about new fdo account request
3659
3660 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
3661
3662         * docs/gst/gstreamer-docs.sgml:
3663         * docs/gst/tmpl/gstenumtypes.sgml:
3664         * docs/gst/tmpl/gstplugin.sgml:
3665         * docs/libs/gstreamer-libs-docs.sgml:
3666           Added missing short docs. Added ids for navigation.
3667
3668 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3669
3670         * docs/manual/advanced-autoplugging.xml:
3671         * docs/manual/advanced-schedulers.xml:
3672         * docs/manual/advanced-threads.xml:
3673           Rewrites. Remove cothreads, go a bit into opt specifically,
3674           document threads and their gotchas, and do some technical stuff
3675           on autoplugging plus add some working examples. Fixes #157395.
3676         * examples/manual/Makefile.am:
3677           Add typefind/autoplugger example (one that actually works).
3678           Remove queue example since it's a duplicate of the thread one.
3679
3680 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3681
3682         * gst/gstvalue.c: (gst_value_deserialize_string):
3683           use deprecated g_value_set_string_take_ownership to keep compatible
3684           with glib 2.2
3685
3686 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3687
3688         * gst/gstvalue.c: (gst_value_deserialize_string):
3689           revert last patch, only dom a g_utf8_validate now before accepting
3690           the string - caps parsing strips " from strings so we can't rely on
3691           them
3692         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3693           disable a test that tested the above and comment it
3694
3695 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
3696
3697         Patch reviewed by David Schleef  <ds@schleef.org>
3698
3699         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
3700         bug #153882)
3701         * win32/gstenumtypes.h: same
3702
3703 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3704
3705         * gst/gstpad.c: (gst_pad_query):
3706           Do query on realized pad, similar to how convert/send_event handle
3707           this. Also makes sense, since this pad belongs to the function to
3708           which this query will be sent. Fixes #158163.
3709
3710 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
3711
3712         * docs/manual/appendix-programs.xml: fix pipeline to actually work
3713
3714 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
3715
3716         * docs/faq/general.xml: fix pipeline to actually work
3717
3718 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3719
3720         * gst/gstvalue.c: (gst_value_deserialize_string):
3721           check that a simple string that gets deserialized does not contain
3722           invalid characters
3723         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3724           remove a test that tested a wring behaviour
3725
3726 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
3727
3728         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3729
3730         * docs/manual/intro-motivation.xml:
3731           Fix typos.
3732
3733 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
3734
3735         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3736
3737         * docs/gst/tmpl/gstprobe.sgml:
3738           Fix documentation of probe callback - it is supposed to return
3739           FALSE, not TRUE, to remove data from the stream (#159087).
3740
3741 2004-12-16  Daniel Gazard  <dany42@free.fr>
3742
3743         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3744
3745         * gst/gstelementfactory.c: (gst_element_factory_create):
3746           Fix compile failure if compiling without libxml2 support (#149936).
3747
3748 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3749
3750         * docs/manual/advanced-autoplugging.xml:
3751         * docs/manual/highlevel-components.xml:
3752           Move spider from autoplugging to components. Autoplugging is for
3753           internals, not for solutions. ;-).
3754
3755 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3756
3757         * docs/random/ds/0.9-suggested-changes:
3758           Make note on device/location/uri property names.
3759
3760 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3761
3762         * docs/manual/advanced-autoplugging.xml:
3763         * docs/manual/advanced-clocks.xml:
3764         * docs/manual/advanced-interfaces.xml:
3765         * docs/manual/advanced-metadata.xml:
3766         * docs/manual/advanced-position.xml:
3767         * docs/manual/advanced-schedulers.xml:
3768         * docs/manual/advanced-threads.xml:
3769         * docs/manual/appendix-gnome.xml:
3770         * docs/manual/appendix-programs.xml:
3771         * docs/manual/appendix-quotes.xml:
3772         * docs/manual/autoplugging.xml:
3773         * docs/manual/basics-bins.xml:
3774         * docs/manual/basics-data.xml:
3775         * docs/manual/basics-elements.xml:
3776         * docs/manual/basics-helloworld.xml:
3777         * docs/manual/basics-init.xml:
3778         * docs/manual/basics-pads.xml:
3779         * docs/manual/basics-plugins.xml:
3780         * docs/manual/bins-api.xml:
3781         * docs/manual/bins.xml:
3782         * docs/manual/buffers-api.xml:
3783         * docs/manual/buffers.xml:
3784         * docs/manual/clocks.xml:
3785         * docs/manual/components.xml:
3786         * docs/manual/cothreads.xml:
3787         * docs/manual/debugging.xml:
3788         * docs/manual/dparams-app.xml:
3789         * docs/manual/dynamic.xml:
3790         * docs/manual/elements-api.xml:
3791         * docs/manual/elements.xml:
3792         * docs/manual/factories.xml:
3793         * docs/manual/gnome.xml:
3794         * docs/manual/goals.xml:
3795         * docs/manual/helloworld.xml:
3796         * docs/manual/helloworld2.xml:
3797         * docs/manual/highlevel-components.xml:
3798         * docs/manual/highlevel-xml.xml:
3799         * docs/manual/init-api.xml:
3800         * docs/manual/intro-basics.xml:
3801         * docs/manual/intro-motivation.xml:
3802         * docs/manual/intro-preface.xml:
3803         * docs/manual/intro.xml:
3804         * docs/manual/links-api.xml:
3805         * docs/manual/links.xml:
3806         * docs/manual/manual.xml:
3807         * docs/manual/motivation.xml:
3808         * docs/manual/pads-api.xml:
3809         * docs/manual/pads.xml:
3810         * docs/manual/plugins-api.xml:
3811         * docs/manual/plugins.xml:
3812         * docs/manual/programs.xml:
3813         * docs/manual/queues.xml:
3814         * docs/manual/quotes.xml:
3815         * docs/manual/schedulers.xml:
3816         * docs/manual/states-api.xml:
3817         * docs/manual/states.xml:
3818         * docs/manual/threads.xml:
3819         * docs/manual/typedetection.xml:
3820         * docs/manual/win32.xml:
3821         * docs/manual/xml.xml:
3822           Try 2. This time, include a short preface as a "general
3823           introduction", also add code blocks around all code samples
3824           so they get compiled. We still need a way to tell readers
3825           the filename of the code sample. In some cases, don't show
3826           all code in the documentation, but do include it in the generated
3827           code. This allows for focussing on specific bits in the docs,
3828           while still having a full test application available.
3829         * examples/manual/Makefile.am:
3830           Fix up examples for new ADM. Add several of the new examples that
3831           were either added or were missing from the build system.
3832         * examples/manual/extract.pl:
3833           Allow nameless blocks.
3834
3835 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3836
3837         * docs/manual/elements-api.xml:
3838         * docs/manual/helloworld.xml:
3839         * examples/manual/extract.pl:
3840           fix last example.  Add example of adding code blocks that are not
3841           shown in docbook output.
3842
3843 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3844
3845         * docs/manual/dynamic.xml:
3846         * docs/manual/elements-api.xml:
3847         * docs/manual/gnome.xml:
3848         * docs/manual/helloworld2.xml:
3849         * docs/manual/init-api.xml:
3850         * docs/manual/queues.xml:
3851         * docs/manual/threads.xml:
3852         * docs/manual/xml.xml:
3853         * examples/manual/extract.pl:
3854           Make it possible to extract example code from separate blocks.
3855           Should make Ronald happy.
3856
3857 2004-12-15  Wim Taymans  <wim@fluendo.com>
3858
3859         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3860         (remove_from_group), (group_elements_set_visited),
3861         (normalize_group), (gst_opt_scheduler_iterate):
3862         Fix bug where a flag was not updated on a decoupled entry point 
3863         because we were just checking the group element list and decoupled
3864         elements are not in that list..
3865
3866 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3867
3868         * docs/manual/advanced-autoplugging.xml:
3869         * docs/manual/advanced-clocks.xml:
3870         * docs/manual/advanced-dparams.xml:
3871         * docs/manual/advanced-interfaces.xml:
3872         * docs/manual/advanced-metadata.xml:
3873         * docs/manual/advanced-position.xml:
3874         * docs/manual/advanced-schedulers.xml:
3875         * docs/manual/advanced-threads.xml:
3876         * docs/manual/appendix-debugging.xml:
3877         * docs/manual/appendix-gnome.xml:
3878         * docs/manual/appendix-programs.xml:
3879         * docs/manual/appendix-quotes.xml:
3880         * docs/manual/appendix-win32.xml:
3881         * docs/manual/autoplugging.xml:
3882         * docs/manual/basics-bins.xml:
3883         * docs/manual/basics-data.xml:
3884         * docs/manual/basics-elements.xml:
3885         * docs/manual/basics-helloworld.xml:
3886         * docs/manual/basics-init.xml:
3887         * docs/manual/basics-pads.xml:
3888         * docs/manual/basics-plugins.xml:
3889         * docs/manual/bins-api.xml:
3890         * docs/manual/bins.xml:
3891         * docs/manual/buffers-api.xml:
3892         * docs/manual/buffers.xml:
3893         * docs/manual/clocks.xml:
3894         * docs/manual/components.xml:
3895         * docs/manual/cothreads.xml:
3896         * docs/manual/debugging.xml:
3897         * docs/manual/dparams-app.xml:
3898         * docs/manual/dynamic.xml:
3899         * docs/manual/elements-api.xml:
3900         * docs/manual/elements.xml:
3901         * docs/manual/factories.xml:
3902         * docs/manual/gnome.xml:
3903         * docs/manual/goals.xml:
3904         * docs/manual/helloworld.xml:
3905         * docs/manual/helloworld2.xml:
3906         * docs/manual/highlevel-components.xml:
3907         * docs/manual/highlevel-xml.xml:
3908         * docs/manual/init-api.xml:
3909         * docs/manual/intro-motivation.xml:
3910         * docs/manual/intro-preface.xml:
3911         * docs/manual/intro.xml:
3912         * docs/manual/links-api.xml:
3913         * docs/manual/links.xml:
3914         * docs/manual/manual.xml:
3915         * docs/manual/motivation.xml:
3916         * docs/manual/pads-api.xml:
3917         * docs/manual/pads.xml:
3918         * docs/manual/plugins-api.xml:
3919         * docs/manual/plugins.xml:
3920         * docs/manual/programs.xml:
3921         * docs/manual/queues.xml:
3922         * docs/manual/quotes.xml:
3923         * docs/manual/schedulers.xml:
3924         * docs/manual/states-api.xml:
3925         * docs/manual/states.xml:
3926         * docs/manual/threads.xml:
3927         * docs/manual/typedetection.xml:
3928         * docs/manual/win32.xml:
3929         * docs/manual/xml.xml:
3930           First try at rewriting the ADM. Needs lotsamore work, but some
3931           parts might already be somewhat useful.
3932         * docs/pwg/advanced-interfaces.xml:
3933           Remove properties interface, it never actually existed (except for
3934           on my HD...).
3935
3936 2004-12-13  David Schleef  <ds@schleef.org>
3937
3938         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
3939         be NULL (bug #160220).
3940
3941 2004-12-13  David Schleef  <ds@schleef.org>
3942
3943         * configure.ac: remove all mmx stuff, because it's not used.
3944         * docs/random/ds/0.9-suggested-changes: additional notes
3945         * include/Makefile.am: we don't use these anymore
3946         * include/mmx.h: remove
3947         * include/sse.h: remove
3948
3949 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3950
3951         * docs/random/mimetypes:
3952           Add FOURCC code for h264 codec (VSSH)
3953           Add alternate FOURCC codes for h263 related codecs
3954
3955 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
3956
3957         * docs/manual/programs.xml:
3958           Added more gst-launch examples.
3959
3960 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3961
3962         * gst/gstqueue.c: (gst_queue_handle_src_query):
3963           Check for availability again.
3964
3965 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3966
3967         * gst/gstcaps.c: (gst_caps_compare_structures):
3968           Simple caps go first. This has the nice side-effect of fixing an
3969           obscure warning.
3970
3971 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3972
3973         * gst/gstversion.h.in:
3974           Protect header.
3975
3976 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3977
3978         * gst/schedulers/gstoptimalscheduler.c:
3979         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
3980         (gst_opt_scheduler_get_wrapper):
3981           When we're recursing into a chain run, only run the directly
3982           related group, not all queued ones. This will fix a possible
3983           deadlock in chains with more than two groups.
3984
3985 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3986
3987         * autogen.sh:
3988           remove patch if autopoint fails
3989
3990 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3991
3992         * docs/gst/gstreamer-sections.txt:
3993           Document Thomas' addition, fix build, make Luis the sheriff happy.
3994
3995 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3996
3997         * gst/gstplugin.c:
3998         * gst/gstplugin.h:
3999           add accessor for version field
4000
4001 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4002
4003         submitted by: Luca Ferretti <elle.uca@infinito.it>
4004
4005         * po/LINGUAS:
4006         * po/it.po:
4007           New tranlation added: Italian
4008
4009 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4010
4011         * gst/gstpad.c: (gst_pad_is_negotiated),
4012         (gst_pad_get_negotiated_caps):
4013           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
4014           it doesn't actually check the contents), so be sure to hand it
4015           a RealPad else we'll crash.
4016
4017 2004-12-03  Wim Taymans  <wim@fluendo.com>
4018
4019         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4020         (gst_queue_link), (gst_queue_handle_src_query):
4021         Reverted to 1.110 until this makes the testsuite and various
4022         apps work.
4023
4024 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
4025
4026         * docs/upload.mak: fix included CVS conflict strings
4027
4028 2004-12-01  William Jon McCann  <mccann@jhu.edu>
4029
4030         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4031
4032         * gst/gstelement.c: (gst_element_error_full):
4033           Use g_error_new_literal because error text may have
4034           percentage signs in it. Fixes #160019.
4035
4036 2004-12-01  Benjamin Otte  <otte@gnome.org>
4037
4038         * gst/elements/gstbufferstore.c:
4039         (gst_buffer_store_add_buffer_func):
4040           don't try to make subbuffers bigger than they can be. (fixes
4041           #159970)
4042
4043 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4044
4045         * docs/gst/gstreamer-sections.txt:
4046         * docs/gst/tmpl/gstvalue.sgml:
4047           Add new function to docs to fix build.
4048
4049 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4050
4051         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
4052         * gst/gstpad.c: (_gst_pad_default_fixate_value),
4053         (_gst_pad_default_fixate_foreach):
4054         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
4055         * gst/gstvalue.h:
4056           Deprecate _type_is_fixed, use _value_is_fixed instead, since
4057           in some cases (arrays), the fixedness depends on the content.
4058         * gst/gstqueue.c: (gst_queue_handle_src_query):
4059           Check for availability before doing something.
4060
4061 2004-11-29  Wim Taymans  <wim@fluendo.com>
4062
4063         * testsuite/threads/Makefile.am:
4064         * testsuite/threads/signals.c: (gst_test_get_type),
4065         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
4066         (gst_test_set_property), (gst_test_get_property),
4067         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
4068         (gst_test_do_prop), (run_thread), (main):
4069         Added a bunch of testcases that show threadsafety bugs in glib.
4070
4071 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
4072
4073         * docs/manual/programs.xml:
4074           Added a first batch of gst-launch examples, as provided by Ronald
4075           and others from the devel-mlist
4076
4077 2004-11-28  Benjamin Otte  <otte@gnome.org>
4078
4079         * gst/gstelement.c: (gst_element_negotiate_pads):
4080           simplify
4081         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
4082         (gst_value_serialize_string), (gst_value_deserialize_string):
4083           add unwrapping of previously wrapped strings. Fix bug in wrapping
4084           while at it.
4085         * testsuite/caps/value_serialize.c: (test1),
4086         (test_string_serialization), (test_string_deserialization), (main):
4087           add tests for string (de)serialization
4088
4089 2004-11-26  Wim Taymans  <wim@fluendo.com>
4090
4091         * testsuite/threads/159566.c: (object_deep_notify), (main):
4092         * testsuite/threads/Makefile.am:
4093         Added testsuite to show bug #159566
4094
4095 2004-11-25  Wim Taymans  <wim@fluendo.com>
4096
4097         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
4098         (gst_thread_child_state_change), (gst_thread_main_loop):
4099         Ref the thread object in the GThread mainloop. Break out of the
4100         thread mainloop if it holds the last ref. This properly exits
4101         the threads when disposing the thread from its own context. It
4102         also avoids possible deadlocks in the dispose function.
4103
4104 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
4105
4106         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
4107         it is necessary to wait.
4108
4109 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4110
4111         * docs/pwg/building-boiler.xml:
4112           Make description somewhat clearer.
4113
4114 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4115
4116         * docs/upload.mak:
4117           Apparently docs changed location on FDO's server.
4118
4119 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4120
4121         * docs/pwg/appendix-checklist.xml:
4122           Add some random notes on things to check when writing an element.
4123           This list can be extended as people see fit.
4124
4125 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
4126
4127         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
4128         (gst_queue_link_src): Allow for renegotiating the caps of the sink
4129         pad. The queue will now wait until it is empty and forward the new
4130         caps to the source.
4131         * gst/gstbin.c (gst_bin_set_element_sched)
4132         (gst_bin_unset_element_sched): Make sure that all elements and
4133         links are registered and unregistered with the scheduler exactly
4134         once. This elaborates on a fix by Benjamin Otte, but
4135         guarantees that decoupled elements are also registered.
4136
4137 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4138
4139         * docs/manual/quotes.xml:
4140           add a quote
4141         * configure.ac:
4142         * gst/gst.c:
4143         * gst/gstinfo.c:
4144           add LIBDIR and move init message higher up so it's at the start
4145
4146 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4147
4148         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
4149         * gstreamer.spec.in: add fair
4150
4151 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4152
4153         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4154         * gst/elements/gstidentity.c: (gst_identity_class_init):
4155           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
4156           <teuf@gnome.org> (#157263).
4157         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4158         (gst_type_find_handle_src_query):
4159           Subtract size of internally stored data from position queries.
4160
4161 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
4162
4163         * gst/schedulers/fairscheduler.c:
4164         * gst/schedulers/faircothreads.c:
4165         * gst/schedulers/faircothreads.h:
4166         New cothread based scheduler: Fair scheduler.
4167         * gst/schedulers/gthread-cothreads.h: 
4168         Add the standard #if around the whole file.
4169         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
4170         compilation of the functions defined in this file. This is
4171         necessary to be able to use this file as a normal header.
4172         * gst/schedulers/Makefile.am: Add compiling support for fair
4173         scheduler.
4174         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
4175         scheduler cothreads layer from documentation generation.
4176
4177 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4178
4179         * gst/autoplug/gstspideridentity.c:
4180         (gst_spider_identity_sink_loop_type_finding):
4181           Don't crash if that function is not implemented.
4182
4183 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4184
4185         * docs/pwg/advanced-types.xml:
4186           Another typo.
4187
4188 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4189
4190         * docs/pwg/intro-preface.xml:
4191           Hm, ok, so the brackets weren't really useful...
4192         * docs/pwg/other-ntoone.xml:
4193           Fix embarassing typo.
4194
4195 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4196
4197         * docs/pwg/intro-preface.xml:
4198           Rewrite preface.
4199
4200 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4201
4202         * docs/pwg/advanced-scheduling.xml:
4203         * docs/pwg/advanced-tagging.xml:
4204         * docs/pwg/advanced-types.xml:
4205         * docs/pwg/building-boiler.xml:
4206         * docs/pwg/building-chainfn.xml:
4207         * docs/pwg/building-signals.xml:
4208         * docs/pwg/building-state.xml:
4209         * docs/pwg/building-testapp.xml:
4210         * docs/pwg/intro-basics.xml:
4211         * docs/pwg/other-manager.xml:
4212         * docs/pwg/other-source.xml:
4213           Typo fixes.
4214         * docs/pwg/other-manager.xml:
4215           Add some first content. No example code yet.
4216         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4217           Remove double newlines.
4218
4219 2004-11-04  Wim Taymans  <wim@fluendo.com>
4220
4221         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4222         (remove_from_group), (normalize_group), (group_migrate_connected),
4223         (gst_opt_scheduler_iterate):
4224         * testsuite/schedulers/.cvsignore:
4225         * testsuite/schedulers/Makefile.am:
4226         * testsuite/schedulers/queue_link.c: (main):
4227         Added testcase for scheduler segfault.
4228         Fix scheduler segfault when removing a decoupled
4229         entry point as the last element from a group.
4230
4231 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4232
4233         * gst/gstmarshal.list: add missing marshaller, fixes build
4234
4235 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4236
4237         * docs/random/signal: added notes about using BOXED for GstBuffer
4238         signal marshallers, not POINTER
4239
4240 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4241
4242         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4243         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
4244         POINTER=>BOXED changes to marshal GstBuffers
4245
4246 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4247
4248         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
4249         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
4250
4251 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
4252
4253         * docs/gst/gstreamer-sections.txt:
4254         * docs/gst/tmpl/gstcaps.sgml:
4255         * docs/gst/tmpl/gsterror.sgml:
4256         * docs/gst/tmpl/gstinfo.sgml:
4257         * docs/gst/tmpl/gstmacros.sgml:
4258         * docs/gst/tmpl/gstutils.sgml:
4259         * docs/random/ensonic/interfaces.txt:
4260         * gst/gstinfo.h:
4261           added some more docs, removed two obsolete defines
4262
4263 2004-11-02  Kjartan Maraas <as at gnome.org>
4264
4265         reviewed by: Wim Taymans, Ronald Bultje.
4266
4267         * gst/cothreads.c: (cothread_create):
4268         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4269         (gst_bin_child_state_change_func):
4270         * gst/gstbuffer.c: (gst_buffer_span):
4271         * gst/gstelement.c: (gst_element_get_index),
4272         (gst_element_get_event_masks), (gst_element_get_query_types),
4273         (gst_element_get_formats):
4274         * gst/gsterror.c: (_gst_core_errors_init),
4275         (_gst_library_errors_init), (_gst_resource_errors_init),
4276         (_gst_stream_errors_init):
4277         * gst/gstobject.c: (gst_object_default_deep_notify):
4278         * gst/gstpad.c: (gst_pad_get_event_masks),
4279         (gst_pad_get_internal_links_default):
4280         * gst/gstplugin.c: (gst_plugin_register_func),
4281         (gst_plugin_get_module):
4282         * gst/gststructure.c: (gst_structure_get_string),
4283         (gst_structure_get_abbrs), (gst_structure_from_abbr),
4284         (gst_structure_to_abbr):
4285         * gst/gstutils.c: (gst_print_element_args):
4286         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4287         (setup_group_scheduler), (gst_opt_scheduler_iterate):
4288         Aplied part of patch #157127: Cleanup of issues reported by 
4289         sparse.
4290         Also do not try to use cothreads when there is no cothread
4291         context yet.
4292
4293 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
4294
4295         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4296         (gst_opt_scheduler_iterate):
4297         Applied patch #154061. Running a pipeline in which an element 
4298         calls GST_ELEMENT_ERROR in the chain function, the opt 
4299         scheduler doesn't unref the chain so it never gets freed.
4300
4301 2004-11-02  Wim Taymans  <wim@fluendo.com>
4302
4303         * gst/gststructure.c: (gst_structure_get_abbrs),
4304         (gst_structure_from_abbr), (gst_structure_to_abbr):
4305         Remove that ugly if-then thing in the code that converts
4306         between strings and types.
4307
4308 2004-11-02  Wim Taymans  <wim@fluendo.com>
4309
4310         * gst/gstscheduler.c: (gst_scheduler_add_element),
4311         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
4312         Aplied clock distribution patch, this should fix bug
4313         #148787.
4314
4315 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4316
4317         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
4318
4319         * po/LINGUAS:
4320         * po/nb.po:
4321           Added Norwegian Bokmaal translation
4322
4323 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4324
4325         * tools/gst-inspect.c: (print_signal_info):
4326           print signal arguments as pointers if they are
4327
4328 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
4329
4330         * docs/pwg/building-boiler.xml:
4331           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
4332
4333 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4334
4335         * gst/parse/parse.l:
4336         * testsuite/parse/parse1.c: (main):
4337         Since parse can do 'element name=a:b' make 'a:b.' work as
4338         well. 
4339         Added testcase to verify fix.
4340
4341 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4342
4343         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
4344         Use the realpad when printing the direction.
4345         Add extra \n when printing extensions of typefind factories.
4346
4347 2004-10-13  David Schleef  <ds@schleef.org>
4348
4349         * examples/manual/Makefile.am: $< isn't portable in Makefile
4350         rules.
4351
4352 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
4353
4354         * docs/gst/tmpl/gstobject.sgml:
4355         * docs/gst/tmpl/gstplugin.sgml:
4356         * docs/gst/tmpl/gstpluginfeature.sgml:
4357         * docs/gst/tmpl/gstregistry.sgml:
4358         * docs/gst/tmpl/gstversion.sgml:
4359         * gst/gstbin.c:
4360           more api documentation
4361         * gst/gstplugin.c: (gst_plugin_register_func),
4362         (gst_plugin_check_file), (gst_plugin_load_file):
4363           better error signaling and logging
4364
4365 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4366
4367         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
4368           Subtract current queue contents from position queries.
4369
4370 2004-10-11  Johan Dahlin  <johan@gnome.org>
4371
4372         * gst/gsturi.c (gst_uri_get_location): unescape string
4373         (gst_uri_construct): escape string.
4374
4375 2004-10-11  Benjamin Otte  <otte@gnome.org>
4376
4377         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
4378         (gst_pad_try_set_caps_nonfixed):
4379           allow renegotiation of unconnected pads (as inside spider). Simply
4380           return OK if unconnected - mimic try_set_caps there.
4381
4382 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4383
4384         * gst/gstbin.c: (gst_bin_sync_children_state):
4385           Add missing break.
4386
4387 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4388
4389         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
4390         Set element to EOS before sending EOS event
4391
4392 2004-10-08  Wim Taymans  <wim at fluendo dot com>
4393
4394         * gst/elements/gsttypefindelement.c:
4395         (gst_type_find_element_handle_event):
4396         Handle EOS events when doing the transition from
4397         typefind to data passing. This should fix the
4398         infinite loops in short files.
4399
4400 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4401
4402         * gst/gstthread.c: (gst_thread_change_state),
4403         (gst_thread_child_state_change):
4404         Make sure no iteration happens while performing
4405         the state change as it could mess up the internal
4406         consistency of the thread state.
4407
4408 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4409
4410         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
4411         (gst_thread_change_state), (gst_thread_child_state_change):
4412         Do not try to grab the iterate lock in the state change method
4413         when we are in the same thread as the iterate or else we
4414         could deadlock. Some other cleanups.
4415
4416 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4417
4418         * configure.ac:
4419           bump nano to cvs
4420
4421 === release 0.8.7 ===
4422
4423 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4424
4425         * configure.ac:
4426         * NEWS:
4427         * RELEASE:
4428         * configure.ac:
4429           releasing 0.8.7, "A Cruise"
4430
4431 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4432
4433         * docs/random/mimetypes:
4434         Add an entry for Sony ATRAC3 audio format with mime-type
4435         used by rmdemux et riff-read
4436
4437 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4438
4439         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4440         Push the buffer store instead of clearing it in case that
4441         the stream is not seekable.
4442
4443 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4444
4445         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
4446         (gst_thread_main_loop):
4447         Lock the iteration and the state change so that automatic
4448         negotiation and fixation does not happen at the same time
4449         as the in stream negotiation.
4450
4451 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4452
4453         * configure.ac:
4454           bump nano to cvs
4455
4456 === release 0.8.6 ===
4457
4458 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4459
4460         * configure.ac:
4461         * NEWS:
4462         * RELEASE:
4463         * configure.ac:
4464           releasing 0.8.6, "Narc"
4465
4466 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4467
4468         * configure.ac:
4469           prerel bump
4470
4471 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4472
4473         patch by: Steve Lhomme
4474
4475         * gst/elements/gstfakesrc.c:
4476         * gst/elements/gstidentity.c:
4477         * gst/gstthread.c:
4478           Fix for #153881
4479
4480 2004-10-01  Wim Taymans  <wim at fluendo dot com>
4481
4482         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
4483         Fix threadsafety of the crc checking function.
4484
4485 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4486
4487         patch by: Ronald Bultje
4488
4489         * gst/elements/gsttypefindelement.c: (stop_typefinding),
4490         (gst_type_find_element_handle_event),
4491         (gst_type_find_element_chain):
4492         * gst/elements/gsttypefindelement.h:
4493          #153657.
4494          Filter out discont event from seekable sources when typefind
4495          asks them to seek.  Fixes typefind with demuxers for
4496          avi, asf and matroska.
4497
4498 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4499
4500         * docs/gst/gstreamer-sections.txt:
4501         * gst/gstcaps.c:
4502         * gst/gstcaps.h:
4503         * gst/gstpad.c:
4504           Revert preferred caps: (#147789)
4505
4506 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
4507
4508         * win32/dirent.c:
4509           fix a memory leak
4510
4511 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4512
4513         * configure.ac:
4514           bump for prerelease
4515
4516 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4517
4518         * docs/Makefile.am:
4519         * docs/manual/elements-api.xml:
4520           restructure so that common stuff is shown first
4521         * docs/manual/init-api.xml:
4522           convert to examples
4523         * docs/manual/manual.xml:
4524         * docs/manuals.mak:
4525         * docs/url.entities:
4526           link to API on the website, possibly override later in build
4527         * examples/manual/.cvsignore:
4528           ignore more
4529         * examples/manual/Makefile.am:
4530           add more examples
4531         * examples/manual/extract.pl:
4532           error out on failure
4533
4534 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4535
4536         * docs/gst/tmpl/gstthread.sgml:
4537         * docs/manual/init-api.xml:
4538         * examples/manual/Makefile.am:
4539           convert two code bits to examples
4540
4541 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4542
4543         * gst/gstelement.c: (gst_element_change_state):
4544           Well, actually, I was about to remove this insane assert when
4545           I noticed Wim already did that. A warning is nice so we can
4546           fix actual ugs (using --g-fatal-warnings and backtraces), so
4547           I added that instead.
4548
4549 2004-09-06  Wim Taymans  <wim@fluendo.com>
4550
4551         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
4552         (gst_element_threadsafe_properties_post_run),
4553         (gst_element_set_state), (gst_element_change_state):
4554         Added extra refcounting around various places. 
4555
4556 2004-09-06  Wim Taymans  <wim@fluendo.com>
4557
4558         * gst/gstpad.c: (gst_pad_link_call_link_functions):
4559         Fix debug info.
4560
4561 2004-09-06  Wim Taymans  <wim@fluendo.com>
4562
4563         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4564         (remove_from_group):
4565         Some more debug info.
4566
4567 2004-09-03  Wim Taymans  <wim@fluendo.com>
4568
4569         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4570         (gst_fakesrc_init), (gst_fakesrc_set_clock),
4571         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4572         (gst_fakesrc_get), (gst_fakesrc_change_state):
4573         * gst/elements/gstfakesrc.h:
4574         * gst/elements/gstidentity.c: (gst_identity_class_init),
4575         (gst_identity_init), (gst_identity_chain),
4576         (gst_identity_set_property), (gst_identity_get_property),
4577         (gst_identity_change_state):
4578         * gst/elements/gstidentity.h:
4579         Added datarate properties to limit the datarate.
4580
4581 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4582
4583         * gst/autoplug/gstspider.c: (plugin_init):
4584           don't set a rank. We don't want to autoplug by inserting spiders.
4585
4586 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4587
4588         * gst/autoplug/gstspider.c: (gst_spider_class_init),
4589         (gst_spider_identity_plug):
4590           add a template for spider's sink
4591         * gst/gst.c: (gst_register_core_elements):
4592           queue's rank should be NULL, we don't want spider to add it.
4593
4594 2004-08-18  David Schleef  <ds@schleef.org>
4595
4596         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
4597         * docs/libs/Makefile.am: same
4598         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
4599         * docs/random/ds/0.9-planning: random additions
4600         * docs/random/ds/0.9-suggested-changes: same
4601         * gst/gstxml.h: remove vestigal GstXMLNs definition
4602
4603         Preferred caps: (#147789)
4604         * docs/gst/gstreamer-sections.txt: Add symbols
4605         * docs/gst/tmpl/gstcaps.sgml: Add symbols
4606         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
4607         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
4608         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
4609         (gst_caps_get_preferred), (gst_caps_set_preferred),
4610         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
4611         (gst_caps_use_preferred): Handle caps preferences
4612         * gst/gstcaps.h: Add caps preferences
4613         * gst/gstpad.c: (gst_pad_link_get_preferred),
4614         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
4615         (gst_pad_renegotiate), (gst_pad_guess_preferred),
4616         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
4617         negotiation.
4618
4619 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4620
4621         * gst/autoplug/gstspideridentity.c:
4622         (gst_spider_identity_request_new_pad):
4623         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
4624         (gst_aggregator_init):
4625         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4626         (gst_fakesink_init):
4627         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4628         (gst_fakesrc_init):
4629         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
4630         (gst_fdsink_init):
4631         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
4632         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
4633         (gst_filesink_init):
4634         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4635         (gst_filesrc_init):
4636         * gst/elements/gstidentity.c: (gst_identity_base_init),
4637         (gst_identity_init):
4638         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
4639         (gst_multifilesrc_init):
4640         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
4641         (gst_pipefilter_init):
4642         * gst/elements/gststatistics.c: (gst_statistics_base_init),
4643         (gst_statistics_init):
4644         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
4645         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
4646           s/gst_pad_new/&_from_template/
4647           register pad templates in the base_init function
4648           add static pad template definitions
4649
4650 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4651
4652         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
4653         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
4654         * testsuite/refcounting/pad.c: (main):
4655         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
4656           s/gst_pad_new/&_from_template/
4657           prepare deprecation of gst_pad_new
4658
4659 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4660
4661         patch by: Luca Ognibene <skaboy81@virgilio.it>
4662
4663         * gst/gstcaps.c:
4664         * gst/gstelement.c:
4665         * gst/gstpad.c:
4666         * gst/gstxml.c:
4667           fix memleaks.  Fixes #150001
4668
4669 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4670
4671         * docs/random/ds/0.9-suggested-changes:
4672           add notes - mostly about pad templates
4673
4674 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
4675
4676         * win32/GStreamer.vcproj:
4677           temporary locale files are .gmo not .mo
4678
4679 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4680
4681         * configure.ac: bump nano to cvs
4682
4683 === release 0.8.5 ===
4684
4685 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4686
4687         * configure.ac:
4688           releasing 0.8.5, "Stuttgart"
4689         * NEWS:
4690         * RELEASE:
4691         * configure.ac:
4692         * docs/random/release:
4693           updates for release
4694
4695 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4696
4697         patch by: Wim Taymans (wim@fluendo.com)
4698
4699         * gst/gstbuffer.c:
4700         * gst/gstindex.h:
4701         * libs/gst/dataprotocol/dataprotocol.c:
4702           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
4703
4704 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4705
4706         * Makefile.am:
4707         * win32/MANIFEST:
4708           add win32 dir to the build.  Fixes #149981.
4709
4710 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4711
4712         * configure.ac:
4713           bump libtool versioning
4714         * gst/gststructure.c:
4715           mark function as static
4716         * po/af.po:
4717         * po/az.po:
4718         * po/ca.po:
4719         * po/cs.po:
4720         * po/en_GB.po:
4721         * po/fr.po:
4722         * po/nl.po:
4723         * po/sq.po:
4724         * po/sr.po:
4725         * po/sv.po:
4726         * po/tr.po:
4727         * po/uk.po:
4728           translations update
4729         * win32/README.txt:
4730           trademark protection
4731
4732 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4733
4734         * configure.ac:
4735           fix GST_ORIGIN
4736           set GST_PACKAGE to source, and distinguish between release and other
4737         * tools/gst-inspect.c:
4738           print out plugin an element factory is part of so we see this info
4739
4740 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4741
4742         * docs/gst/gstreamer-sections.txt:
4743         * docs/gst/tmpl/gstbuffer.sgml:
4744         * docs/gst/tmpl/gstschedulerfactory.sgml:
4745           reorder docs a little, make GstBuffer's more sensible.
4746         * gst/gstbuffer.h:
4747           API: added GST_BUFFER_FLAG_DELTA_UNIT
4748         * gst/gstscheduler.c:
4749           comment API addition
4750
4751 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4752
4753         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
4754           work with non-regular files that can be mmapped (like /dev/zero)
4755         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
4756           get rid of typefinds that require a seek when we can't seek instead
4757           of trying them over and over again
4758         * tools/gst-launch.c: (idle_func), (error_cb), (main):
4759           return non-zero failure value when the pipeline was interrupted or
4760           an error occurred
4761
4762 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4763
4764         * win32/config.h:
4765         * win32/GStreamer.vcproj:
4766           compile and install the locales
4767
4768 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4769
4770         * gst/gstvalue.c:
4771           fix a possible memory leak under Windows
4772
4773 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4774
4775         * win32/GStreamer.vcproj:
4776           fix a memory leak that occured under Windows
4777         * win32/gstreamer.def:
4778           add gst_scheduler_register
4779
4780 2004-08-11  Benjamin Otte  <otte@gnome.org>
4781
4782         * docs/gst/gstreamer-sections.txt:
4783         * gst/gstscheduler.c: (gst_scheduler_register):
4784         * gst/gstscheduler.h:
4785           API:
4786           add gst_scheduler_register shortcut similar to gst_element_register
4787         * gst/schedulers/entryscheduler.c: (plugin_init):
4788         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
4789         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
4790           use it
4791
4792 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
4793
4794         * gst/gstvalue.h:
4795           fix a memory leak that occured under Windows
4796
4797 2004-08-10  Colin Walters  <walters@redhat.com>
4798
4799         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
4800         Don't use O_EXCL to open temporary registry.  It will prevent
4801         registry creation if a temporary one already exists, which
4802         is unnecessary.
4803
4804 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4805
4806         * docs/gst/gstreamer-sections.txt:
4807         * docs/gst/tmpl/gstvalue.sgml:
4808           remove some valuable stuff from the documentation due to the use of GST_EXPORT
4809
4810 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4811
4812         * win32/gstbytestream.vcproj:
4813         * win32/gstelements.vcproj:
4814         * win32/gstgetbits.vcproj:
4815         * win32/gst-inspect.vcproj:
4816         * win32/gst-launch.vcproj:
4817         * win32/gstoptimalscheduler.vcproj:
4818         * win32/GStreamer.vcproj:
4819         * win32/gst-register.vcproj:
4820         * win32/gstspider.vcproj:
4821           update the include and lib dirs to fit standard libraries as
4822           described in the Win32 manual
4823
4824 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4825
4826         * win32/config.h:
4827         * win32/gstversion.h:
4828           enable NLS again, push the version number for the coming 0.8.5 release
4829
4830 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4831
4832         * gst/gstvalue.h:
4833           export gst_type_XXX for windows DLLs
4834
4835 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4836
4837         * docs/faq/gst-uninstalled:
4838           fix PKG_CONFIG_PATH and PYTHONPATH
4839         * gst/schedulers/Makefile.am:
4840           cleanup
4841         * libs/gst/bytestream/bytestream.c:
4842           remove newline
4843         * po/LINGUAS:
4844         * po/sq.po:
4845           adding Albanian translation (Laurent Dhima)
4846         * po/cs.po:
4847           updated
4848
4849 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4850
4851         * po/ca.po:
4852         * po/sv.po:
4853           updated translations
4854
4855 2004-08-04  Benjamin Otte  <otte@gnome.org>
4856
4857         * tests/mass_elements.c: (main):
4858           allow specifying src and sink element explicitly, so I can test
4859           videotestsrc instead of fakesrc
4860
4861 2004-08-04  Benjamin Otte  <otte@gnome.org>
4862
4863         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
4864         (gst_structure_id_empty_new), (gst_structure_empty_new),
4865         (gst_structure_copy):
4866           add gst_structure_id_empty_new_with_size to allow preallocating
4867           value array sizes. Use this in gst_structure_copy to get rid of
4868           reallocs.
4869           don't do quark=>string=>quark when copying structures
4870
4871 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
4872
4873         * docs/manual/win32.xml:
4874         * win32/README.txt:
4875           update documentation with the clean version of dependencies
4876
4877 2004-08-03  Benjamin Otte  <otte@gnome.org>
4878
4879         * gst/schedulers/entryscheduler.c:
4880         (gst_entry_scheduler_remove_element):
4881           fix for GST_DISABLE_DEBUG
4882         * tools/gst-launch.c: (print_tag):
4883           fixes for G_DISABLE_ASSERT
4884
4885 2004-08-03  Benjamin Otte  <otte@gnome.org>
4886
4887         * gst/gst.c: (gst_register_core_elements):
4888           fix for G_DISABLE_ASSERT
4889         * gst/gstinfo.c: (__gst_in_valgrind):
4890           add for GST_DISABLE_DEBUG
4891
4892 2004-08-03  Benjamin Otte  <otte@gnome.org>
4893
4894         * gst/parse/parse.l:
4895           fix for G_DISABLE_ASSERT
4896
4897 2004-08-03  Wim Taymans  <wim@fluendo.com>
4898
4899         * gst/gstbin.c: (gst_bin_get_type),
4900         (gst_bin_child_state_change_func):
4901         * gst/gstthread.c: (gst_thread_change_state):
4902         Backported some debug logging from a reverted patch
4903         Don't try to destroy the thread twice. Added some more
4904         debugging in GstThread. Unlock and signal even if we
4905         are in the thread context.
4906
4907 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4908
4909         * po/uk.po:
4910           updated translation
4911
4912 2004-07-30  David Schleef  <ds@schleef.org>
4913
4914         * gst/gstatomic_impl.h: Enable atomic code for x86_64
4915
4916 2004-07-29  David Schleef  <ds@schleef.org>
4917
4918         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
4919         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
4920
4921 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4922
4923         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
4924         (gst_bin_add_func), (gst_bin_remove_func),
4925         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
4926         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
4927         (gst_bin_change_state_norecurse), (gst_bin_dispose),
4928         (gst_bin_sync_children_state):
4929         * gst/gstbin.h:
4930         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
4931         (gst_thread_change_state):
4932         * testsuite/states/Makefile.am:
4933           revert state change patches as agreed so we can rework them
4934           gradually
4935
4936 2004-07-29  Benjamin Otte  <otte@gnome.org>
4937
4938         * libs/gst/control/Makefile.am:
4939           link to libgstreamer (fixes Debian bug 262019, see
4940           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
4941
4942 2004-07-29  Wim Taymans  <wim@fluendo.com>
4943
4944         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
4945         (check_from_fraction_convert), (transform_test), (main):
4946         Make the test less pedantic about float roundoff errors.
4947
4948 2004-07-29  Benjamin Otte  <otte@gnome.org>
4949
4950         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
4951         (gst_filesrc_srcpad_event):
4952           make seek events to before start/after end of file not fail, but
4953           seek to start/end instead
4954         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
4955           add more output
4956
4957 2004-07-29  Benjamin Otte  <otte@gnome.org>
4958
4959         * gst/gstpad.c: (gst_pad_set_explicit_caps):
4960           check that caps are fixed
4961         * gst/gstpad.c: (gst_pad_template_new):
4962           don't try to simplify caps, costs too much time on gst_init
4963         * gst/gstplugin.c: (gst_plugin_add_feature):
4964           G_ERROR if features are added twice
4965         * gst/gsttypefind.c: (gst_type_find_register):
4966         * gst/gstelementfactory.c: (gst_element_register):
4967           don't add features twice
4968         * docs/random/ds/0.9-suggested-changes:
4969           add note about possible gst_init optimization
4970
4971 2004-07-28  David Schleef  <ds@schleef.org>
4972
4973         * testsuite/elements/Makefile.am:
4974         * testsuite/elements/struct_i386.h:
4975         * testsuite/elements/struct_size.c: (main):  A little test
4976         to keep distcheck from working if someone changes a structure
4977         size accidentally.
4978
4979 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4980
4981         * docs/libs/Makefile.am:
4982         * docs/libs/gstreamer-libs-docs.sgml:
4983         * docs/libs/gstreamer-libs-sections.txt:
4984         * docs/libs/tmpl/gstbytestream.sgml:
4985         * docs/libs/tmpl/gstcontrol.sgml:
4986         * docs/libs/tmpl/gstdataprotocol.sgml:
4987         * docs/libs/tmpl/gstgetbits.sgml:
4988         * libs/gst/bytestream/Makefile.am:
4989         * libs/gst/bytestream/bytestream.c:
4990         * libs/gst/bytestream/bytestream.h:
4991         * libs/gst/control/Makefile.am:
4992         * libs/gst/dataprotocol/Makefile.am:
4993         * libs/gst/getbits/Makefile.am:
4994         * libs/gst/getbits/getbits.h:
4995           various doc and style fixes, adding bytestream to libs docs.
4996
4997 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4998
4999         * docs/gst/gstreamer-docs.sgml:
5000         * docs/libs/Makefile.am:
5001         * docs/libs/gstreamer-libs-docs.sgml:
5002         * docs/libs/gstreamer-libs-sections.txt:
5003         * libs/gst/control/dparam.c:
5004           more doc fixes.  gst-libs docs now build the same way as gst.
5005
5006 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5007
5008         * configure.ac:
5009         * testsuite/Makefile.am:
5010         * testsuite/bins/Makefile.am:
5011         * testsuite/caps/Makefile.am:
5012         * testsuite/cleanup/Makefile.am:
5013         * testsuite/clock/Makefile.am:
5014         * testsuite/debug/Makefile.am:
5015         * testsuite/dlopen/Makefile.am:
5016         * testsuite/dynparams/Makefile.am:
5017         * testsuite/elements/.cvsignore:
5018         * testsuite/elements/Makefile.am:
5019         * testsuite/enumcaps/Makefile.am:
5020         * testsuite/enumcaps/enumcaps.c:
5021         * testsuite/ghostpads/Makefile.am:
5022         * testsuite/indexers/Makefile.am:
5023         * testsuite/negotiation/Makefile.am:
5024         * testsuite/parse/Makefile.am:
5025         * testsuite/plugin/Makefile.am:
5026         * testsuite/refcounting/Makefile.am:
5027         * testsuite/schedulers/.cvsignore:
5028         * testsuite/states/Makefile.am:
5029         * testsuite/tags/Makefile.am:
5030         * testsuite/threads/Makefile.am:
5031           fold enumcaps into caps dir
5032           clean up Makefile.am's for testsuite
5033
5034 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5035
5036         * docs/gst/Makefile.am:
5037         * docs/libs/Makefile.am:
5038           clean up docs build.  Fixes needless rebuilding of template files.
5039
5040 2004-07-28  Wim Taymans  <wim@fluendo.com>
5041
5042         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
5043         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
5044         Make sure that a bin state change tries to keep the children
5045         in sync. 
5046         Added debug logging to the thread.
5047
5048 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5049
5050         * win32/GStreamer.vcproj:
5051         * win32/gstreamer.def:
5052           more exports for the plugins
5053
5054 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5055
5056         * win32/gstgetbits.vcproj:
5057         * win32/gstgetbits.def:
5058         * win32/msvc71.sln:
5059           add support for the getbits plugin
5060
5061 2004-07-27  Wim Taymans  <wim@fluendo.com>
5062
5063         * gst/gstvalue.c: (gst_value_transform_double_fraction),
5064         (gst_value_transform_fraction_double), (_gst_value_initialize):
5065         * testsuite/caps/Makefile.am:
5066         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
5067         (check_from_fraction_convert), (transform_test), (main):
5068         Added transform functions between double and fraction.
5069         Added testcase to verify transforms
5070
5071 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5072
5073         * win32/GStreamer.vcproj:
5074           rename GStreamer-0.8.lib to libgstreamer.lib
5075
5076 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5077
5078         * win32/gstelements.vcproj:
5079         * win32/gstoptimalscheduler.vcproj:
5080           fixes for the Release build
5081
5082 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5083
5084         * win32/config.h:
5085           update the version number
5086
5087 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5088
5089         * win32/GStreamer.vcproj:
5090           add gstinterface to the build
5091
5092 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5093
5094         * win32/gstreamer.def:
5095           add many definitions needed by plugins,
5096           GST_CAT_DEFAULT only available in the Debug build ?
5097
5098 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5099
5100         * gst/gstelement.c: (gst_element_set_eos_recursive):
5101           various whitespace fixes.
5102           doc fix, fixes #148497
5103
5104 2004-07-25  Benjamin Otte  <otte@gnome.org>
5105
5106         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
5107           don't delay links on the sink elements, it causes unnegotiated
5108           links.
5109         * gst/elements/gsttypefindelement.c:
5110         (gst_type_find_element_base_init):
5111           add our padtemplates, we indeed do have some.
5112         * gst/elements/gsttypefindelement.c:
5113         (gst_type_find_element_handle_event),
5114         (gst_type_find_element_chain):
5115           don't push data when typefinding failed.
5116         * gst/gstpad.c: (gst_pad_link_fixate):
5117           check that no fixate function returns empty caps.
5118         * gst/gstpad.c: (gst_pad_push):
5119           check that the link is negotiated before data gets pushed.
5120         * tools/gst-register.c: (main):
5121           don't assert (fixes #148283)
5122
5123 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5124
5125         * docs/gst/gstreamer-sections.txt:
5126         * docs/gst/tmpl/gstconfig.sgml:
5127           add GST_PLUGIN_EXPORT definition
5128
5129 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5130
5131         * gst/gstplugin.h:
5132         * gst/gstconfig.h.in:
5133         * win32/gstconfig.h:
5134         * win32/gstelements.def:
5135         * win32/gstelements.vcproj:
5136         * win32/gstoptimalscheduler.def:
5137         * win32/gstoptimalscheduler.vcproj:
5138         * win32/gstspider.def:
5139         * win32/gstspider.vcproj:
5140           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
5141
5142 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5143
5144         * docs/gst/gstreamer-sections.txt:
5145           remove GST_CAT_DEFAULT because the type has changed
5146
5147 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5148
5149         * win32/gstbytestream.vcproj:
5150         * win32/gstelements.vcproj:
5151         * win32/gst-inspect.vcproj:
5152         * win32/gst-launch.vcproj:
5153         * win32/gstoptimalscheduler.vcproj:
5154         * win32/GStreamer.vcproj:
5155         * win32/gst-register.vcproj:
5156         * win32/gstspider.vcproj:
5157         * win32/msvc71.sln:
5158           Copy the files where needed after building, The testsuite will be
5159           built separately
5160
5161 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5162
5163         * win32/config.h:
5164         * win32/README.txt:
5165         * docs/manual/win32.xml:
5166         Fixed the plugin and GStreamer location
5167
5168 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5169
5170         * win32/gstreamer.def:
5171         More exports for the plugins
5172
5173 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5174
5175         * gst/gstinfo.h:
5176         Marc was right, we need to export literally GST_CAT_DEFAULT
5177
5178 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5179
5180         * win32/config.h:
5181         NLS crashes in gettext, disabled until this is solved
5182
5183 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5184
5185         * win32/gst-inspect.vcproj:
5186         * win32/gst-launch.vcproj:
5187         Should use NLS when available
5188
5189 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5190
5191         * gst/registries/gstxmlregistry.c:
5192         removing the file doesn't seem to be a good idea on Linux
5193
5194 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5195
5196         * gst/registries/gstxmlregistry.c:
5197         Remove the registry before renaming the tempfile (needed for Windows)
5198
5199 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5200
5201         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
5202         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
5203         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
5204         * gst/elements/gstmultifilesrc.h:
5205         Added newmedia property so it generates newmedia events between each
5206         file when property is set, as well as fixed eos handling
5207
5208 2004-07-22  David Schleef  <ds@schleef.org>
5209
5210         * gst/gststructure.c: (gst_structure_id_empty_new),
5211         (gst_structure_empty_new):  Set type field correctly.
5212         * gst/gststructure.h: Check type field correctly.
5213         * testsuite/caps/Makefile.am:
5214         * testsuite/caps/structure.c: (test1), (main): Add a very small
5215         test for structures.
5216
5217 2004-07-22  David Schleef  <ds@schleef.org>
5218
5219         * docs/random/ds/0.9-suggested-changes: more comments
5220         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
5221
5222 2004-07-22  Benjamin Otte  <otte@gnome.org>
5223
5224         * gst/gstelementfactory.c: (gst_element_register):
5225           set the factory in the class struct, so gst_element_get_factory
5226           actually works
5227         * gst/parse/grammar.y:
5228           set element to playing when it gets unlocked as we can't rely on the
5229           bin state - all elements in the bin state might still be locked in
5230           NULL)
5231
5232 2004-07-22  Benjamin Otte  <otte@gnome.org>
5233
5234         * gst/gstelement.c: (gst_element_set_state_func):
5235           make this a static function
5236
5237 2004-07-22  Wim Taymans  <wim@fluendo.com>
5238
5239         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
5240         (gst_opt_scheduler_pad_link):
5241         fix 147894-2 and the group_link problem.
5242
5243 2004-07-22  Wim Taymans  <wim@fluendo.com>
5244
5245         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5246         (handoff_identity), (main):
5247         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5248         (handoff_identity), (main):
5249         * testsuite/schedulers/Makefile.am:
5250         * testsuite/schedulers/group_link.c: (main):
5251         Show bug in scheduler when linking chain and loop based element 
5252         where the chain based element was not yet in a group.
5253
5254 2004-07-21  Benjamin Otte  <otte@gnome.org>
5255
5256         * gst/.cvsignore:
5257         * gst/autoplug/.cvsignore:
5258         * gst/elements/.cvsignore:
5259         * gst/indexers/.cvsignore:
5260         * libs/gst/bytestream/.cvsignore:
5261         * libs/gst/control/.cvsignore:
5262         * libs/gst/getbits/.cvsignore:
5263         * testsuite/states/.cvsignore:
5264         * testsuite/threads/.cvsignore:
5265           keep this up to date, since I seem to be the only one who cares
5266           about not missing files on commits (editor's note: no you don't,
5267           but feel free to change them at the time you add stuff instead
5268           of later on)
5269
5270 2004-07-21  Benjamin Otte  <otte@gnome.org>
5271
5272         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5273         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
5274         (gst_bin_child_state_change_func), (set_kid_state_func),
5275         (gst_bin_set_state), (gst_bin_change_state_norecurse):
5276           make state changes work correctly and reentrant (so removing
5277           elements from bins during state changes of bins doesn't cause
5278           segfaults or even wrong states)
5279           add debugging category and debugging output to print children states
5280         * gst/gstbin.c: (gst_bin_dispose): 
5281           add some assertion checks
5282         * gst/gstbin.h:
5283         * gst/gstbin.c: (gst_bin_sync_children_state):
5284           deprecate this function - it just does gst_bin_set_state (bin,
5285           GST_STATE (bin)) 
5286         * testsuite/threads/queue.c: (main):
5287           don't use gst_bin_sync_children_state anymore
5288         * testsuite/states/Makefile.am:
5289         * testsuite/states/bin.c:
5290           test that the state changes of bins work as expected
5291         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
5292           some adjustments to change states correctly, too
5293         * gst/gstthread.c: (gst_thread_change_state):
5294           don't enable/disable "threadsafe" properties, they're unused and
5295           cause random segfaults
5296         * testsuite/threads/Makefile.am:
5297           the queue check randomly passes now, ignore it
5298
5299 2004-07-21  Benjamin Otte  <otte@gnome.org>
5300
5301         * gst/gstpad.c:
5302           check if data is NULL before outputting debug info. (fixes #145100)
5303
5304 2004-07-21  Benjamin Otte  <otte@gnome.org>
5305
5306         * gst/schedulers/entryscheduler.c:
5307         (gst_entry_scheduler_loop_wrapper),
5308         (gst_entry_scheduler_chain_wrapper),
5309         (gst_entry_scheduler_get_wrapper):
5310           reset the state when the cothread starts, so we don't get assertion
5311           failures on restarting of cothreads
5312
5313 2004-07-20  Benjamin Otte  <otte@gnome.org>
5314
5315         * gst/gstelement.c: (gst_element_link_pads_filtered):
5316           use correct sinkpad, if only sinkpad is specified, but not srcpad
5317           (fixes #147889)
5318         * gst/gstelement.c: (gst_element_set_state_func),
5319         (gst_element_change_state): ref/unref the element, signal handlers
5320         could get rid of the element otherwise
5321
5322 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5323
5324         * docs/random/ds/0.9-suggested-changes:
5325           Make note about renaming fixed-list to array.
5326         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
5327         (_gst_value_initialize):
5328           Add array intersections.
5329         * testsuite/caps/intersect2.c: (main):
5330           Add test for array intersections.
5331
5332 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5333
5334         * configure.ac: back to cvs
5335
5336 === release 0.8.4 ===
5337
5338 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5339
5340         * configure.ac:
5341           releasing 0.8.4, "Paella"
5342           bump libtool versioning
5343
5344 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5345
5346         * po/LINGUAS:
5347         * po/ca.po:
5348           adding Catalan translation (Jordi Mallach)
5349
5350 2004-07-20  Wim Taymans  <wim@fluendo.com>
5351
5352         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5353         (handoff_identity), (main):
5354         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5355         (handoff_identity), (main):
5356         * testsuite/schedulers/Makefile.am:
5357         Added failing testcase for variant of #147894
5358
5359 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5360
5361         patch by: David Moore
5362
5363         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5364         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
5365         (group_migrate_connected):
5366         * testsuite/schedulers/Makefile.am:
5367           fix for #142813 (Deadlock in optimal scheduler)
5368
5369 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5370
5371         patch by: Wim Taymans
5372
5373         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5374         (gst_opt_scheduler_schedule_run_queue),
5375         (gst_opt_scheduler_get_wrapper), (get_group),
5376         (group_migrate_connected):
5377         * testsuite/schedulers/Makefile.am:
5378           fix for #147819 (Add some checks in the opt scheduler)
5379
5380 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5381
5382         patch by: Benjamin Otte
5383
5384         * gst/gstelementfactory.c: (__gst_element_details_set):
5385           fix for #147929: running gst-register in non-utf8 locale can cause
5386           invalid registry
5387
5388 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5389
5390         patch by: Wim Taymans
5391
5392         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
5393         (group_has_element), (element_get_reachables_func),
5394         (group_migrate_connected):
5395           fix for #147894 (opt scheduler decoupled elements mismanagement)
5396         * testsuite/schedulers/Makefile.am:
5397           testsuite app now passes
5398
5399 2004-07-19  Wim Taymans  <wim@fluendo.com>
5400
5401         * testsuite/schedulers/147819.c: (handoff_identity1),
5402         (handoff_identity2), (main):
5403         * testsuite/schedulers/Makefile.am:
5404         Added testcase for bug 147819
5405
5406 2004-07-19  Wim Taymans  <wim@fluendo.com>
5407
5408         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5409         (handoff_identity), (main):
5410         * testsuite/schedulers/Makefile.am:
5411         Added testcase for bug 147894
5412
5413 2004-07-16  Wim Taymans  <wim@fluendo.com>
5414
5415         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
5416         * testsuite/schedulers/142183.c: (handoff_identity), (main):
5417         * testsuite/schedulers/Makefile.am:
5418         Added testsuite for bug 142183 in its two incarnations. Refcount
5419         is not increased for scheduled elements and threadsafe properties
5420         mutexes are not properly unlocked.
5421
5422 2004-07-16  Wim Taymans  <wim@fluendo.com>
5423
5424         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
5425         (create_chain), (destroy_chain), (create_group), (destroy_group),
5426         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
5427         (group_dec_link), (gst_opt_scheduler_pad_link),
5428         (group_inc_links_for_element), (group_migrate_connected):
5429         Call group_inc_link with the proper src->sink ordering -- 
5430         break this, and we break sort_chain. patch from wingo for bug
5431         147713.
5432         Partially revert patch 1.89. When adding a loop based element to 
5433         the scheduler, the links to other groups are automatically followed
5434         and incremented. This should not happen because the bin will call
5435         pad_link explicitly for those connection, resulting in them counted 
5436         twice. Results in assertion failure on pipeline cleanup.
5437
5438 2004-07-16  Wim Taymans  <wim@fluendo.com>
5439
5440         * testsuite/schedulers/143777-2.c: (main):
5441         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
5442         (main):
5443         * testsuite/schedulers/Makefile.am:
5444         Added cleanup code to testcase 143777-2.
5445         Added testcase to show bug 147713, does not really show the
5446         deadlock as I can't figure out how to trigger it, but it does
5447         demonstrate bad ordering in the scheduler.
5448
5449 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5450
5451         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5452           change strndup to g_strndup.  Fixes #147707
5453
5454 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5455
5456         * po/af.po:
5457         * po/az.po:
5458         * po/cs.po:
5459         * po/en_GB.po:
5460         * po/fr.po:
5461         * po/nl.po:
5462         * po/sr.po:
5463         * po/sv.po:
5464         * po/tr.po:
5465         * po/uk.po:
5466           updated translations
5467
5468 2004-07-16  Benjamin Otte  <otte@gnome.org>
5469
5470         * gst/gstvalue.c: (gst_greatest_common_divisor):
5471           use ints and return ints, fractions only use ints, too, so this
5472           avoids accidently casting multiplications to unsigned
5473         (gst_value_lcopy_fraction): it's ints, not uint32
5474         (gst_value_set_fraction): disallow minint, multiplying and negation
5475           are broken with it
5476         (gst_value_fraction_multiply): fix to make large numbers work and get
5477         rid of the assumption that the multiplication of two ints fits an
5478         int64 - dunno if that's true for all systems
5479         * testsuite/caps/Makefile.am:
5480         * testsuite/caps/fraction-multiply-and-zero.c:
5481         (check_multiplication), (check_equal), (zero_test), (main):
5482           add tests for all the stuff above
5483         * testsuite/caps/value_compare.c: (test1):
5484           fix comment
5485         * tests/.cvsignore:
5486         * testsuite/caps/.cvsignore:
5487         * testsuite/debug/.cvsignore:
5488         * testsuite/dlopen/.cvsignore:
5489         * testsuite/states/.cvsignore:
5490           get up to date
5491
5492 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5493
5494         * docs/manual/bins-api.xml:
5495         * docs/manual/factories.xml:
5496         * docs/manual/helloworld.xml:
5497         * docs/manual/links-api.xml: 
5498           fixes for out of date info, incorrect info and grammar
5499
5500 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5501
5502         * docs/manual/pads.xml:
5503         * docs/manual/pads-api.xml: grammar fix
5504
5505 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5506
5507         * docs/manual/pads-api.xml: typo + grammar fix
5508
5509 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5510
5511         * docs/gst/gstreamer-sections.txt:
5512           add new symbols
5513         * docs/gst/tmpl/gstelement.sgml:
5514         * docs/gst/tmpl/gstpad.sgml:
5515         * docs/gst/tmpl/gsttypes.sgml:
5516         * docs/gst/tmpl/gstvalue.sgml:
5517           update docs
5518         * gst/gststructure.c: (gst_structure_set_valist),
5519         (gst_structure_from_abbr), (gst_structure_to_abbr):
5520         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
5521         (gst_greatest_common_divisor), (gst_value_init_fraction),
5522         (gst_value_copy_fraction), (gst_value_collect_fraction),
5523         (gst_value_lcopy_fraction), (gst_value_set_fraction),
5524         (gst_value_get_fraction_numerator),
5525         (gst_value_get_fraction_denominator),
5526         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
5527         (gst_value_deserialize_fraction),
5528         (gst_value_transform_fraction_string),
5529         (gst_value_transform_string_fraction),
5530         (gst_value_compare_fraction), (_gst_value_initialize):
5531         * gst/gstvalue.h:
5532           adding GstFraction GValue type, get/set, and multiply
5533         * testsuite/caps/Makefile.am:
5534         * testsuite/caps/fraction.c: (test), (main):
5535         * testsuite/caps/string-conversions.c: (main):
5536         * testsuite/caps/value_compare.c: (test1), (main):
5537           add regression tests for GstFraction
5538
5539 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5540         
5541         * docs/manual/init-api.xml: Grammar fix
5542
5543 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5544
5545         * docs/manual/states.xml: Fix inconsistent information
5546
5547 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5548
5549         * gst/gstelement.c: (gst_element_set_state):
5550         * gst/gstpad.c: (gst_pad_try_set_caps):
5551         * gst/gststructure.c:
5552         * gst/gstthread.c: (gst_thread_child_state_change):
5553         * gst/gstvalue.c: (gst_value_compare_double):
5554         * gst/gstvalue.h:
5555         * testsuite/parse/parse1.c: (main):
5556           debugging additions and style cleanups
5557
5558 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5559
5560         * docs/manual/states.xml: Grammar fix
5561
5562 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5563
5564         * docs/manual/pads.xml: Grammar fix
5565
5566 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5567
5568         * docs/manual/elements.xml: Fixed image reference
5569
5570 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5571
5572         * docs/manual/goals.xml: Grammar fix
5573
5574 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5575
5576         * docs/manual/motivation.xml:
5577         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
5578
5579 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5580
5581         * docs/manual/motivation.xml: Fix spelling
5582
5583 2004-07-15  Benjamin Otte  <otte@gnome.org>
5584
5585         * gst/gstelement.h: 
5586           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
5587           strings.
5588         * gst/gstelement.c (gst_element_class_init):
5589           GError's are boxed, not objects
5590         * gst/gstmarshal.list:
5591           update list for the fixed error signal
5592
5593 2004-07-14  Andy Wingo  <wingo@pobox.com>
5594
5595         * gst/gsttag.c: Add a tag merge func for pointers. The header was
5596         there all along, but the function wasn't. (guile-gstreamer's build
5597         system uses the address of the function -- I wasn't actually
5598         trying to use this.)
5599
5600 2004-07-14  Andy Wingo  <wingo@pobox.com>
5601
5602         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
5603         as gst_pad_proxy_pad_link) just link to every other pad when they
5604         are called. In the case where the graph has cycles, this will mean
5605         that a call to try_set_caps will recurse. Allow this recursion
5606         and return OK, while we wait for the first try_set_caps to give a
5607         proper return value.
5608         (gst_pad_link_call_link_functions): Since this function is the
5609         only one to set the NEGOTIATING flag on a pad, if the flag is set
5610         it means that the link functions have indirectly recursed. If this
5611         happens, error out to avoid infinite recursion and an eventual
5612         SEGV.
5613         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
5614         (gst_pad_proxy_getcaps): Intersect the result with the template
5615         caps to ensure that the return value is valid.
5616
5617 2004-07-14  Andy Wingo  <wingo@pobox.com>
5618
5619         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
5620         one refcount, the calling function is the owner of the buffer.
5621
5622 2004-07-14  Wim Taymans  <wim@fluendo.com>
5623
5624         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5625         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5626         Fix stupid warning when an element is to be migrated but
5627         is already migrated.
5628
5629 2004-07-14  Wim Taymans  <wim@fluendo.com>
5630
5631         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5632         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5633         Make sure that a single non-loop-based element does not 
5634         end up in a group. This fixes the testsuite again.
5635
5636 2004-07-14  Wim Taymans  <wim@fluendo.com>
5637
5638         * gst/schedulers/gstoptimalscheduler.c: (create_group),
5639         (add_to_group), (merge_groups), (schedule_group),
5640         (gst_opt_scheduler_get_wrapper), (group_elements),
5641         (group_dec_link), (gst_opt_scheduler_pad_link),
5642         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
5643         (gst_opt_scheduler_iterate):
5644         move isolated groups to a new chain.
5645         Emit a warning instead of segfaulting in some error cases.
5646         Fix a bug where the link count between groups was not calculated 
5647         correctly. Fixes #144510.
5648
5649 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
5650         * gst/elements/gstfilesrc.c:
5651           Binary files support under Windows now OK
5652       
5653 2004-07-13  Benjamin Otte  <otte@gnome.org>
5654
5655           compatibility fixes for Solaris 8/gcc 2.95
5656         * configure.ac:
5657           include libintl libs in LDFLAGS
5658         * gstvalue.c (gst_value_deserialize_buffer):
5659           cast isxdigit stuff to int to silence compiler warning
5660
5661 2004-07-12  Benjamin Otte  <otte@gnome.org>
5662
5663         * gst/gsttypes.h:
5664           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
5665           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
5666           just causes support madness
5667         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
5668           make it work without this
5669         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
5670         (gst_file_index_commit):
5671           glib IO channels don't want binary mode
5672         * testsuite/bytestream/filepadsink.c: (main):
5673         * testsuite/bytestream/test1.c: (read_param_file):
5674           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
5675
5676 2004-07-12  Benjamin Otte  <otte@gnome.org>
5677
5678         * gst/gstelement.c: (gst_element_class_init),
5679         (gst_element_set_state), (gst_element_set_state_func):
5680           virutalize gst_element_set_state, use set_state member in class
5681           struct that was already added in 0.7 for this.
5682         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
5683         (gst_bin_change_state):
5684           make gst_bin_foreach works similar to other foreach functions, plug
5685           memleaks in it. Make functions using it work with the new approach.
5686           Document gst_bin_foreach, so it can be exported if we want to
5687         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
5688           use virtualized set_state to make set_state on bins set the state of
5689           all its children.
5690
5691 2004-07-12  Benjamin Otte  <otte@gnome.org>
5692
5693         * configure.ac:
5694           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
5695           http://bugs.gentoo.org/show_bug.cgi?id=53967)
5696         * gst/gstpad.c: (gst_pad_alloc_buffer):
5697           allow buffer_alloc functions to return NULL and allocate a normal
5698           buffer in that case
5699
5700 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5701         * gst/elements/gstfilesink.c:
5702         * gst/elements/gstfilesrc.c:
5703         * gst/indexers/gstfileindex.c:
5704         * gst/gsttypes.h:
5705         * testsuite/bytestream/filepadsink.c:
5706         * testsuite/bytestream/test1.c:
5707           Handle binary files under Windows
5708
5709 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5710         * docs/manual/win32.xml:
5711         * win32/config.h:
5712         * win32/gst-register.vcproj:
5713         * win32/gstreamer.def:
5714           Update to another gettext public build
5715
5716 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5717         * gst/gstplugin.c:
5718           Fix an impossible C syntax
5719         * win32/config.h:
5720           Disable i18n under Windows for the moment
5721         * win32/gst-register.vcproj:
5722           Use this configuration
5723
5724 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
5725         * docs/manual/quotes.xml:
5726           Keep the quotes file alive
5727         * docs/random/ds/0.9-suggested-changes:
5728           Add the suggestion of including a 'rowstride' as part of video
5729           format caps
5730
5731 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5732
5733         * gst/gstelement.c: (gst_element_set_state),
5734         (gst_element_change_state):
5735           d'oh.  Set PENDING state correctly before forcing bin to change.
5736         * gst/gststructure.c: (gst_structure_value_get_generic_type),
5737         (gst_structure_parse_fixed_list):
5738         * gst/schedulers/gstoptimalscheduler.c:
5739         (gst_opt_scheduler_state_transition):
5740         * testsuite/states/parent.c: (main):
5741           remove comment now that it's fixed.
5742
5743 2004-07-11  Benjamin Otte  <otte@gnome.org>
5744
5745         * gst/gstclock.h:
5746           GST_SECOND shouldn't cause a conversion to unsigned.
5747         * testsuite/clock/.cvsignore:
5748         * testsuite/clock/Makefile.am:
5749         * testsuite/clock/signedness.c: (main):
5750           make sure it never will again
5751
5752 2004-07-11  Andy Wingo  <wingo@pobox.com>
5753
5754         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
5755         whose state is higher than the bin state, raise the bin state to
5756         ensure that bin state := highest child state.
5757         
5758 2004-07-11  Andy Wingo  <wingo@pobox.com>
5759
5760         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
5761         procedure on the children of a bin. Assumes that the procedure can
5762         change the set of children.
5763         (set_kid_state_func): New static function.
5764         (gst_bin_change_state): Use gst_bin_foreach to call
5765         set_kid_state_func. Fixes a bug: if a child had a state-change
5766         handler that removes it from the bin, there would be a segfault.
5767         Hopefully it should also work in the case where the state-change
5768         handler on one child adds or removes other children. In any case,
5769         fixes should go to gst_bin_foreach.
5770
5771 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5772
5773         * gst/gstelement.c: (gst_element_set_state):
5774           compatibility fix for latest plugins release.  Change loop back
5775           to while {}
5776
5777 2004-07-09  Wim Taymans  <wim@fluendo.com>
5778
5779         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
5780         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
5781         (gst_thread_main_loop):
5782         Since remove is virtual in GstBin we must not assume the 
5783         elements GList to have anothing useful.
5784         Add some more logging to GstThread and be a bit more paranoid
5785         when resetting the scheduler.
5786         Set the state of the bin to NULL before removing the children.
5787
5788 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5789
5790         * testsuite/threads/Makefile.am:
5791         * testsuite/threads/threadg.c:
5792           added test to check if problem when removing all elements from a
5793           GstThread before setting GstThread state to NULL
5794
5795 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5796
5797         * docs/gst/tmpl/gstelement.sgml:
5798         * docs/gst/tmpl/gsttypes.sgml:
5799         * gst/gstbin.c: (gst_bin_change_state):
5800         * gst/gstelement.c: (gst_element_set_state),
5801         (gst_element_change_state):
5802           rework so that for bins we try to set the state on all children
5803           as well even if the bin is in the correct state already.
5804           change while to do so at least one iteration is done.
5805           For regular elements, we fall back to the previous behaviour for
5806           now since we first need a new plugins release.
5807         * testsuite/states/parent.c: (main):
5808           test for this case
5809           Fixes #123774
5810
5811 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5812
5813         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
5814         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
5815         (gst_queue_release_locks), (gst_queue_change_state),
5816         (gst_queue_set_property):
5817           add proper lock debugging.  Change dispose to finalize, since
5818           we're freeing mutexes and other stuff which should happen only once.
5819
5820 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5821
5822         * docs/gst/tmpl/gstelement.sgml:
5823         * docs/gst/tmpl/gstplugin.sgml:
5824         * docs/gst/tmpl/gsttypes.sgml:
5825         * docs/pwg/building-state.xml:
5826         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
5827         * gst/gstelement.c: (gst_element_change_state):
5828         * gst/gstthread.c: (gst_thread_change_state):
5829           catch wrong state changes in element base class.
5830
5831 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5832
5833         * gst/gstinfo.h:
5834           clean up layout a little.
5835
5836 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5837
5838         * configure.ac:
5839         * testsuite/Makefile.am:
5840         * testsuite/states/Makefile.am:
5841         * testsuite/states/parent.c: (main):
5842           re-enable states testsuite dir.  Add test for state changes and
5843           parent behaviour
5844
5845 2004-07-09  Wim Taymans  <wim@fluendo.com>
5846
5847         * gst/schedulers/gstoptimalscheduler.c:
5848         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
5849         (element_get_reachables_func), (element_get_reachables),
5850         (debug_element), (rechain_group), (group_migrate_connected),
5851         (gst_opt_scheduler_pad_unlink):
5852         Do not try to migrate decoupled elements to a new group since
5853         they are not added to groups.
5854
5855 2004-07-08  Benjamin Otte  <otte@gnome.org>
5856
5857         * gst/gstelement.c: (gst_element_error_func):
5858           make reentrant (= allow removing elements in error handler)
5859
5860 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5861
5862         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5863         (gst_pad_send_event), (gst_pad_call_chain_function):
5864           events sent to elements below PAUSED cannot be handled, so
5865           don't try to
5866
5867 2004-07-08  Wim Taymans  <wim@fluendo.com>
5868
5869         * gst/schedulers/gstoptimalscheduler.c:
5870         (chain_recursively_migrate_group), (create_group),
5871         (schedule_group), (gst_opt_scheduler_pad_link),
5872         (group_elements_set_visited), (element_get_reachables_func),
5873         (element_get_reachables), (group_can_reach_group), (debug_element),
5874         (rechain_group), (group_migrate_connected),
5875         (gst_opt_scheduler_pad_unlink):
5876         * testsuite/schedulers/Makefile.am:
5877         Implemented group splitting and rechaining.
5878         Fixes 143777 and 143777-2 in the testsuite.
5879
5880 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5881
5882         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5883           extra debugging
5884         * gst/gstevent.h:
5885         * gst/gstinfo.c: (gst_debug_log_default):
5886           print time nicely.  add thread pointer until someone figures out
5887           a completely portable way of getting at thread id's.
5888         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
5889         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
5890         (gst_pad_call_chain_function):
5891           extra debugging
5892         * gst/schedulers/gstoptimalscheduler.c:
5893         (get_group_schedule_function), (loop_group_schedule_function),
5894         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5895         (pad_clear_queued), (gst_opt_scheduler_iterate):
5896           rename BUFPEN and friends to DATAPEN since that's what they are.
5897
5898 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5899
5900         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5901         * gst/gstbuffer.h:
5902         * gst/gstpad.c:
5903           cleanups and debugging
5904
5905 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5906
5907         * configure.ac:
5908         * gst/gstvalue.c: (gst_value_compare_enum),
5909         (gst_value_serialize_enum), (gst_value_deserialize_enum),
5910         (gst_value_can_compare), (gst_value_compare):
5911         * testsuite/Makefile.am:
5912         * testsuite/enumcaps/Makefile.am:
5913         * testsuite/enumcaps/enumcaps.c:
5914           Fix enum serialization, deserialization, comparison in caps, add
5915           a test to ensure that this continues working in the future.
5916
5917 2004-07-06  David Schleef  <ds@schleef.org>
5918
5919         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5920         Fix memleak.
5921
5922 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5923
5924         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
5925         * gst/gstplugin.h:
5926         * gst/registries/gstxmlregistry.c:
5927         (plugin_times_older_than_recurse), (plugin_times_older_than),
5928         (gst_xml_registry_parse_padtemplate):
5929           only rebuild registry when actual plugins have a newer time than
5930           the registry.  Fixes #145520
5931
5932 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5933
5934         * docs/manual/manual.xml:
5935         * docs/manual/win32.xml:
5936           add chapter on win32 building.  fixes #142422
5937
5938 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5939
5940         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
5941
5942         * gst/autoplug/gstspider.c: (gst_spider_init),
5943         (gst_spider_dispose):
5944           fix spider memleaks.  fixes #137863
5945
5946 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5947
5948         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
5949
5950         * gst/schedulers/gstoptimalscheduler.c:
5951         (gst_opt_scheduler_pad_unlink):
5952           fix SIGBUS error, fixes #145338
5953
5954 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5955
5956         * gst/gstobject.c: (gst_object_replace):
5957         * gst/gstscheduler.c: (gst_scheduler_get_clock):
5958         * gst/gstsystemclock.c: (gst_system_clock_obtain):
5959           clean up clock lifecycle.  Fixes #109831
5960
5961 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5962
5963         * po/LINGUAS:
5964         * po/cs.po:
5965           added Czech translation (Miloslav Trmac)
5966
5967 2004-07-04  David Schleef  <ds@schleef.org>
5968
5969         * tools/Makefile.am:
5970         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
5971
5972 2004-07-04  David Schleef  <ds@schleef.org>
5973
5974         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
5975
5976 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5977
5978         * gst/gstbin.c: (gst_bin_restore_thyself):
5979           chain to parent restore so the bins get restored correctly
5980           in the editor
5981
5982 2004-07-03  David Schleef  <ds@schleef.org>
5983
5984         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5985         Actually do something in these functions, like before the big
5986         caps change.  (bug #145137)
5987
5988 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5989
5990         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
5991         (gst_element_get_compatible_pad_filtered):
5992         * gst/gstthread.c: (gst_thread_main_loop):
5993           more debugging
5994
5995 2004-07-02  David Schleef  <ds@schleef.org>
5996
5997         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
5998         * gst/gstobject.h:
5999         * gst/gstparse.h:
6000         * gst/gsttrace.h:
6001         * gst/gstxml.h:
6002
6003 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6004
6005         * gst/gstpad.c: (gst_pad_check_schedulers),
6006         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6007         (gst_pad_link_prepare):
6008           revert until testsuite is fixed
6009
6010 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6011
6012         * testsuite/Makefile.am:
6013         * testsuite/caps/filtercaps.c: (main):
6014         * testsuite/clock/clock1.c: (main):
6015         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
6016           fix some more tests
6017
6018 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6019
6020         * testsuite/cleanup/cleanup1.c: (create_pipeline):
6021         * testsuite/cleanup/cleanup2.c: (create_pipeline):
6022         * testsuite/cleanup/cleanup4.c: (main):
6023           fix testsuite
6024
6025 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6026
6027         * libs/gst/control/control.c:
6028         * libs/gst/control/dparam.c:
6029         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
6030         * libs/gst/control/dparammanager.c:
6031         * libs/gst/control/dparammanager.h:
6032         * testsuite/dynparams/Makefile.am:
6033         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
6034         (gst_dptest_change_state), (gst_dptest_chain), (main):
6035           fix testcase for dparams
6036           add debugging category
6037
6038 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6039
6040         * testsuite/Rules:
6041           change path
6042
6043 2004-07-02  Benjamin Otte  <otte@gnome.org>
6044
6045         * tests/.cvsignore:
6046         * tests/Makefile.am:
6047         * tests/mass_elements.c: (gst_get_current_time), (main):
6048           add simple benchmark to test various speeds of fakesrc ! identity !
6049           identity ! ... ! fakesink.
6050           Usage: mass_elements [num_identities] [num_buffers]
6051           If not specified they default to 1000.
6052
6053 2004-07-02  Benjamin Otte  <otte@gnome.org>
6054
6055         * gst/gstpad.c: (gst_pad_check_schedulers),
6056         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6057         (gst_pad_link_prepare):
6058           check that pads that get linked belong to the same manager. The old
6059           code allowed linking elements before putting them into bins, so it
6060           worked to link them and then put them in different threads, which
6061           lead to weird behaviour.
6062           Since this effectively disallows linking elements before putting
6063           them in a bin, some applications might not work after this and error
6064           out. If these applications are too critical, we might need to revert
6065           that patch. Please test this before the next release...
6066
6067 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6068
6069         * gst/gstpad.c: (gst_pad_get_caps):
6070           throw an error if the getcaps function does not return a subset of
6071           the template caps.
6072         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
6073           make disconts without position info an error in debugging
6074         * tests/spidey_bench.c: (handoff), (main):
6075           don't count first try when averaging
6076
6077 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6078
6079         * gst/gstplugin.c: (gst_plugin_load_file):
6080           figure out problem with dynamic test
6081
6082 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6083
6084         * docs/gst/Makefile.am:
6085           fix docs build
6086
6087 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6088
6089         * po/POTFILES.in:
6090         * po/af.po:
6091         * po/az.po:
6092         * po/en_GB.po:
6093         * po/fr.po:
6094         * po/nl.po:
6095         * po/sr.po:
6096         * po/sv.po:
6097         * po/tr.po:
6098         * po/uk.po:
6099         * tools/gst-register.c: (plugin_added_func), (main):
6100           i18n-ize -register, fix plural
6101
6102 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6103
6104         * gst/elements/gstidentity.c: (gst_identity_class_init),
6105         (gst_identity_init), (gst_identity_chain),
6106         (gst_identity_set_property), (gst_identity_get_property):
6107         * gst/elements/gstidentity.h:
6108           check for perfect stream
6109
6110 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6111
6112         * gst/elements/gstidentity.c: (gst_identity_chain):
6113           print offset_end
6114
6115 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6116
6117         * docs/gst/Makefile.am:
6118         * docs/gst/gstreamer-docs.sgml:
6119           doc fixes
6120
6121 2004-06-24  David Schleef  <ds@schleef.org>
6122
6123         * autogen.sh:  Remove call to env, since the buildbot isn't
6124         broken anymore.
6125
6126 2004-06-24  Wim Taymans  <wim@fluendo.com>
6127
6128         * gst/elements/Makefile.am:
6129         * gst/elements/gstelements.c:
6130         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
6131         (gst_multifdsink_class_init), (gst_multifdsink_init),
6132         (gst_multifdsink_add), (gst_multifdsink_remove),
6133         (gst_multifdsink_clear), (gst_multifdsink_chain),
6134         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
6135         * gst/elements/gstmultifdsink.h:
6136         Added an element that writes to multiple filedescriptors at once.
6137
6138 2004-06-24  Benjamin Otte  <otte@gnome.org>
6139
6140         * gst/parse/grammar.y:
6141           don't try to link elements before they have been added to bins
6142
6143 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6144
6145         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
6146         (gst_file_pad_get_length):
6147         * libs/gst/bytestream/filepad.h:
6148           add 2 new functions
6149
6150 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6151
6152         * docs/gst/gstreamer-sections.txt:
6153         remove from docs, the define that Benjamin removed from gstelement.h
6154
6155 2004-06-22  Benjamin Otte  <otte@gnome.org>
6156
6157         * gst/gstelement.h:
6158           remove define that referenced a nonexisting GstElement struct member
6159
6160 2004-06-20  Benjamin Otte  <otte@gnome.org>
6161
6162         * gst/gstdata.c: (gst_data_is_writable):
6163           whoops, return values were wrong, so writable data was marked as
6164           non-writable and vice versa. (fixes #143953, spotted by Francis
6165           Labonte)
6166           Shows how rarely we need to copy data ;)
6167
6168 2004-06-20  Benjamin Otte  <otte@gnome.org>
6169
6170         * testsuite/schedulers/.cvsignore:
6171         * testsuite/schedulers/Makefile.am:
6172         * testsuite/schedulers/143777-2.c: (main):
6173           add test for opt breakage in bug #143777
6174
6175 2004-06-20  Benjamin Otte  <otte@gnome.org>
6176
6177         * gst/gstpad.c: (gst_pad_call_chain_function):
6178           check for if we were unlinked while inside the chainfunction (fixes
6179           entrygthread having issues with #143777)
6180         * testsuite/schedulers/143777.c: (main):
6181         * testsuite/schedulers/Makefile.am:
6182           add a test for that fix
6183
6184 2004-06-20  Benjamin Otte  <otte@gnome.org>
6185
6186         * gst/gstvalue.c: (gst_value_set_int_range):
6187           test that start is smaller then end
6188         * libs/gst/bytestream/Makefile.am:
6189         * libs/gst/bytestream/filepad.c: 
6190         * libs/gst/bytestream/filepad.h:
6191           add GstFilePad - a pad that behaves like a FILE*
6192         * testsuite/bytestream/.cvsignore:
6193         * testsuite/bytestream/Makefile.am:
6194         * testsuite/bytestream/filepadsink.c: 
6195           test for the GstFilePad
6196
6197 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6198
6199         * gst/elements/gstidentity.c: (gst_identity_class_init),
6200         (gst_identity_init), (gst_identity_set_clock),
6201         (gst_identity_chain), (gst_identity_set_property),
6202         (gst_identity_get_property):
6203         * gst/elements/gstidentity.h:
6204         * gst/gstclock.c: (gst_clock_id_wait):
6205           add a "sync" property to sync to the clock
6206
6207 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6208
6209         * gst/gstelementfactory.c: (gst_element_factory_create):
6210           make the freakin "elementfactory bla has no type" message more
6211           useful. So we actually can do something when someone shows up
6212           complaining about it.
6213
6214 2004-06-15  Johan Dahlin  <johan@gnome.org>
6215
6216         * tools/gst-inspect.c (main): Fallback to plugin if no element is
6217         found. This matches the old behavior better. Thanks to Thomas for
6218         pointing out.
6219
6220 2004-06-14  David Schleef  <ds@schleef.org>
6221
6222         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
6223         -fomit-frame-pointer.  Appears to generate correct code in
6224         other cases as well.
6225
6226 2004-06-14  Johan Dahlin  <johan@gnome.org>
6227
6228         * tools/gst-inspect.c (main): Add two new command line options: -a
6229         to print all elements and -n to print the name on each line. Also
6230         fix some error reporting.
6231         (main): Simplify, remove -n and always print names if -a is specified
6232
6233 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
6234
6235         * win32/gstconfig.h:
6236         * win32/GSTreamer.vcproj:
6237         * win32/Makefile:
6238         * gst/gstconfig.h.in:
6239         * gst/gst.h:
6240         * gst/gstbin.h:
6241         * gst/gstelement.h:
6242         * gst/gstevent.h:
6243         * gst/gstobject.h:
6244         * gst/gstpad.h:
6245         * docs/gst/gstreamer-sections.txt:
6246         * docs/gst/tmpl/gstconfig.sgml:
6247           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
6248
6249 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6250         * docs/gst/gstreamer-sections.txt:
6251         * docs/gst/tmpl/gstconfig.sgml:
6252         Add the GSTREAMER_EXPORT macro to the docs
6253
6254 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6255
6256         * tools/gst-compprep.c: (handle_xmlerror), (main):
6257         Add a check for the version that introduced SetStructuredError to fix
6258         the build on FC1
6259
6260 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6261
6262         * win32/msvc71.sln:
6263         * win32/testsuite/:
6264           prepare to compile the testsuite with MSVC
6265
6266 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6267
6268         * docs/manual/win32.xml:
6269           attempt to transform the Win32 README into an XML doc
6270
6271 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6272
6273         * gst/gst.c:
6274         * gst/gstbin.*:
6275         * gst/config.h.in:
6276         * gst/gstelement.*:
6277         * gst/gstevent.h:
6278         * gst/gstobject.*:
6279         * gst/gstpad.h:
6280         * tools/gst-register.c:
6281         * win32/gstreamer.def:
6282           extern symbols are now exported for the Windows DLL
6283
6284 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6285
6286         * gst/gstinfo.h:
6287           fix a problem to enable/disable DEBUG under MSVC
6288
6289 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6290
6291         * win32/:
6292           enable more debug code in DEBUG build
6293
6294 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6295
6296         * win32/config.h:
6297         * gst/gst-i18n-app.h:
6298           enable NLS under Windows
6299
6300 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
6301         * tools/gst-compprep.c: (handle_xmlerror), (main):
6302           Make an error that baffled me a bit clearer
6303
6304 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6305
6306         * gst/gstqueue.c:
6307           don't use g_queue_get_length () because it's 2.4, use ->length
6308
6309 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
6310
6311         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
6312
6313         * tools/gst-inspect.c: (print_signal_info):
6314           don't free random data twice. (fixes #144185)
6315
6316 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6317
6318         * gst/gstqueue.c:
6319         * gst/gstqueue.h:
6320           fix removing from the wrong queue on event timeout
6321           fix disposing of the event queue by casting correctly
6322           add mutexes for handling the event queue
6323           someone was sleeping when fixing queue last time around :)
6324
6325 2004-06-10  Johan Dahlin  <johan@gnome.org>
6326
6327         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
6328         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
6329
6330 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6331
6332         * docs/random/gdp:
6333         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
6334         * libs/gst/dataprotocol/dataprotocol.c:
6335         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6336         (gst_dp_buffer_from_header):
6337         * libs/gst/dataprotocol/dataprotocol.h:
6338         * libs/gst/dataprotocol/dp-private.h:
6339           rev version to 0.1, add buffer flags and copy them
6340
6341 2004-06-09  Johan Dahlin  <johan@gnome.org>
6342
6343         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
6344         the flags from the buffer we're copying.
6345
6346 2004-06-09  Wim Taymans  <wim@fluendo.com>
6347
6348         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
6349         * gst/elements/gstidentity.c: (gst_identity_init),
6350         (gst_identity_chain):
6351         Print more buffer info in fakesink.
6352         Make identity output similar to fakesink.
6353
6354 2004-06-07  Daniel Gazard  <dany42@free.fr>
6355
6356         reviewed by Benjamin Otte  <otte@gnome.org>
6357
6358         * configure.ac:
6359           fix cross compiling not working. (fixes #143741)
6360
6361 2004-06-07  Benjamin Otte  <otte@gnome.org>
6362
6363         * gst/gstelement.c: (gst_element_set_time_delay):
6364           add failure check
6365         * gst/gstinfo.h:
6366           put brackets around macro arguments of GST_TIME_ARGS, add note to
6367           move it to correct header in 0.9
6368
6369 2004-06-07  Benjamin Otte  <otte@gnome.org>
6370
6371         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
6372         (gst_file_index_load), (_file_index_id_save_entries),
6373         (gst_file_index_commit), (gst_file_index_add_association),
6374         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
6375         (gst_file_index_plugin_init):
6376           make debugging use a default category
6377
6378 2004-06-06  David Moore  <dcm@acm.org>
6379
6380         reviewed by Benjamin Otte  <otte@gnome.org>
6381
6382         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6383         (gst_fdsrc_change_state):
6384           reset offset counter when going READY => PAUSED. (fixes #142903)
6385
6386 2004-06-06  ed@catmur.co.uk
6387
6388         reviewed by Benjamin Otte  <otte@gnome.org>
6389
6390         * gst/registries/gstxmlregistry.c:
6391         (gst_xml_registry_rebuild_recurse):
6392           don't rely on g_dir_open to figure out if a file is a directory, use
6393           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
6394           directories. (fixes #142850)
6395
6396 2004-06-06  Benjamin Otte  <otte@gnome.org>
6397
6398         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
6399           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
6400         * libs/gst/bytestream/adapter.c:
6401         * libs/gst/bytestream/adapter.h:
6402           fix copyright in header and typo in debugging category name
6403
6404 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6405
6406         * configure.ac:
6407           bump nano to cvs
6408
6409 === release 0.8.3 ===
6410
6411 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6412
6413         * configure.ac:
6414           update libtool versioning
6415           do a new release
6416         * docs/gst/tmpl/gstelement.sgml:
6417         * docs/gst/tmpl/gsttypes.sgml:
6418         * gst/gstinfo.c: (_gst_debug_init):
6419           put back GST_CAT_DATAFLOW to fix API breakage
6420
6421 2004-06-04  David Schleef  <ds@schleef.org>
6422
6423         * autogen.sh: Add a temporary 'env' to test buildbot problems.
6424
6425 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6426
6427         * configure.ac:
6428           bump nano to cvs
6429
6430 === release 0.8.2 ===
6431
6432 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6433
6434         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
6435           check GST_DEBUG environment variable which is parsed the same way
6436           as --gst-debug=
6437
6438 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6439
6440         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
6441                             gstmd5sink.c gstshaper.c gsttee.c
6442                             gsttypefindelement.c
6443         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
6444
6445           - removing trailing commas at end of enums
6446             it is correct C99 code but C90 compilers would complain
6447             (AIX, Forte, ...)
6448             ('should' fix #143290, at least partially)
6449
6450 2004-05-27  Wim Taymans  <wim@fluendo.com>
6451
6452         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
6453         (chain_group_set_enabled), (create_group), (add_to_group),
6454         (merge_groups), (setup_group_scheduler), (group_elements),
6455         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
6456         Don't try to follow the pad connections with other groups
6457         when a loop based element is added to the scheduler because
6458         the bin will inform the scheduler about the pad links a little
6459         later.
6460
6461 2004-05-27  Wim Taymans  <wim@fluendo.com>
6462
6463         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6464         (remove_from_chain), (chain_group_set_enabled),
6465         (setup_group_scheduler), (group_element_set_enabled),
6466         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
6467         (gst_opt_scheduler_show):
6468         Elements without a group can do a state change as well, just wait
6469         with the setup of the scheduling function when it is added to a
6470         chain.
6471
6472 2004-05-27  Wim Taymans  <wim@fluendo.com>
6473
6474         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6475         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
6476         (merge_groups), (setup_group_scheduler),
6477         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
6478         (gst_opt_scheduler_show):
6479         Fixes to maintain internal consistency of the scheduler data
6480         structures. 
6481          - adding an enabled group to a chain should increment the
6482            number of enabled elements in that chain.
6483          - removing an enabled group from a chain could disable the
6484            chain.
6485          - removing a disabled group from a chain could enable the
6486            chain.
6487          - add g_assert when internal inconsistency is detected.
6488          - adding an element to a group could increase the number of
6489            links this group has with other groups.
6490          - merging two groups also merges the chains.
6491          - also show group links in the _show method.
6492            
6493
6494 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6495
6496         * gst/gstcaps.c: (gst_caps_structure_simplify):
6497           don't print error messages when there is no error
6498         * gst/gstvalue.c: (gst_value_compare_int_range):
6499           compare the second value, too
6500         * testsuite/caps/Makefile.am:
6501         * testsuite/caps/random.c: (assert_on_error), (main):
6502           add tests to make sure the two things above are checked for
6503
6504 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6505
6506         * configure.ac:
6507         * libs/gst/dataprotocol/Makefile.am:
6508         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
6509         * libs/gst/dataprotocol/dataprotocol.h:
6510           wrap header in GST_ENABLE_NEW.  make code use it
6511
6512 2004-05-23  Johan Dahlin  <johan@gnome.org>
6513
6514         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
6515         so verbose and print GstElement signal names all the time.
6516
6517 2004-05-22  David Schleef  <ds@schleef.org>
6518
6519         * gst/registries/gstxmlregistry.c:
6520         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
6521         (bug #142957)
6522
6523 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6524
6525         * configure.ac:
6526           scrub cflags for glib2 so gcc doesn't complain when glib is in
6527           /usr/local
6528
6529 2004-05-21  Johan Dahlin  <johan@gnome.org>
6530
6531         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
6532         __GNUC__, patch from Brian Cameron, fixes bug #142804
6533
6534 2004-05-20  David Schleef  <ds@schleef.org>
6535
6536         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
6537         comparison code.  (bug #142819)
6538
6539 2004-05-20  Wim Taymans  <wim@fluendo.com>
6540
6541         * gst/gstbuffer.c: (gst_buffer_default_copy):
6542         * gst/gstbuffer.h:
6543         Added Comment to a flag.
6544         copy relevant flags in _buffer_copy.
6545
6546 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6547
6548         reviewed by: Wim Taymans <wim at fluendo dot com>
6549
6550         * gst/gstbuffer.h:
6551           add GST_BUFFER_IN_CAPS buffer flag
6552         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6553         (gst_structure_parse_any_list), (gst_structure_parse_list),
6554         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
6555         * gst/gstvalue.c: (gst_value_serialize_any_list),
6556         (gst_value_transform_any_list_string),
6557         (gst_value_list_prepend_value), (gst_value_list_append_value),
6558         (gst_value_list_get_size), (gst_value_list_get_value),
6559         (gst_value_transform_list_string),
6560         (gst_value_transform_fixed_list_string),
6561         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
6562         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
6563         (_gst_value_initialize):
6564         * gst/gstvalue.h:
6565           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
6566           < , > as a format.
6567         * testsuite/caps/string-conversions.c: (main):
6568           add regression tests for < >
6569
6570 2004-05-20  Johan Dahlin  <johan@gnome.org>
6571
6572         * docs/gst/Makefile.am (all-local): Re-add
6573
6574 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6575
6576         * docs/gst/Makefile.am:
6577         * docs/gst/gstreamer-docs.sgml:
6578         * docs/libs/Makefile.am:
6579         * docs/libs/gstreamer-libs-docs.sgml:
6580           fix distcheck issues
6581
6582 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6583
6584         * libs/gst/dataprotocol/Makefile.am:
6585           add to autotest
6586
6587 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6588
6589         * libs/gst/dataprotocol/Makefile.am:
6590         * libs/gst/dataprotocol/dataprotocol.c:
6591         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6592         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
6593         * libs/gst/dataprotocol/dp-private.h:
6594           use GST macros to read/write fixed length ints
6595           add some more asserts
6596
6597 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6598
6599         * docs/libs/gstreamer-libs-docs.sgml:
6600         * docs/libs/gstreamer-libs-sections.txt:
6601           remove idct and putbits
6602         * configure.ac:
6603         * docs/libs/tmpl/gstdataprotocol.sgml:
6604         * libs/gst/Makefile.am:
6605         * libs/gst/dataprotocol/Makefile.am:
6606         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
6607         (buffer_test), (caps_test), (event_test), (main):
6608         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6609         (gst_dp_dump_byte_array), (gst_dp_init),
6610         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
6611         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6612         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
6613         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
6614         (gst_dp_validate_header), (gst_dp_validate_payload),
6615         (gst_dp_validate_packet), (plugin_init):
6616         * libs/gst/dataprotocol/dataprotocol.h:
6617         * libs/gst/dataprotocol/dp-private.h:
6618           add dataprotocol
6619
6620 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6621
6622         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6623           fix int variable deserialization and add a helper so we can actually
6624           debug this.
6625
6626 2004-05-18  David Schleef  <ds@schleef.org>
6627
6628         * testsuite/debug/commandline.c: (main): Call ./commandline, not
6629           argv[0].  Calling yourself is probably not the best way to
6630           construct a test like this, btw.
6631
6632 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6633
6634         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
6635           don't claim to be more intelligent than a scheduler when the
6636           scheduler claims the pipeline is stopped
6637         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
6638         (safe_cothread_destroy),
6639         (gst_entry_scheduler_remove_all_cothreads),
6640         (gst_entry_scheduler_reset), (_remove_cothread),
6641         (gst_entry_scheduler_state_transition):
6642           hold off cothread destruction if we're not in main cothread
6643         * configure.ac:
6644         * testsuite/Makefile.am:
6645           add new test dir
6646         * testsuite/schedulers/.cvsignore:
6647         * testsuite/schedulers/Makefile.am:
6648           add tests
6649         * testsuite/schedulers/relink.c: (cb_handoff), (main):
6650           check relinking and adding/removing elements from a running pipeline
6651         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
6652           check unlinking in a running pipeline
6653         * testsuite/schedulers/unref.c: (cb_handoff), (main):
6654           check unreffing a running pipeline
6655         * testsuite/schedulers/useless_iteration.c: (main):
6656           check iterating a pipeline that contains running threads works
6657
6658 2004-05-18  David Schleef  <ds@schleef.org>
6659
6660         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
6661           is false.
6662
6663 2004-05-18  Wim Taymans  <wim@fluendo.com>
6664
6665         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6666         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
6667         Fixed an error introduced with patch for 1.63. When setting
6668         a get based element as the entry point in a group, make sure
6669         to mark the group as GET based.
6670
6671 2004-05-18  Wim Taymans  <wim@fluendo.com>
6672
6673         * gst/schedulers/gstoptimalscheduler.c: (create_group),
6674         (setup_group_scheduler), (loop_group_schedule_function),
6675         (gst_opt_scheduler_pad_link):
6676         Added some more debug info and fixed a bug where the group
6677         type was set to LOOP but it was in fact unknown.
6678
6679 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6680
6681         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
6682           make resetting scheduler work twice in a row
6683
6684 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6685
6686         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
6687         (CREATE_USERIALIZATION), (_gst_value_initialize),
6688         (gst_value_compare_float), (gst_value_serialize_float),
6689         (gst_value_deserialize_float), (gst_value_compare_enum),
6690         (gst_value_serialize_enum), (gst_value_deserialize_enum):
6691           add serialization and comparison functions for long, int64, enum and
6692           float values
6693         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
6694           use best serialization function in type hierarchy instead of only a
6695           matching one. This is required for enums to work.
6696         * gst/parse/grammar.y:
6697           use gst_caps_deserialize
6698         * testsuite/parse/Makefile.am:
6699           parse1 now works
6700         * testsuite/parse/parse1.c: (main):
6701           remove aggregator check, aggregator is broken, this test works now
6702           but fails because of bug #138012
6703         * testsuite/parse/parse2.c: (main):
6704           s/xvideosink/xvimagesink - this test looks a lot like we should
6705           disable it
6706
6707 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6708
6709         * gst/gstelement.c: (gst_element_class_init):
6710           whoops, store the signal id correctly
6711         * gst/schedulers/gstbasicscheduler.c:
6712         (gst_basic_scheduler_chain_wrapper):
6713           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
6714           chain function isn't linked
6715
6716 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
6717         * configure.ac:
6718         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
6719         support until we decide where the flags should be used
6720         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
6721         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
6722         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6723         Output refused caps in the debug info
6724
6725 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6726
6727         * gst/elements/gstidentity.c: (gst_identity_chain):
6728           add duration debug
6729         * gst/gstinfo.c: (gst_debug_log_default):
6730           add timestamp
6731
6732 2004-05-13  Benjamin Otte  <otte@gnome.org>
6733
6734         * gst/gstpipeline.c: (gst_pipeline_dispose),
6735         (gst_pipeline_change_state):
6736           call gst_scheduler_reset on dispose (fixes #141416)
6737
6738 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6739
6740         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6741           compute mapsize correctly
6742         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6743           use correct datatypes when calling a varargs function
6744         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6745           push a DISCONT event as first thing
6746         * gst/gst_private.h:
6747         * gst/gstinfo.c: (_gst_debug_init):
6748           remove GST_DATAFLOW debugging category
6749         * gst/gstbin.c: (gst_bin_iterate):
6750           use GST_SCHEDULING category
6751         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
6752         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
6753         (gst_pad_call_get_function):
6754           add GST_DATAFLOW to easily track flow of buffers or events.
6755         * gst/gstqueue.c: (gst_queue_get_type),
6756         (gst_queue_handle_pending_events), (gst_queue_chain),
6757         (gst_queue_get), (gst_queue_handle_src_event):
6758           use own static debugging category GST_DATAFLOW for dataflow,
6759           use DEBUG category for showing which path events go, use LOG
6760           category for buffers.
6761
6762 2004-05-10  David Schleef  <ds@schleef.org>
6763
6764         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
6765
6766 2004-05-10  David Schleef  <ds@schleef.org>
6767
6768         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
6769         symbols, because otherwise we don't know what they are.  Thanks,
6770         the GStreamer team.
6771         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
6772
6773 2004-05-10  David Schleef  <ds@schleef.org>
6774
6775         (from Steve Lhomme)
6776         * win32/Makefile: When using make clean the MS Visual Studio makefiles
6777         are deleted.  Fix.
6778         * win32/Makefile.inspect:
6779         * win32/Makefile.launch:
6780         * win32/Makefile.register:
6781
6782 2004-05-10  David Schleef  <ds@schleef.org>
6783
6784         * gst/gstinfo.h: Add missing inline function.
6785         * gst/gsttrace.c: add include
6786         * gst/parse/grammar.y: remove unused code
6787         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
6788         more portable.
6789         * tools/gst-register.c: wrap unistd.h
6790         
6791         More additions/fixes from Steve for the MSVC build.
6792         * win32/GStreamer.vcproj:
6793         * win32/Makefile:
6794         * win32/Makefile.inspect:
6795         * win32/Makefile.launch:
6796         * win32/Makefile.register:
6797         * win32/README.txt:
6798         * win32/gst-inspect.vcproj:
6799         * win32/gst-launch.vcproj:
6800         * win32/gst-register.vcproj:
6801         * win32/gstbytestream.def:
6802         * win32/gstbytestream.vcproj:
6803         * win32/gstconfig.h:
6804         * win32/gstelements.def:
6805         * win32/gstelements.vcproj:
6806         * win32/gstenumtypes.c:
6807         * win32/gstenumtypes.h:
6808         * win32/gstoptimalscheduler.def:
6809         * win32/gstoptimalscheduler.vcproj:
6810         * win32/gstreamer.def:
6811         * win32/gstspider.def:
6812         * win32/gstspider.vcproj:
6813         * win32/gstversion.h:
6814         * win32/msvc71.sln:
6815
6816 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6817
6818         * gst/gstelement.c: (gst_element_class_init),
6819         (gst_element_no_more_pads):
6820         * gst/gstelement.h:
6821           add gst_element_no_more_pads and the "no-more-pads" signal
6822
6823 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6824
6825         * gst/gstregistry.c: (gst_registry_add_plugin):
6826           refuse to add plugins when a plugin with same name is already
6827           registered. Fixes a bunch of "How to remove plugins?" issues.
6828           May lead to other problems though, let's test
6829
6830 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6831
6832         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
6833         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
6834         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
6835
6836 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6837
6838         * tests/Makefile.am: fix am16 issue
6839
6840 2004-05-09  Benjamin Otte  <otte@gnome.org>
6841
6842         * libs/gst/bytestream/Makefile.am:
6843           we should indeed add .c files to makefiles or they won't be built
6844           (d'oh)
6845
6846 2004-05-08  Benjamin Otte  <otte@gnome.org>
6847
6848         * gst/gstpad.c: (gst_pad_proxy_fixate):
6849           really reduce the set of caps
6850
6851 2004-05-08  Benjamin Otte  <otte@gnome.org>
6852
6853         * tests/Makefile.am:
6854         * tests/spidey_bench.c: (handoff), (main):
6855           add benchmark to test how long spider needs to create a pipeline
6856
6857 2004-05-08  Benjamin Otte  <otte@gnome.org>
6858
6859         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
6860           mark links as unengaged when unnegotiating instead of deactivating.
6861           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
6862
6863 2004-05-08  Benjamin Otte  <otte@gnome.org>
6864
6865         * docs/manual/helloworld.xml:
6866           s/audiosink/osssink (patch by Patrick Guimond)
6867
6868 2004-05-07  David Schleef  <ds@schleef.org>
6869
6870         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
6871         since it contains important stuff.
6872
6873 2004-05-07  David Schleef  <ds@schleef.org>
6874
6875         * testsuite/caps/caps.c: (test3), (main): A check for appending
6876         ANY caps.
6877
6878 2004-05-07  David Schleef  <ds@schleef.org>
6879
6880         * common/m4/as-compiler-flag.m4: Properly quote arguments,
6881         which may contain commas.  Fixes detection of -Wa,-mregnames
6882
6883 2004-05-06  David Schleef  <ds@schleef.org>
6884
6885         Changes to handle compilers that don't have variadic macro
6886         support.  In particular, glib headers define some inlines
6887         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
6888         builds.
6889         * gst/Makefile.am:
6890         * gst/cothreads.c:
6891         * gst/elements/gstfdsink.c:
6892         * gst/elements/gstfdsrc.c:
6893         * gst/elements/gstfilesink.c:
6894         * gst/elements/gstfilesrc.c:
6895         * gst/gst_private.h:
6896         * gst/gstatomic.c:
6897         * gst/gstcaps.c: (gst_caps_append):
6898         * gst/gstcpu.c: (gst_cpuid_i386):
6899         * gst/gstelement.c:
6900         * gst/gsterror.c:
6901         * gst/gstfilter.c:
6902         * gst/gstinfo.h:
6903         * gst/gstprobe.c:
6904         * gst/gstquery.c:
6905         * gst/gstregistry.c:
6906         * gst/gststructure.c:
6907         * gst/gsttaginterface.c:
6908         * gst/gsttrace.c: (gst_trace_new):
6909         * gst/gsttrashstack.c:
6910         * gst/gsturi.c:
6911         * gst/gstvalue.c:
6912         * gst/parse/grammar.y:
6913         * gst/parse/parse.l:
6914         * tools/gst-inspect.c: (main):
6915         * tools/gst-launch.c: (main):
6916         * tools/gst-xmlinspect.c: (PUT_STRING):
6917
6918 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6919
6920         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
6921         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
6922         * gst/elements/gstfilesrc.h:
6923           send NEW_MEDIA events correctly
6924         * gst/elements/gsttypefindelement.c: (start_typefinding),
6925         (gst_type_find_element_handle_event):
6926           restart typefinding when we get a NEW_MEDIA event
6927         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
6928         (gst_bin_dispose):
6929           don't die when someone removes elements in callbacks
6930         * gst/gstelement.c: (gst_element_change_state):
6931           improve debugging
6932         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
6933           we need a NEW_MEDIA event to engage a link
6934         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
6935           don't g_print debugging stuff
6936         * testsuite/caps/simplify.c: (check_caps):
6937
6938 2004-05-04  Benjamin Otte  <otte@gnome.org>
6939
6940         * gst/parse/grammar.y:
6941           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
6942
6943 2004-05-04  Benjamin Otte  <otte@gnome.org>
6944
6945         * testsuite/caps/renegotiate.c: (main):
6946           improve output in error case
6947
6948 2004-05-04  Benjamin Otte  <otte@gnome.org>
6949
6950         * gst/parse/grammar.y:
6951           fix assert to not trigger when there's no error argument
6952         * gst/parse/parse.l:
6953           fix definition of caps to allow more than two structures
6954         * testsuite/caps/Makefile.am:
6955         * testsuite/caps/renegotiate.c: (main):
6956           it's sinesrc and works in that case
6957
6958 2004-05-04  Wim Taymans  <wim@fluendo.com>
6959
6960         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6961         (group_dec_link), (gst_opt_scheduler_pad_unlink):
6962         when removing an element from a group, we always need to
6963         decrement the link count that this group had with other 
6964         groups through the element.
6965         added an extra assert to catch inconsistencies when decrementing
6966         the link count.
6967
6968 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6969
6970         * configure.ac:
6971         * docs/gst/Makefile.am:
6972         * docs/gst/gstreamer-sections.txt:
6973         * docs/gst/tmpl/gstcompat.sgml:
6974         * examples/appreader/Makefile.am:
6975         * examples/cutter/Makefile.am:
6976         * examples/events/Makefile.am:
6977         * examples/helloworld/Makefile.am:
6978         * examples/helloworld2/Makefile.am:
6979         * examples/launch/Makefile.am:
6980         * examples/manual/Makefile.am:
6981         * examples/mixer/Makefile.am:
6982         * examples/pingpong/Makefile.am:
6983         * examples/plugins/Makefile.am:
6984         * examples/queue/Makefile.am:
6985         * examples/queue2/Makefile.am:
6986         * examples/queue3/Makefile.am:
6987         * examples/queue4/Makefile.am:
6988         * examples/retag/Makefile.am:
6989         * examples/thread/Makefile.am:
6990         * examples/typefind/Makefile.am:
6991         * examples/xml/Makefile.am:
6992         * gst/Makefile.am:
6993         * gst/autoplug/Makefile.am:
6994         * gst/elements/Makefile.am:
6995         * gst/gstcompat.h:
6996         * gst/indexers/Makefile.am:
6997         * gst/parse/Makefile.am:
6998         * gst/registries/Makefile.am:
6999         * gst/schedulers/Makefile.am:
7000         * libs/gst/bytestream/Makefile.am:
7001         * libs/gst/control/Makefile.am:
7002         * libs/gst/getbits/Makefile.am:
7003         * po/af.po:
7004         * po/az.po:
7005         * po/en_GB.po:
7006         * po/fr.po:
7007         * po/nl.po:
7008         * po/sr.po:
7009         * po/sv.po:
7010         * po/tr.po:
7011         * po/uk.po:
7012         * tests/Makefile.am:
7013         * tests/bufspeed/Makefile.am:
7014         * tests/instantiate/Makefile.am:
7015         * tests/memchunk/Makefile.am:
7016         * tests/muxing/Makefile.am:
7017         * tests/negotiation/Makefile.am:
7018         * tests/probes/Makefile.am:
7019         * tests/sched/Makefile.am:
7020         * tests/seeking/Makefile.am:
7021         * tests/threadstate/Makefile.am:
7022         * testsuite/caps/Makefile.am:
7023         * testsuite/cleanup/Makefile.am:
7024         * testsuite/dlopen/Makefile.am:
7025         * testsuite/dynparams/Makefile.am:
7026         * testsuite/plugin/Makefile.am:
7027         * testsuite/states/Makefile.am:
7028         * tools/Makefile.am:
7029           reorganize compile/link flags to be consistent
7030           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
7031
7032 2004-05-04  David Schleef  <ds@schleef.org>
7033
7034         The "once more, with feeling" check-in.
7035         * testsuite/caps/Makefile.am: dist caps_strings
7036         * testsuite/caps/renegotiate.c: (main): This test triggers a
7037           segfault in the core.  Marking as failing.
7038
7039 2004-05-03  David Schleef  <ds@schleef.org>
7040
7041         * testsuite/caps/deserialize.c: (main): Fix problems noticed
7042           by the build bots.
7043         * testsuite/caps/renegotiate.c: (main): Same.
7044
7045 2004-05-03  David Schleef  <ds@schleef.org>
7046
7047         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
7048
7049 2004-05-03  David Schleef  <ds@schleef.org>
7050
7051         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
7052           variable to find our source file.
7053
7054 2004-05-03  David Schleef  <ds@schleef.org>
7055
7056         * configure.ac:  Link plugins with libgstreamer and dependent
7057           libraries
7058         * testsuite/caps/Makefile.am:
7059         * testsuite/caps/caps_strings:
7060         * testsuite/caps/deserialize.c: (main): Add a little test to slog
7061           through a file of caps strings and test each one
7062
7063 2004-05-04  Benjamin Otte  <otte@gnome.org>
7064
7065         * libs/gst/bytestream/Makefile.am:
7066         * libs/gst/bytestream/adapter.c: 
7067         * libs/gst/bytestream/adapter.h:
7068           add GstAdapter, similar to bytestream, but doesn't require ugly event
7069           handling or uglier loopbased elements
7070
7071 2004-05-03  David Schleef  <ds@schleef.org>
7072
7073         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
7074         * testsuite/caps/erathostenes.c:
7075         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
7076
7077 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7078
7079         * docs/pwg/pwg.xml:
7080           remove hardcoded stylesheet path (duh)
7081         * docs/random/release:
7082         * docs/gst/gstreamer-sections.txt:
7083         * gst/Makefile.am:
7084         * gst/gst.h:
7085         * gst/gst_private.h:
7086         * gst/gstcaps.c:
7087         * gst/gstevent.c:
7088         * gst/gstformat.c:
7089         * gst/gstinfo.c:
7090         * gst/gstinfo.h:
7091         * gst/gstinterface.c:
7092         * gst/gstmemchunk.c:
7093         * gst/gstprobe.c:
7094         * gst/gstquery.c:
7095         * gst/gstregistry.c:
7096         * gst/gstregistrypool.c:
7097         * gst/gststructure.c:
7098         * gst/gsttaginterface.c:
7099         * gst/gstthread.c:
7100         * gst/gsttrace.c:
7101         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
7102         * gst/gsturi.c:
7103         * gst/gstvalue.c:
7104           deprecate gst_info; remove gstlog.h
7105    
7106
7107 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7108
7109         * Makefile.am:
7110         * po/en_GB.po:
7111         * po/sv.po:
7112         * po/uk.po:
7113           updated translations
7114
7115 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7116
7117         * gst/gstbin.c: (gst_bin_dispose):
7118           better debugging
7119
7120 2004-05-03  Johan Dahlin  <johan@gnome.org>
7121
7122         * gst/schedulers/gstoptimalscheduler.c
7123         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
7124         really is a GstElement. Avoids critical when running gst-launch -v
7125         and a oggdemux/decoding pipeline.
7126
7127 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7128
7129         * docs/gst/tmpl/gstpipeline.sgml :
7130         * docs/manual/elements-api.xml :
7131                 doc fix by Patrick Guimond (Protector) from devel ML
7132                 reviewed by ronald
7133
7134 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7135
7136         * docs/gst/Makefile.am :
7137         * docs/libs/Makefile.am :
7138                 apply a patch from Arwed v. Merkatz so that gtk-doc
7139                 generated docs install (same for .devhelp file)
7140                 (fixes part 1 of #138836)
7141
7142 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7143
7144         * docs/faq/dependencies.xml: typo
7145         * docs/faq/getting.xml :
7146             - fix download URL for new gstreamer site
7147             - hide sf.net download page as latest version aren't there
7148             - fix apt URLs
7149             - fill "get via CVS" paragraph (link to dev page on the site)
7150         * docs/faq/general.xml:
7151             hide status tables as they no more exists
7152             change case on plugins license file to reflect reality
7153         * docs/faq/troubleshooting.xml:
7154             remove the wiki question/answer as there is no more wiki
7155
7156 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7157
7158         * gst/gsterror.h:
7159           include the headers needed for declarations used in this header
7160
7161 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7162
7163         * docs/random/uraeus/gstreamer_and_midi.txt :
7164           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
7165           (fixes #132288)
7166
7167 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
7168
7169         reviewed by Benjamin Otte  <otte@gnome.org>
7170
7171         * gst/schedulers/gthread-cothreads.h:
7172           free allocated data for main cothread, too when destroying context
7173           (fixes #141417)
7174
7175 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7176
7177         * docs/manual/goals.xml : remove duplicated paragraph at end 
7178         of doc page (fixes #141448)
7179
7180 2004-04-29  David Schleef  <ds@schleef.org>
7181
7182         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7183         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
7184
7185 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7186
7187         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7188           fix property
7189         * gst/gstcaps.c:
7190           fix doc string
7191         * po/POTFILES.in:
7192           rename typefind source file
7193
7194 2004-04-28  David Schleef  <ds@schleef.org>
7195
7196         Several new files from Steve Lhomme's MSVC patch (bug #141317):
7197         * win32/GStreamer.vcproj:
7198         * win32/Makefile:
7199         * win32/config.h:
7200         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7201         (_trewinddir), (_ttelldir), (_tseekdir):
7202         * win32/dirent.h:
7203         * win32/gst-inspect.vcproj:
7204         * win32/gst-launch.vcproj:
7205         * win32/gst-register.vcproj:
7206         * win32/gstbytestream.vcproj:
7207         * win32/gstelements.vcproj:
7208         * win32/gstoptimalscheduler.vcproj:
7209         * win32/gstspider.vcproj:
7210         * win32/gtchar.h:
7211         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
7212         * win32/mman.h:
7213         * win32/mman.inl:
7214         * win32/msvc71.sln:
7215
7216 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7217
7218         * gst/gst.c: (init_post):
7219         * gst/gstinfo.c:
7220           remove useless _gst_progname stuff
7221         * tools/gst-inspect.c: (print_field), (print_caps):
7222           improve caps output
7223
7224 2004-04-28  David Schleef  <ds@schleef.org>
7225
7226         Disable parsing of a lot of files that aren't part of the
7227         exported API.  Move corresponding template files to old/,
7228         waiting for removal when they don't contain anything
7229         interesting.
7230         * docs/gst/Makefile.am:
7231         * docs/gst/gstreamer-sections.txt:
7232         * docs/gst/tmpl/cothreads.sgml:
7233         * docs/gst/tmpl/cothreads_compat.sgml:
7234         * docs/gst/tmpl/gettext.sgml:
7235         * docs/gst/tmpl/gobject2gtk.sgml:
7236         * docs/gst/tmpl/grammar.tab.sgml:
7237         * docs/gst/tmpl/gst-i18n-app.sgml:
7238         * docs/gst/tmpl/gst-i18n-lib.sgml:
7239         * docs/gst/tmpl/gst_private.sgml:
7240         * docs/gst/tmpl/gstaggregator.sgml:
7241         * docs/gst/tmpl/gstarch.sgml:
7242         * docs/gst/tmpl/gstatomic_impl.sgml:
7243         * docs/gst/tmpl/gstbufferstore.sgml:
7244         * docs/gst/tmpl/gstdata_private.sgml:
7245         * docs/gst/tmpl/gstdisksink.sgml:
7246         * docs/gst/tmpl/gstdisksrc.sgml:
7247         * docs/gst/tmpl/gstelementfactory.sgml:
7248         * docs/gst/tmpl/gstextratypes.sgml:
7249         * docs/gst/tmpl/gstfakesink.sgml:
7250         * docs/gst/tmpl/gstfakesrc.sgml:
7251         * docs/gst/tmpl/gstfdsink.sgml:
7252         * docs/gst/tmpl/gstfdsrc.sgml:
7253         * docs/gst/tmpl/gstfilesink.sgml:
7254         * docs/gst/tmpl/gstfilesrc.sgml:
7255         * docs/gst/tmpl/gsthttpsrc.sgml:
7256         * docs/gst/tmpl/gstidentity.sgml:
7257         * docs/gst/tmpl/gstindexfactory.sgml:
7258         * docs/gst/tmpl/gstmarshal.sgml:
7259         * docs/gst/tmpl/gstmd5sink.sgml:
7260         * docs/gst/tmpl/gstmultidisksrc.sgml:
7261         * docs/gst/tmpl/gstmultifilesrc.sgml:
7262         * docs/gst/tmpl/gstpadtemplate.sgml:
7263         * docs/gst/tmpl/gstpipefilter.sgml:
7264         * docs/gst/tmpl/gstschedulerfactory.sgml:
7265         * docs/gst/tmpl/gstsearchfuncs.sgml:
7266         * docs/gst/tmpl/gstshaper.sgml:
7267         * docs/gst/tmpl/gstspider.sgml:
7268         * docs/gst/tmpl/gstspideridentity.sgml:
7269         * docs/gst/tmpl/gststatistics.sgml:
7270         * docs/gst/tmpl/gsttee.sgml:
7271         * docs/gst/tmpl/gsttimecache.sgml:
7272         * docs/gst/tmpl/gsttypefind.sgml:
7273         * docs/gst/tmpl/gsttypefindfactory.sgml:
7274         * docs/gst/tmpl/gstxmlregistry.sgml:
7275         * docs/gst/tmpl/gthread-cothreads.sgml:
7276         * docs/gst/tmpl/old/cothreads.sgml:
7277         * docs/gst/tmpl/old/cothreads_compat.sgml:
7278         * docs/gst/tmpl/old/gettext.sgml:
7279         * docs/gst/tmpl/old/gobject2gtk.sgml:
7280         * docs/gst/tmpl/old/grammar.tab.sgml:
7281         * docs/gst/tmpl/old/gst-i18n-app.sgml:
7282         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7283         * docs/gst/tmpl/old/gst_private.sgml:
7284         * docs/gst/tmpl/old/gstaggregator.sgml:
7285         * docs/gst/tmpl/old/gstarch.sgml:
7286         * docs/gst/tmpl/old/gstatomic_impl.sgml:
7287         * docs/gst/tmpl/old/gstbufferstore.sgml:
7288         * docs/gst/tmpl/old/gstdata_private.sgml:
7289         * docs/gst/tmpl/old/gstdisksink.sgml:
7290         * docs/gst/tmpl/old/gstdisksrc.sgml:
7291         * docs/gst/tmpl/old/gstelementfactory.sgml:
7292         * docs/gst/tmpl/old/gstextratypes.sgml:
7293         * docs/gst/tmpl/old/gstfakesink.sgml:
7294         * docs/gst/tmpl/old/gstfakesrc.sgml:
7295         * docs/gst/tmpl/old/gstfdsink.sgml:
7296         * docs/gst/tmpl/old/gstfdsrc.sgml:
7297         * docs/gst/tmpl/old/gstfilesink.sgml:
7298         * docs/gst/tmpl/old/gstfilesrc.sgml:
7299         * docs/gst/tmpl/old/gsthttpsrc.sgml:
7300         * docs/gst/tmpl/old/gstidentity.sgml:
7301         * docs/gst/tmpl/old/gstindexfactory.sgml:
7302         * docs/gst/tmpl/old/gstmarshal.sgml:
7303         * docs/gst/tmpl/old/gstmd5sink.sgml:
7304         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7305         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7306         * docs/gst/tmpl/old/gstpadtemplate.sgml:
7307         * docs/gst/tmpl/old/gstpipefilter.sgml:
7308         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7309         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7310         * docs/gst/tmpl/old/gstshaper.sgml:
7311         * docs/gst/tmpl/old/gstspider.sgml:
7312         * docs/gst/tmpl/old/gstspideridentity.sgml:
7313         * docs/gst/tmpl/old/gststatistics.sgml:
7314         * docs/gst/tmpl/old/gsttee.sgml:
7315         * docs/gst/tmpl/old/gsttimecache.sgml:
7316         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7317         * docs/gst/tmpl/old/gstxmlregistry.sgml:
7318         * docs/gst/tmpl/old/gthread-cothreads.sgml:
7319         * docs/gst/tmpl/old/types.sgml:
7320         * docs/gst/tmpl/types.sgml:
7321
7322         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
7323         gtkdoc-scan doesn't like files with the same name in different
7324         directories.
7325         * gst/elements/Makefile.am:
7326         * gst/elements/gstelements.c:
7327         * gst/elements/gsttypefind.c: 
7328         * gst/elements/gsttypefind.h:
7329         * gst/elements/gsttypefindelement.c:
7330         * gst/elements/gsttypefindelement.h:
7331
7332 2004-04-28  David Schleef  <ds@schleef.org>
7333
7334         A bunch of portability fixes, derived from Steve Lhomme's MSVC
7335         patch (bug #141317):
7336         * gst/gst-i18n-lib.h: Allow disabling gettext.
7337         * gst/gstatomic_impl.h: disable warning when it's dumb.
7338         * gst/gstclock.c: fix include
7339         * gst/gstcompat.h: fix variadic macro
7340         * gst/gstinfo.c: fix include
7341         * gst/gstmacros.h: add defines for inlines on MSVC
7342         * gst/gstplugin.c: fix includes
7343         * gst/gstregistry.c: fix includes
7344         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
7345         * gst/gstsystemclock.c: fix include
7346         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
7347         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
7348         * gst/registries/gstxmlregistry.c:
7349         (gst_xml_registry_parse_element_factory): fix use of non-portable
7350         functions
7351         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
7352         * libs/gst/control/dparammanager.h: same
7353
7354 2004-04-28  David Schleef  <ds@schleef.org>
7355
7356         Move a bunch of unused files to old/ with names that are
7357         not case-insensitive-unique.  These files still contain some
7358         useful information that needs to be merged into gstbin.sgml,
7359         etc., so they shouldn't be deleted yet.
7360         * docs/gst/tmpl/GstBin.sgml:
7361         * docs/gst/tmpl/GstBuffer.sgml:
7362         * docs/gst/tmpl/GstCaps.sgml:
7363         * docs/gst/tmpl/GstClock.sgml:
7364         * docs/gst/tmpl/GstCompat.sgml:
7365         * docs/gst/tmpl/GstData.sgml:
7366         * docs/gst/tmpl/GstElement.sgml:
7367         * docs/gst/tmpl/GstEvent.sgml:
7368         * docs/gst/tmpl/GstIndex.sgml:
7369         * docs/gst/tmpl/GstStructure.sgml:
7370         * docs/gst/tmpl/GstTag.sgml:
7371         * docs/gst/tmpl/old/GstBin.sgml:
7372         * docs/gst/tmpl/old/GstBuffer.sgml:
7373         * docs/gst/tmpl/old/GstCaps.sgml:
7374         * docs/gst/tmpl/old/GstClock.sgml:
7375         * docs/gst/tmpl/old/GstCompat.sgml:
7376         * docs/gst/tmpl/old/GstData.sgml:
7377         * docs/gst/tmpl/old/GstElement.sgml:
7378         * docs/gst/tmpl/old/GstEvent.sgml:
7379         * docs/gst/tmpl/old/GstIndex.sgml:
7380         * docs/gst/tmpl/old/GstStructure.sgml:
7381         * docs/gst/tmpl/old/GstTag.sgml:
7382
7383 2004-04-28  David Schleef  <ds@schleef.org>
7384
7385         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7386         (gst_caps_append), (gst_caps_append_structure),
7387         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
7388         (gst_caps_set_simple), (gst_caps_set_simple_valist),
7389         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
7390         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
7391         (gst_caps_intersect), (gst_caps_normalize),
7392         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
7393         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
7394         * gst/gstcaps.h: use GST_IS_CAPS().
7395
7396 2004-04-26  David Schleef  <ds@schleef.org>
7397
7398         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
7399         assembly.  gcc doesn't handle it correctly. (bug #141083)
7400         * gst/gsttrashstack.h: same
7401
7402 2004-04-25  Benjamin Otte  <otte@gnome.org>
7403
7404         * gst/gstelement.c: (gst_element_change_state):
7405           fix assertion to do an int comparison
7406
7407 2004-04-25  Benjamin Otte  <otte@gnome.org>
7408
7409         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7410           better debugging output on error
7411
7412 2004-04-25  Benjamin Otte  <otte@gnome.org>
7413
7414         * gst/gstcaps.c: (gst_caps_subtract):
7415           fix memleak
7416
7417 2004-04-23  Benjamin Otte  <otte@gnome.org>
7418
7419         * gst/gstvalue.c: (gst_value_compare_buffer),
7420         (_gst_value_initialize):
7421           add comparison function for buffers
7422
7423 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7424
7425         * docs/pwg/pwg.xml:
7426           Just found out that this so-called "ima-wav" format is really
7427           just "dvi adpcm" (according to the MS WAV documentation). So
7428           renaming it. We didn't use it yet anyway.
7429
7430 2004-04-23  Benjamin Otte  <otte@gnome.org>
7431
7432         * gst/gstcaps.c: (gst_caps_is_always_compatible):
7433           call gst_caps_is_subset
7434
7435 2004-04-23  Benjamin Otte  <otte@gnome.org>
7436
7437         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
7438         (gst_caps_is_subset):
7439           add documentation
7440
7441 2004-04-23  Benjamin Otte  <otte@gnome.org>
7442           
7443         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
7444         (gst_caps_structure_subtract), (gst_caps_subtract),
7445         (gst_caps_structure_figure_out_union),
7446         (gst_caps_structure_simplify), (gst_caps_do_simplify):
7447           fix simplifying and subtracting not working correctly with optional
7448           properties
7449           solve assorted problems that make it now simplify ebven more
7450         * docs/gst/tmpl/gstcaps.sgml:
7451         * gst/gstcaps.h:
7452           make gst_caps_do_simplify return a bool to indicate if it simplified
7453         * testsuite/caps/simplify.c: (main):
7454           add more checks. The tests is quite a bit useless right now because
7455           the core is heavily simplifying itself.
7456         * testsuite/caps/caps.h:
7457           fix caps to contain all optional properties
7458
7459 2004-04-22  Benjamin Otte  <otte@gnome.org>
7460
7461         * docs/gst/tmpl/gstcaps.sgml:
7462         * docs/gst/tmpl/gstfilesrc.sgml:
7463         * docs/gst/tmpl/gststructure.sgml:
7464         * docs/gst/tmpl/gstvalue.sgml:
7465           update for recent API changes
7466         * gst/gstcaps.c: (gst_caps_do_simplify):
7467           fix to stop trying with a freed structure
7468         * gst/gstpad.c: (gst_pad_link_fixate):
7469           simplify caps
7470         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
7471           remove C++ comment
7472         * gst/gstpad.h:
7473           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
7474         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7475         (gst_structure_to_string):
7476           keep the correct type when using lists of ranges
7477         * gst/gstvalue.c: (gst_value_list_prepend_value),
7478         (gst_value_list_append_value):
7479           copy the value before adding to the list (d'oh)
7480         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
7481         (gst_value_subtract_int_range_int_range):
7482           handle overflows correctly
7483         * gst/gstvalue.c: (gst_value_subtract_from_list):
7484           fix memleak
7485         * testsuite/caps/caps.h:
7486           add a caps that caused segfaults
7487
7488 2004-04-22  Benjamin Otte  <otte@gnome.org>
7489
7490         * testsuite/refcounting/pad.c: (main):
7491           fix test
7492
7493 2004-04-22  Benjamin Otte  <otte@gnome.org>
7494
7495         * gst/gstcaps.c: (gst_caps_subtract):
7496           allow subtracting ANY and EMPTY from ANY caps
7497
7498 2004-04-22  Benjamin Otte  <otte@gnome.org>
7499
7500         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
7501         (gst_caps_union):
7502           only simplify in functions that create new caps. Simplifying in
7503           gst_caps_append breaks tests.
7504
7505 2004-04-22  Benjamin Otte  <otte@gnome.org>
7506
7507         * gst/gstcaps.c: (gst_caps_structure_simplify):
7508           unset GValue after use
7509         * gst/gstcaps.c: (gst_caps_append), 
7510         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
7511           use gst_caps_simplify (reduces registry size by 30%)
7512         * gst/gstpad.c: (gst_pad_template_new):
7513           don't allow NULL caps
7514
7515 2004-04-22  Benjamin Otte  <otte@gnome.org>
7516
7517         * docs/gst/gstreamer-sections.txt:
7518           add gst_caps_do_simplify
7519         * gst/gstcaps.c:
7520           add documentation for gst_caps_do_simplify
7521         * gst/gstvalue.h:
7522           fix typo in gst_value_register_subtract_func declaration for gst-doc
7523
7524 2004-04-22  Benjamin Otte  <otte@gnome.org>
7525
7526         * gst/gstcaps.c: (gst_caps_from_string_inplace):
7527           fix bug when converting from empty string.
7528         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
7529         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
7530           use gst_caps_new_empty to allocate a new caps. Only that function
7531           allocates memory for caps now.
7532         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
7533         (gst_caps_remove_structure):
7534           add ability to remove one structure (but not to header yet)
7535         * gst/gstcaps.c: (gst_caps_compare_structures),
7536         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
7537         (gst_caps_structure_simplify), (gst_caps_do_simplify),
7538         * gst/gstcaps.h:
7539           add gst_caps_do_simplify that tries to simplify a caps in place.
7540           Deprecate old gst_caps_simplify function.
7541         * testsuite/caps/caps.h:
7542           add caps.h containing a common set of caps to test against.
7543         * testsuite/caps/sets.c: (check_caps), (main):
7544           use it.
7545         * testsuite/caps/.cvsignore:
7546         * testsuite/caps/Makefile.am:
7547         * testsuite/caps/simplify.c: (check_caps), (main):
7548           add test to check correctness and efficency of caps simplification.
7549
7550 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
7551
7552         reviewed by Benjamin Otte  <otte@gnome.org>
7553
7554         * gst/gstparse.c: (_gst_parse_escape):
7555           Free the GString used in _gst_parse_escape()
7556
7557 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7558
7559         * gst/gstpad.c: (gst_pad_link_negotiate):
7560           refuse to link if the link is not possible
7561         * configure.ac:
7562         * testsuite/Makefile.am:
7563         * testsuite/negotiation/.cvsignore:
7564         * testsuite/negotiation/Makefile.am:
7565         * testsuite/negotiation/pad_link.c: (main):
7566           add test that checks the above behaviour
7567
7568 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7569
7570         * docs/gst/gstreamer-sections.txt:
7571           add newly added API
7572
7573 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7574
7575         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
7576         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
7577         (gst_filesrc_open_file), (gst_filesrc_close_file),
7578         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
7579         * gst/elements/gstfilesrc.h:
7580           add support for non-regular files (#140734)
7581
7582 2004-04-21  Benjamin Otte  <otte@gnome.org>
7583
7584         * gst/gstpad.c: (gst_pad_link_fixate):
7585           add sophisticated error checking code to see if fixation functions
7586           did their fixation right
7587
7588 2004-04-21  Benjamin Otte  <otte@gnome.org>
7589
7590         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
7591           check for ANY caps before appending/unioning
7592         * gst/gstcaps.c: (gst_caps_is_subset),
7593         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
7594         (gst_caps_structure_subtract), (gst_caps_subtract):
7595         * gst/gstcaps.h:
7596           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
7597           the API. deprecate gst_caps_is_equal_fixed
7598         * gst/gstpad.c: (gst_pad_try_set_caps):
7599         * gst/gstqueue.c: (gst_queue_link):
7600           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
7601         * gst/gststructure.c: (gst_structure_get_name_id):
7602         * gst/gststructure.h:
7603           add function gst_structure_get_name_id
7604         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
7605         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7606         (gst_value_subtract_int_range_int_range),
7607         (gst_value_subtract_double_double_range),
7608         (gst_value_subtract_double_range_double),
7609         (gst_value_subtract_double_range_double_range),
7610         (gst_value_subtract_from_list), (gst_value_subtract_list),
7611         (gst_value_can_intersect), (gst_value_subtract),
7612         (gst_value_can_subtract), (gst_value_register_subtract_func),
7613         (_gst_value_initialize):
7614         * gst/gstvalue.h:
7615           add support for subtracting values from each other. Note that
7616           subtracting means subtracting as in set theory. Required for caps
7617           stuff above.
7618         * testsuite/caps/.cvsignore:
7619         * testsuite/caps/Makefile.am:
7620         * testsuite/caps/erathostenes.c: (erathostenes), (main):
7621         * testsuite/caps/sets.c: (check_caps), (main):
7622         * testsuite/caps/subtract.c: (check_caps), (main):
7623           add tests for subtraction and equality code.
7624
7625 2004-04-20  David Schleef  <ds@schleef.org>
7626
7627         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
7628         * gst/indexers/Makefile.am:
7629         * gst/schedulers/Makefile.am:
7630         * libs/gst/bytestream/Makefile.am:
7631         * libs/gst/control/Makefile.am:
7632         * libs/gst/getbits/Makefile.am:
7633
7634 2004-04-20  David Schleef  <ds@schleef.org>
7635
7636         * common/as-libtool.mak: Fine-tune DLL building.
7637         * configure.ac: Link plugins against libgstreamer.  Define plugindir
7638         (like gst-plugins)
7639         * examples/plugins/Makefile.am: remove plugindir
7640         * gst/autoplug/Makefile.am: DLL building fixes
7641         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
7642         Windows.
7643         * gst/elements/gstelements.c: Conditionally disable pipefilter.
7644         * gst/indexers/Makefile.am: DLL building fixes
7645         * gst/schedulers/Makefile.am: DLL building fixes.
7646         * libs/gst/bytestream/Makefile.am: DLL building fixes.
7647         * libs/gst/control/Makefile.am: same
7648         * libs/gst/getbits/Makefile.am: same
7649         * testsuite/Makefile.am: New dlopen directory
7650         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
7651         when dlopened.
7652         * testsuite/dlopen/dlopen_gst.c: (main): same
7653         * testsuite/dlopen/loadgst.c: (do_test): same
7654
7655 2004-04-20  David Schleef  <ds@schleef.org>
7656
7657         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
7658         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
7659
7660 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7661
7662         * gst/gstelement.c: (gst_element_wait),
7663         (gst_element_set_time_delay), (gst_element_change_state):
7664           Use GST_TIME_*
7665
7666 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7667
7668         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
7669         (gst_spider_identity_plug):
7670           improve debugging messages
7671         * gst/gstbin.c: (gst_bin_remove_func):
7672           make sure the state_change function is only called with simple state
7673           transitions
7674
7675 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7676
7677         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
7678         (gst_fakesink_set_property), (gst_fakesink_chain):
7679         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
7680         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
7681         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
7682         * gst/elements/gstidentity.c: (gst_identity_chain),
7683         (gst_identity_set_property):
7684         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
7685         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
7686           add warnings to _set_property for unknown arguments
7687           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
7688
7689 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7690
7691         * Makefile.am:
7692         * docs/manuals.mak:
7693           add .po file download snippet
7694           fix a bug in the doc makefile
7695
7696 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7697
7698         * Makefile.am:
7699         * po/LINGUAS:
7700         * po/en_GB.po:
7701           Added en_GB translation (Gareth Owen)
7702
7703 2004-04-20  Johan Dahlin  <johan@gnome.org>
7704
7705         * gst/gstpad.c (_invent_event): Clean up
7706
7707 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7708
7709         * testsuite/caps/filtercaps.c: (main):
7710           fix test to test things correctly (caps are complicated)
7711
7712 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7713
7714         * testsuite/caps/Makefile.am:
7715         * testsuite/caps/filtercaps.c: (main):
7716           add test (that doesn't work right now, but should)
7717
7718 2004-04-19  David Schleef  <ds@schleef.org>
7719
7720         * configure.ac: Add test for allowing unaligned access.  Add define
7721         to put in gstconfig.h.
7722         * docs/gst/gstreamer-sections.txt: New symbols
7723         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
7724         * docs/gst/tmpl/gstfilesrc.sgml:
7725         * docs/gst/tmpl/gstparse.sgml:
7726         * docs/gst/tmpl/gsttypes.sgml:
7727         * docs/gst/tmpl/gstutils.sgml:
7728         * docs/gst/tmpl/gstvalue.sgml:
7729         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
7730         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
7731         on most !i386/!powerpc architectures.  From Daniel Gazard
7732         <daniel.gazard@free.fr>.  (bug #140156)
7733         * po/af.po: Check in changes made by gettext.
7734         * po/az.po:
7735         * po/fr.po:
7736         * po/nl.po:
7737         * po/sr.po:
7738         * po/sv.po:
7739
7740 2004-04-20  Benjamin Otte  <otte@gnome.org>
7741
7742         * gst/schedulers/entryscheduler.c: 
7743         (gst_entry_scheduler_yield):
7744           refuse to yield when decoupled elements insist on doing that.
7745           At least it's better than crashing
7746
7747 2004-04-19  David Schleef  <ds@schleef.org>
7748
7749         * docs/libs/Makefile.am: Change sinclude to include
7750         * docs/gst/Makefile.am: same
7751         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
7752
7753 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7754
7755         * po/LINGUAS:
7756         * po/uk.po:
7757           Added Ukrainian translation (Maxim V. Dziumanenko)
7758
7759 2004-04-19  Johan Dahlin  <johan@gnome.org>
7760
7761         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
7762         checking here, do it before calling the function.
7763         Clean up, use for loops instead of while loops while iterating
7764         over lists.
7765
7766         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
7767         in debug message.
7768         (gst_spider_create_and_plug): Improve debug message.
7769         General: Replace while loops which iterates over GLists with for
7770         loops. Which are much cleaner, improves readability, especially
7771         for gst_spider_identity_plug
7772
7773         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
7774         fixes bug 140477
7775
7776 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7777
7778         * po/LINGUAS:
7779         * po/tr.po:
7780           Added Turkish translation (Baris Cicek)
7781
7782 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7783
7784         * docs/faq/troubleshooting.xml:
7785           Mention gst-register in the FAQ (fixes 139045).
7786
7787 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7788
7789         * docs/gst/gstreamer-sections.txt:
7790
7791 2004-04-17  Benjamin Otte  <otte@gnome.org>
7792
7793         * gst/gstelement.c: (gst_element_dispose):
7794           simplify
7795         * gst/gstpad.c: (gst_pad_call_chain_function):
7796           don't create loads of events due to bad macro usage
7797
7798 2004-04-16  David Schleef  <ds@schleef.org>
7799
7800         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
7801         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
7802         * gst/gstvalue.c: (gst_value_serialize_buffer),
7803         (gst_value_deserialize_buffer), (gst_type_is_fixed),
7804         (_gst_value_initialize): Create a new function gst_type_is_fixed()
7805         to indicate types that are fixed wrt caps or not.  Switching to
7806         this function fixes (bug #140298).
7807         * gst/gstvalue.h:
7808
7809 2004-04-16  David Schleef  <ds@schleef.org>
7810
7811         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
7812         for GST_UNALIGNED_ACESS, since we essentially know which archs
7813         are ok.
7814
7815 2004-04-17  Benjamin Otte  <otte@gnome.org>
7816
7817         * docs/gst/Makefile.am:
7818           ignore gst/parse directory when building docs (fixes #140205)
7819
7820 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7821
7822         * testsuite/refcounting/mem.c: (vmsize):
7823           do error checking
7824
7825 2004-04-16  Johan Dahlin  <johan@gnome.org>
7826
7827         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
7828         and gst_pad_call_get_function.
7829
7830 2004-04-15  David Schleef  <ds@schleef.org>
7831
7832         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
7833         checks if we can access unaligned memory.
7834         * configure.ac: Use it.
7835
7836 2004-04-16  Benjamin Otte  <otte@gnome.org>
7837
7838         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
7839         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
7840         * gst/elements/gstfilesrc.h:
7841           s/seek_happened/need_discont/ and require discont before sending any
7842           data
7843
7844 2004-04-15  David Schleef  <ds@schleef.org>
7845
7846         * gst/gstvalue.c: (gst_value_serialize_buffer),
7847         (gst_value_deserialize_buffer), (_gst_value_initialize):
7848         Register these types as fundamental types. (bug #140015)
7849
7850 2004-04-16  Benjamin Otte  <otte@gnome.org>
7851
7852         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
7853         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
7854         (gst_pad_pull):
7855           implement enforcing discont events before buffers are passed. This
7856           allows state changes of only some elements and later correctly going
7857           on where they left off (or in short: you can now set audio sinks to
7858           NULL to release the device when the pipeline is paused)
7859         * gst/gstpad.c: (gst_pad_call_chain_function),
7860         (gst_pad_call_get_function):
7861         * gst/gstpad.h:
7862           add gst_pad_call_chain_function and gst_pad_call_get_function for
7863           scheduler interaction. They are required because of the changes
7864           above.
7865         * gst/schedulers/entryscheduler.c: (get_buffer),
7866         (gst_entry_scheduler_chain_wrapper),
7867         (gst_entry_scheduler_get_wrapper),
7868         (gst_entry_scheduler_state_transition),
7869         (gst_entry_scheduler_pad_link):
7870         * gst/schedulers/gstbasicscheduler.c:
7871         (gst_basic_scheduler_chain_wrapper),
7872         (gst_basic_scheduler_src_wrapper),
7873         (gst_basic_scheduler_chainhandler_proxy),
7874         (gst_basic_scheduler_gethandler_proxy),
7875         (gst_basic_scheduler_cothreaded_chain),
7876         (gst_basic_scheduler_chain_elements):
7877         * gst/schedulers/gstoptimalscheduler.c:
7878         (get_group_schedule_function), (pad_clear_queued),
7879         (gst_opt_scheduler_pad_link):
7880           use the new functions instead of calling get/chain-functions
7881           directly.
7882
7883 2004-04-15  David Schleef  <ds@schleef.org>
7884
7885         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
7886         * docs/gst/tmpl/gstinfo.sgml: same
7887         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
7888         gtk-doc put here.
7889         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
7890         * examples/queue/queue.c: (main):  We iterate pipelines, not
7891         bins.  (bug #139996)
7892
7893 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7894
7895         * docs/pwg/advanced-types.xml:
7896           Add MS RLE support. Also document Qt RLE although I have no sample
7897           files for that yet. And document an extra property for ADPCM.
7898
7899 2004-04-15  David Schleef  <ds@schleef.org>
7900
7901         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
7902         (_gst_plugin_fault_handler_setup):  Disable more stuff on
7903         Windows.
7904
7905 2004-04-15  David Schleef  <ds@schleef.org>
7906
7907         * gst/gstinfo.c: (_gst_debug_init): Change some internal
7908         symbol names to not conflict with new gstinfo.h symbols.
7909         * gst/gstinfo.h: Add inline functions for all those crazy
7910         compilers that don't know how to handle variadic macros (MSVC).
7911
7912 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7913
7914         * configure.ac: bump nano to 1
7915
7916 === release 0.8.1 ===
7917
7918 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7919
7920         * NEWS:
7921         * RELEASE:
7922         * configure.ac:
7923           releasing 0.8.1, "Snow Brigade"
7924
7925 2004-04-14  David Schleef  <ds@schleef.org>
7926
7927         * testsuite/Makefile.am: define tests_ignore
7928         * testsuite/Rules: Added new tests_ignore, which get compiled,
7929         but not run (generally because they're inconsistent or have
7930         heisenbugs).  Now we can ensure all the .c files compile in
7931         testsuite/.
7932         * testsuite/bins/Makefile.am: define tests_ignore
7933         * testsuite/bytestream/Makefile.am:
7934         * testsuite/caps/Makefile.am:
7935         * testsuite/clock/Makefile.am:
7936         * testsuite/debug/Makefile.am:
7937         * testsuite/debug/global.c: (gst_debug_log_one),
7938         (gst_debug_log_two): Fix compilation problem.
7939         * testsuite/dynparams/Makefile.am:
7940         * testsuite/elements/Makefile.am:
7941         * testsuite/ghostpads/Makefile.am:
7942         * testsuite/indexers/Makefile.am:
7943         * testsuite/parse/Makefile.am:
7944         * testsuite/plugin/Makefile.am:
7945         * testsuite/refcounting/Makefile.am:
7946         * testsuite/refcounting/element_pad.c: (main): Don't return leak
7947         results, because it's not calculated correctly.
7948         * testsuite/refcounting/pad.c: (main): same
7949         * testsuite/states/Makefile.am:
7950         * testsuite/tags/Makefile.am:
7951         * testsuite/threads/Makefile.am:
7952
7953 2004-04-14  David Schleef  <ds@schleef.org>
7954
7955         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
7956         generating bad code around the cpu detection asm code.
7957
7958 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7959
7960         * tools/gst-inspect.c: (print_element_info):
7961           print numeric version of rank as well, since we added some - 1
7962           rank values to elements
7963
7964 2004-04-13  David Schleef  <ds@schleef.org>
7965
7966         * configure.ac:  Disable various code when compiling for MinGW.
7967         * gst/elements/Makefile.am:
7968         * gst/elements/gstelements.c:
7969         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
7970         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
7971         * gst/registries/gstxmlregistry.c: (make_dir):
7972
7973 2004-04-13  David Schleef  <ds@schleef.org>
7974
7975         * gst/Makefile.am:
7976         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
7977         assembly.
7978         * gst/gstcpuid_i386.s: remove
7979
7980 2004-04-13  David Schleef  <ds@schleef.org>
7981
7982         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
7983         seems to think it needs to be done.
7984         * docs/gst/tmpl/gstfakesink.sgml:
7985         * docs/gst/tmpl/gstfakesrc.sgml:
7986         * docs/gst/tmpl/gstfdsink.sgml:
7987         * docs/gst/tmpl/gstfdsrc.sgml:
7988         * docs/gst/tmpl/gstfilesink.sgml:
7989         * docs/gst/tmpl/gstfilesrc.sgml:
7990         * docs/gst/tmpl/gstidentity.sgml:
7991         * docs/gst/tmpl/gstmd5sink.sgml:
7992         * docs/gst/tmpl/gstmultifilesrc.sgml:
7993         * docs/gst/tmpl/gstpipefilter.sgml:
7994         * docs/gst/tmpl/gstshaper.sgml:
7995         * docs/gst/tmpl/gstspider.sgml:
7996         * docs/gst/tmpl/gstspideridentity.sgml:
7997         * docs/gst/tmpl/gststatistics.sgml:
7998         * docs/gst/tmpl/gsttee.sgml:
7999         * docs/gst/tmpl/gsttypefind.sgml:
8000         * docs/gst/tmpl/gstutils.sgml:
8001
8002 2004-04-13  David Schleef  <ds@schleef.org>
8003
8004         * configure.ac: Changes to remove POSIXisms (mmap in this case)
8005         and to build DLLs on Windows.
8006         * gst/Makefile.am:
8007         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8008         (gst_filesrc_open_file):
8009         * gst/schedulers/Makefile.am:
8010
8011 2004-04-13  David Schleef  <ds@schleef.org>
8012
8013         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
8014         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
8015         fixating lists.
8016
8017 2004-04-12  David Schleef  <ds@schleef.org>
8018
8019         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
8020         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
8021         to using it.
8022         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
8023         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
8024         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
8025         * gst/gststructure.c: (gst_structure_set_valist),
8026         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
8027         support for buffers.
8028         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
8029         intended to be const.
8030         * gst/gsttag.h: same
8031         * gst/gstvalue.c: (gst_value_serialize_buffer),
8032         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
8033         to (de)serialize buffers.
8034         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
8035         * testsuite/caps/string-conversions.c: (main):
8036         * testsuite/caps/value_serialize.c: add new test
8037
8038 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8039
8040         * docs/pwg/advanced-types.xml:
8041           Document MS video 1 (video/x-msvideocodec) mimetype/format.
8042
8043 2004-04-11  Benjamin Otte  <otte@gnome.org>
8044
8045         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
8046           rename categories to basic_*
8047         * gst/schedulers/gstbasicscheduler.c: 
8048         (gst_basic_scheduler_chain_wrapper),
8049         (gst_basic_scheduler_chainhandler_proxy),
8050         (gst_basic_scheduler_gethandler_proxy),
8051         (gst_basic_scheduler_eventhandler_proxy):
8052           debugging category fixes - put common stuff in log category
8053         * gst/schedulers/gstbasicscheduler.c: 
8054         (gst_basic_scheduler_chain_elements):
8055           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
8056           active and linking two active chains
8057
8058 2004-04-10  Benjamin Otte  <otte@gnome.org>
8059
8060         * docs/pwg/intro-preface.xml:
8061           fix dead links and remove reference to Wiki
8062
8063 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8064
8065         * gst/schedulers/gstbasicscheduler.c:
8066           make sure we can switch back to the main function if we're still in
8067           the main function (supposed to fix #139617)
8068         * gst/schedulers/gthread-cothreads.h:
8069           don't throw an error when switching to the same cothread
8070
8071 2004-04-09  Benjamin Otte  <otte@gnome.org>
8072
8073         * gst/gstbin.c: (gst_bin_get_type):
8074         * gst/gstclock.c: (gst_clock_get_type):
8075         * gst/gstindex.c: (gst_index_get_type):
8076         * gst/gstobject.c: (gst_object_get_type),
8077         (gst_signal_object_get_type):
8078         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
8079         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
8080         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
8081         * gst/gstqueue.c: (gst_queue_get_type):
8082         * gst/gstregistry.c: (gst_registry_get_type):
8083         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8084         * gst/gstthread.c: (gst_thread_get_type):
8085           don't use memchunks for these objects, use malloc instead
8086
8087 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8088
8089         * docs/gst/.cvsignore:
8090         * docs/gst/Makefile.am:
8091         * docs/gst/gstreamer-sections.txt:
8092         * docs/gst/tmpl/gstaggregator.sgml:
8093         * docs/gst/tmpl/gstbuffer.sgml:
8094         * docs/gst/tmpl/gstclock.sgml:
8095         * docs/gst/tmpl/gstelement.sgml:
8096         * docs/gst/tmpl/gstfakesink.sgml:
8097         * docs/gst/tmpl/gstfakesrc.sgml:
8098         * docs/gst/tmpl/gstfdsink.sgml:
8099         * docs/gst/tmpl/gstfdsrc.sgml:
8100         * docs/gst/tmpl/gstfilesink.sgml:
8101         * docs/gst/tmpl/gstfilesrc.sgml:
8102         * docs/gst/tmpl/gstidentity.sgml:
8103         * docs/gst/tmpl/gstindex.sgml:
8104         * docs/gst/tmpl/gstinfo.sgml:
8105         * docs/gst/tmpl/gstmd5sink.sgml:
8106         * docs/gst/tmpl/gstmultifilesrc.sgml:
8107         * docs/gst/tmpl/gstpad.sgml:
8108         * docs/gst/tmpl/gstpipefilter.sgml:
8109         * docs/gst/tmpl/gstpipeline.sgml:
8110         * docs/gst/tmpl/gstpluginfeature.sgml:
8111         * docs/gst/tmpl/gstqueue.sgml:
8112         * docs/gst/tmpl/gstregistry.sgml:
8113         * docs/gst/tmpl/gstscheduler.sgml:
8114         * docs/gst/tmpl/gstshaper.sgml:
8115         * docs/gst/tmpl/gstspider.sgml:
8116         * docs/gst/tmpl/gstspideridentity.sgml:
8117         * docs/gst/tmpl/gststatistics.sgml:
8118         * docs/gst/tmpl/gstsystemclock.sgml:
8119         * docs/gst/tmpl/gsttee.sgml:
8120         * docs/gst/tmpl/gstthread.sgml:
8121         * docs/gst/tmpl/gsttypefind.sgml:
8122         * docs/gst/tmpl/gstutils.sgml:
8123           further doc build fixes
8124
8125 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8126
8127         * docs/gst/Makefile.am:
8128           make docs exit on scanning problems
8129           fix nonsrcdir build issues
8130         * docs/gst/gstreamer-sections.txt:
8131           adding stuff from -unused
8132         * gst/gstqueue.h:
8133           create GstQueueSize
8134         * gst/schedulers/cothreads_compat.h:
8135           fix cothread warnings
8136
8137 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8138
8139         * docs/gst/gstreamer-sections.txt:
8140           remove defines deprecated by Benjamin
8141
8142 2004-04-07  Benjamin Otte  <otte@gnome.org>
8143
8144         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8145           when the buffer is complete, don't check if other buffers are needed
8146         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
8147           check that the offset is >0 so we don't try to read before the
8148           beginning of the file
8149         * gst/gstpad.c: (gst_pad_set_pad_template):
8150           sink the template, so we don't end up with 130k pad templates
8151
8152 2004-04-06  Benjamin Otte  <otte@gnome.org>
8153
8154         * gst/autoplug/gstspider.c: (gst_spider_link_add):
8155           don't ref the element, adding already reffed it. And we didn't unref
8156           it later anyway... (huge memleak when you used many spider elements)
8157         * gst/gstelement.c: (gst_element_base_class_finalize):
8158         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
8159         (gst_element_register):
8160         * gst/gsturi.c: (gst_element_make_from_uri):
8161           use gst_object_(un)ref instead of g_object(un)ref
8162
8163 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8164
8165         * gst/gstbuffer.h:
8166           remove macro that wouldn't work anymore because struct member has
8167           been removed.
8168         * gst/schedulers/entryscheduler.c: (schedule_forward):
8169           fix segfault for unconnected pads
8170         
8171 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8172
8173         reviewed by David Schleef <ds@schleef.org>
8174
8175         * gst/gstinfo.h:
8176           *_FORMAT modifiers should require putting a % in front of them for
8177           consistency reasons.
8178
8179 2004-04-05  Colin Walters  <walters@redhat.com>
8180
8181         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
8182         space.
8183
8184 2004-04-05  Benjamin Otte  <otte@gnome.org>
8185
8186         * configure.ac:
8187         * gst/Makefile.am:
8188         * gst/gst_private.h:
8189         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
8190           add support for detecting if GStreamer runs inside valgrind.
8191           requires valgrind (d'oh) and --enable-debug for correct cdetection.
8192           print a big message in valgrind that GStreamer has detected it's
8193           running inside and might now use different code.
8194         * gst/gstmemchunk.c: (populate), (free_area),
8195         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
8196         (gst_mem_chunk_free):
8197           flag memchunks for valgrind, so it can detect leaking of chunks.
8198           This allows detecting leaks of GstBuffer and GstEvent correctly
8199           inside valgrind.
8200
8201 2004-04-05  David Schleef  <ds@schleef.org>
8202
8203         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
8204           jensgr@gmx.net (Jens Granseuer)
8205
8206 2004-04-05  David Schleef  <ds@schleef.org>
8207
8208         * gst/gstbuffer.c: (_gst_buffer_sub_free),
8209         (gst_buffer_default_free), (gst_buffer_default_copy),
8210         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
8211         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
8212         structures in one place.
8213
8214 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8215
8216         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
8217           (GST_TIME_FORMAT, GST_TIME_ARGS)
8218
8219 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8220
8221         * testsuite/elements/Makefile.am:
8222           disable test until it stops breaking make distcheck
8223
8224 2004-04-05  Johan Dahlin  <johan@gnome.org>
8225
8226         * po/sv.po: Updated translation
8227
8228 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8229
8230         * gst/gstplugin.c: (gst_plugin_load_file):
8231           fix segfault for when original plugin was loaded statically
8232
8233 2004-04-05  Benjamin Otte  <otte@gnome.org>
8234
8235         * testsuite/debug/category.c: (main):
8236         * testsuite/debug/commandline.c: (main):
8237         * testsuite/debug/output.c: (main):
8238           fix tests to work again with debugging enabled
8239
8240 2004-04-05  Benjamin Otte  <otte@gnome.org>
8241
8242         * gst/schedulers/gstbasicscheduler.c:
8243         (gst_basic_scheduler_pad_link):
8244           fix to work with recent scheduling changes
8245
8246 2004-04-05  Benjamin Otte  <otte@gnome.org>
8247
8248         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
8249         prepareChangeLog doesn't work when cvs indents):
8250           don't throw an error when no element can be scheduled, there's too
8251           many weird reasons why it doesn't work. Return STOPPED instead.
8252           decoupled elemts' schedulability doesn't depend on bufpens.
8253
8254 2004-04-04  Benjamin Otte  <otte@gnome.org>
8255
8256         * gst/schedulers/gstbasicscheduler.c:
8257         (gst_basic_scheduler_pad_select):
8258           fix uninitialized variable warnings
8259
8260 2004-04-04  Benjamin Otte  <otte@gnome.org>
8261
8262         * gst/gstpad.c: (gst_pad_collect_valist):
8263           fix uninitialized variable warning
8264         * gst/schedulers/entryscheduler.c: (schedule_forward):
8265           fix shadowed variable
8266
8267 2004-04-04  Benjamin Otte  <otte@gnome.org>
8268
8269         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
8270         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
8271         (gst_pad_select):
8272         * gst/gstpad.h:
8273         * gst/gstscheduler.c: (gst_scheduler_pad_select),
8274         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
8275         * gst/gstscheduler.h:
8276           implement gst_pad_collect as replacement for gst_pad_select.
8277           deprecate gst_pad_select and gst_scheduler_(un)lock_element
8278           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
8279           new pad_select, lock and unlock calls.
8280         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
8281         * gst/cothreads.h:
8282         * gst/schedulers/cothreads_compat.h:
8283         * gst/schedulers/gthread-cothreads.h:
8284           remove unused cothread_lock and cothread_unlock calls
8285         * gst/schedulers/entryscheduler.c:
8286         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
8287         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
8288         (gst_entry_scheduler_pad_select):
8289           update to new API
8290         * gst/schedulers/gstbasicscheduler.c:
8291         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
8292         (gst_basic_scheduler_pad_select):
8293           remove useless lock and unlock calls, update pad_select to new API
8294           (untested)
8295         * gst/schedulers/gstoptimalscheduler.c:
8296         (gst_opt_scheduler_class_init):
8297           remove useless select, lock and unlock function calls
8298         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
8299           use gst_pad_collect instead of gst_pad_select
8300
8301 2004-04-04  Benjamin Otte  <otte@gnome.org>
8302
8303         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
8304         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
8305         (schedule_next_element), (print_entry):
8306           add can_schedule_pad to handle element states.
8307           add schedule_forward to select the correct entry to schedule next
8308
8309 2004-04-03  Benjamin Otte  <otte@gnome.org>
8310
8311         * gst/schedulers/entryscheduler.c: 
8312           remove unused variable, fix error inside Rb, fix compile warning in
8313           unreachable code
8314
8315 2004-04-03  Benjamin Otte  <otte@gnome.org>
8316
8317         * gst/schedulers/entryscheduler.c:
8318           completely revamp the inner workings, so it's a lot easier to
8319           understand and extend
8320
8321 2004-04-03  Andy Wingo  <wingo@pobox.com>
8322
8323         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
8324         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
8325         This allows better introspection of pipeline topology.
8326         (add_to_chain): Don't do trickery to put loop elements first;
8327         rather, queue a chain sort by marking the chain as dirty.
8328         (remove_from_chain): Mark the chain dirty.
8329         (sort_chain): New function. Sorts the group list so that terminal
8330         sinks are first. This means elements on the sink side will be
8331         preferentially sscheduled before elements on the src side of the
8332         pipeline.
8333         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
8334         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
8335         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
8336         (group_inc_link): Change argument and variable names to match the
8337         new link structure member names (src and sink).
8338         (group_dec_link): Add some description
8339
8340 2004-04-03  Benjamin Otte  <otte@gnome.org>
8341
8342         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
8343         * gst/gstinfo.h:
8344         * testsuite/debug/category.c: (main):
8345         * testsuite/debug/commandline.c: (main):
8346         * testsuite/debug/output.c: (main):
8347         * testsuite/debug/printf_extension.c: (main):
8348           fix to successfully build and test with --disable-gst-debug
8349           configure switch (fixes #138705)
8350
8351 2004-04-03  Benjamin Otte  <otte@gnome.org>
8352
8353         * docs/pwg/building-boiler.xml:
8354           add cvs login line and s/anonymous/anoncvs/
8355
8356 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
8357
8358         reviewed by Benjamin Otte  <otte@gnome.org>
8359
8360         * gst/gststructure.c: (gst_structure_free):
8361           memleak fix: free fields array (partial fix for #134839)
8362
8363 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8364
8365         * docs/random/ds/0.9-suggested-changes:
8366           Add a note to change handoff use in fakesrc to be usable in
8367           a more generic way (fakesrc should be renamed to appsrc or so).
8368         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8369           Change signal type to scope, so we can fill the buffer in the
8370           handoff handler (that's the whole use of this signal...).
8371
8372 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8373
8374         * docs/pwg/other-ntoone.xml:
8375           Document muxers and n-to-1 elements.
8376
8377 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
8378
8379         * gst/registries/gstxmlregistry.c
8380         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
8381         determine if a file is a G_MODULE. The old one discards paths
8382         containing "so" somewhere in the middle. My home directory is
8383         called "soto". Go figure...
8384
8385 2004-03-31  David Schleef  <ds@schleef.org>
8386
8387         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
8388         to eventually deprecate gst_buffer_merge().  (bug: #136408)
8389         * gst/gstbuffer.h:
8390
8391 2004-03-31  David Schleef  <ds@schleef.org>
8392
8393         * gst/gstvalue.c: (gst_value_union_int_int_range),
8394         (gst_value_union_int_range_int_range), (gst_value_can_union),
8395         (gst_value_union), (_gst_value_initialize):  Add some union
8396         implementations.  We didn't have any previously.
8397         * testsuite/caps/Makefile.am:
8398         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
8399         (gst_audioscale_getcaps), (test_caps), (main): A little test
8400         that is the same as the caps manipulation in audioscale.
8401
8402 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8403
8404         * docs/faq/general.xml:
8405           add entry about "does gst support format X?"
8406
8407 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8408
8409         * gst/gstthread.c:
8410           fix docs
8411         * gst/gstutils.h:
8412           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
8413
8414 2004-03-30  Benjamin Otte  <otte@gnome.org>
8415
8416         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8417           set the offset of the buffer to the requested offset
8418         * gst/elements/gsttypefind.c: (stop_typefinding):
8419           revert patch 1.18 (which I unfortunately don't know the reason for).
8420           This is needed to allow downstream elements to seek. Otherwise
8421           typefind might overwrite a previous seek by downstream elements.
8422           This lead to errors with id3tag and typefind on some mp3s.
8423         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8424         (gst_entry_scheduler_iterate):
8425           be more verbose when debugging
8426
8427 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8428
8429         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8430           make sure we don't get NULL strings
8431
8432 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8433
8434         * gst/gstcaps.c:
8435         * gst/gstelement.c:
8436         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8437         * gst/gstindex.c: (gst_index_resolver_get_type),
8438         (gst_index_get_type), (gst_index_factory_get_type):
8439         * gst/gstinfo.c:
8440         * gst/gstpad.c:
8441         * gst/gstplugin.c:
8442         * gst/gsturi.c: (gst_uri_handler_get_type):
8443         * gst/gstvalue.c:
8444           first batch of documentation fixes
8445
8446 2004-03-29  David Schleef  <ds@schleef.org>
8447
8448         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
8449         * docs/gst/gstreamer-docs.sgml:  More hacking
8450         * docs/gst/gstreamer-sections.txt:
8451         * docs/gst/tmpl/cothreads_compat.sgml:
8452         * docs/gst/tmpl/gstcaps.sgml:
8453         * docs/gst/tmpl/gstclock.sgml:
8454         * docs/gst/tmpl/gstelement.sgml:
8455         * docs/gst/tmpl/gstevent.sgml:
8456         * docs/gst/tmpl/gstpad.sgml:
8457         * docs/gst/tmpl/gstutils.sgml:
8458         * docs/gst/tmpl/gstxml.sgml:
8459         * docs/gst/tmpl/gthread-cothreads.sgml:
8460         * docs/random/ds/0.9-suggested-changes:
8461         * gst/elements/gstfakesink.h: doc fixes
8462         * gst/elements/gstfakesrc.h: doc fixes
8463         * gst/gstcaps.c: doc fixes
8464         * gst/gstcaps.h: doc fixes
8465         * gst/gstelement.c: doc fixes
8466         * gst/gstelement.h: doc fixes
8467         * gst/gstindex.c: doc fixes
8468         * gst/gstinfo.c: doc fixes
8469         * gst/gstpad.c: doc fixes
8470         * gst/gstpad.h: doc fixes
8471         * gst/gstplugin.c: doc fixes
8472         * gst/gsttypefind.h: doc fixes
8473         * gst/gsturi.c: doc fixes
8474         * gst/gstvalue.c: doc fixes
8475
8476 2004-03-29  Colin Walters  <walters@redhat.com>
8477
8478         * gst/registries/gstxmlregistry.c (get_time)
8479         (plugin_times_older_than_recurse):
8480         Use the result of stat to determine whether a path is a file,
8481         so we don't attempt to opendir() files.
8482
8483 2004-03-29  Benjamin Otte  <otte@gnome.org>
8484
8485         * gst/gstpad.c: (gst_pad_set_explicit_caps):
8486           print caps in debugging output when setting caps failed
8487         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8488         (schedule_next_element), (get_buffer), (run_chainhandler),
8489         (element_may_start), (gst_entry_scheduler_chain_handler),
8490         (gst_entry_scheduler_get_handler),
8491         (gst_entry_scheduler_state_transition),
8492         (gst_entry_scheduler_pad_link):
8493           make this scheduler a testcase for mandatory
8494           discont-before-first-buffer which is needed if we want to allow apps
8495           to release the sound device.
8496           add SCHED_ASSERT macro to print scheduler state before an assertion
8497           triggers.
8498
8499 2004-03-29  Benjamin Otte  <otte@gnome.org>
8500
8501         * COPYING:
8502           replace by LGPL (former COPYING.LIB). The core is completely
8503           licensed LGPL.
8504         * COPYING.LIB:
8505           remove
8506
8507 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8508
8509         * po/af.po:
8510         * po/sv.po:
8511           updated Afrikaans and Swedish
8512
8513 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8514
8515         * po/LINGUAS:
8516         * po/az.po:
8517           adding Azerbaijani (Mətin Əmirov)
8518
8519 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
8520
8521         * gst/gstelement.h: 
8522         * gst/gstelement.c (gst_element_set_time_delay): New function for
8523         setting element time taking into account a hardware buffering
8524         delay.
8525         (gst_element_set_time): Now just an invocation of
8526         gst_element_set_time_delay.
8527         * gst/gstclock.h: 
8528         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
8529         allowing to set event times in the future.
8530         (gst_clock_get_event_time): Now just an invocation of
8531         gst_clock_get_event_time_delay.
8532
8533 2004-03-28  Benjamin Otte  <otte@gnome.org>
8534
8535         * gst/gstbin.c: (gst_bin_set_element_sched),
8536         (gst_bin_unset_element_sched):
8537           don't add decoupled elements to schedulers - otherwise it's
8538           impossible to control if a link to a decoupled element was already
8539           removed from a scheduler or not.
8540         * gst/schedulers/cothreads_compat.h:
8541         * gst/schedulers/gthread-cothreads.h:
8542           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
8543           is no "unused" warning.
8544         * gst/schedulers/Makefile.am:
8545         * gst/schedulers/entryscheduler.c:
8546           add new scheduler, based on ideas from talking to David and Martin.
8547           It's supposed to be small and correct. Currently it's also slow (but
8548           it's not noticable)
8549         * examples/retag/retag.c: (main):
8550         * testsuite/bytestream/test1.c: (main):
8551           fix missing NULLs at end of variadic functions
8552         * testsuite/elements/.cvsignore:
8553           update
8554
8555 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
8556
8557         * gst/gstevent.h:
8558         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
8559
8560 2004-03-25  David Schleef  <ds@schleef.org>
8561
8562         * docs/gst/gstreamer-sections.txt:  More doc hacking.
8563         * docs/gst/tmpl/gstaggregator.sgml:
8564         * docs/gst/tmpl/gstautoplugfactory.sgml:
8565         * docs/gst/tmpl/gstbin.sgml:
8566         * docs/gst/tmpl/gstbuffer.sgml:
8567         * docs/gst/tmpl/gstbufferstore.sgml:
8568         * docs/gst/tmpl/gstfakesink.sgml:
8569         * docs/gst/tmpl/gstfakesrc.sgml:
8570         * docs/gst/tmpl/gstmd5sink.sgml:
8571         * docs/gst/tmpl/gstreamer-unused.sgml:
8572         * docs/gst/tmpl/gstsearchfuncs.sgml:
8573         * docs/gst/tmpl/gstshaper.sgml:
8574         * docs/gst/tmpl/gstspider.sgml:
8575         * docs/gst/tmpl/gsttee.sgml:
8576         * docs/gst/tmpl/gstutils.sgml:
8577         * docs/gst/tmpl/gstvalue.sgml:
8578         * docs/gst/tmpl/gstxml.sgml:
8579         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
8580         and we don't support it.
8581         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8582         (gst_use_threads), (gst_has_threads): same
8583         * gst/gstthreaddummy.c: same
8584         * gst/autoplug/gstspider.c: Make gst_spider_details static.
8585         * gst/autoplug/gstspider.h: same
8586         * gst/elements/gstaggregator.h: Remove bogus function from header
8587         * gst/elements/gstfakesink.h: same
8588         * gst/elements/gstfakesrc.h: same
8589         * gst/elements/gstmd5sink.h: same
8590         * gst/elements/gstshaper.h: same
8591         * gst/elements/gsttee.h: same
8592         * gst/gstbin.c: doc fixes
8593         * gst/gstbin.h: Remove unused definition.
8594         * gst/gstbuffer.c: doc fixes
8595         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
8596         * gst/gstfilter.c: doc fixes
8597         * gst/gsttag.c: doc fixes
8598         * gst/gstvalue.c: doc fixes
8599
8600 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8601
8602         * docs/pwg/advanced-types.xml:
8603           Document typefinding.
8604         * docs/pwg/other-oneton.xml:
8605           Document one-to-n elements, demuxers and parsers.
8606
8607 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
8608
8609         reviewed by: David Schleef  <ds@schleef.org>
8610
8611         * configure.ac: Check bison version (bug #127838)
8612
8613 2004-03-25  David Schleef  <ds@schleef.org>
8614
8615         * docs/gst/gstreamer-docs.sgml: More fine tuning.
8616         * docs/gst/gstreamer-sections.txt:
8617         * docs/gst/tmpl/gstautoplug.sgml:
8618         * docs/gst/tmpl/gststaticautoplug.sgml:
8619         * docs/gst/tmpl/gststaticautoplugrender.sgml:
8620         * docs/gst/tmpl/gstutils.sgml:
8621         * docs/gst/tmpl/gstxml.sgml:
8622
8623 2004-03-24  David Schleef  <ds@schleef.org>
8624
8625         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
8626         manual being such complete crap, that I decided to do major
8627         hacking of it.  This checkin replaces any fine tuning that
8628         may have been done previously, with the benefit of actually
8629         being complete for much of the API that was changed since
8630         0.6.  Further fine tuning will occur shortly.  (bug #134721)
8631         * docs/gst/gstreamer-sections.txt:
8632         * docs/gst/tmpl/GstBin.sgml:
8633         * docs/gst/tmpl/GstBuffer.sgml:
8634         * docs/gst/tmpl/GstCaps.sgml:
8635         * docs/gst/tmpl/GstClock.sgml:
8636         * docs/gst/tmpl/GstCompat.sgml:
8637         * docs/gst/tmpl/GstData.sgml:
8638         * docs/gst/tmpl/GstElement.sgml:
8639         * docs/gst/tmpl/GstEvent.sgml:
8640         * docs/gst/tmpl/GstIndex.sgml:
8641         * docs/gst/tmpl/GstStructure.sgml:
8642         * docs/gst/tmpl/GstTag.sgml:
8643         * docs/gst/tmpl/cothreads.sgml:
8644         * docs/gst/tmpl/cothreads_compat.sgml:
8645         * docs/gst/tmpl/gettext.sgml:
8646         * docs/gst/tmpl/grammar.tab.sgml:
8647         * docs/gst/tmpl/gst-i18n-app.sgml:
8648         * docs/gst/tmpl/gst-i18n-lib.sgml:
8649         * docs/gst/tmpl/gst.sgml:
8650         * docs/gst/tmpl/gst_private.sgml:
8651         * docs/gst/tmpl/gstaggregator.sgml:
8652         * docs/gst/tmpl/gstarch.sgml:
8653         * docs/gst/tmpl/gstatomic.sgml:
8654         * docs/gst/tmpl/gstatomic_impl.sgml:
8655         * docs/gst/tmpl/gstbin.sgml:
8656         * docs/gst/tmpl/gstbuffer.sgml:
8657         * docs/gst/tmpl/gstbufferstore.sgml:
8658         * docs/gst/tmpl/gstcaps.sgml:
8659         * docs/gst/tmpl/gstclock.sgml:
8660         * docs/gst/tmpl/gstcompat.sgml:
8661         * docs/gst/tmpl/gstconfig.sgml:
8662         * docs/gst/tmpl/gstcpu.sgml:
8663         * docs/gst/tmpl/gstdata.sgml:
8664         * docs/gst/tmpl/gstdata_private.sgml:
8665         * docs/gst/tmpl/gstelement.sgml:
8666         * docs/gst/tmpl/gstenumtypes.sgml:
8667         * docs/gst/tmpl/gsterror.sgml:
8668         * docs/gst/tmpl/gstevent.sgml:
8669         * docs/gst/tmpl/gstfakesink.sgml:
8670         * docs/gst/tmpl/gstfakesrc.sgml:
8671         * docs/gst/tmpl/gstfilesink.sgml:
8672         * docs/gst/tmpl/gstfilter.sgml:
8673         * docs/gst/tmpl/gstindex.sgml:
8674         * docs/gst/tmpl/gstinfo.sgml:
8675         * docs/gst/tmpl/gstinterface.sgml:
8676         * docs/gst/tmpl/gstlog.sgml:
8677         * docs/gst/tmpl/gstmacros.sgml:
8678         * docs/gst/tmpl/gstmarshal.sgml:
8679         * docs/gst/tmpl/gstmd5sink.sgml:
8680         * docs/gst/tmpl/gstmultifilesrc.sgml:
8681         * docs/gst/tmpl/gstobject.sgml:
8682         * docs/gst/tmpl/gstpad.sgml:
8683         * docs/gst/tmpl/gstparse.sgml:
8684         * docs/gst/tmpl/gstpipeline.sgml:
8685         * docs/gst/tmpl/gstplugin.sgml:
8686         * docs/gst/tmpl/gstpluginfeature.sgml:
8687         * docs/gst/tmpl/gstqueue.sgml:
8688         * docs/gst/tmpl/gstreamer-unused.sgml:
8689         * docs/gst/tmpl/gstregistry.sgml:
8690         * docs/gst/tmpl/gstregistrypool.sgml:
8691         * docs/gst/tmpl/gstscheduler.sgml:
8692         * docs/gst/tmpl/gstsearchfuncs.sgml:
8693         * docs/gst/tmpl/gstshaper.sgml:
8694         * docs/gst/tmpl/gstspider.sgml:
8695         * docs/gst/tmpl/gstspideridentity.sgml:
8696         * docs/gst/tmpl/gststructure.sgml:
8697         * docs/gst/tmpl/gstsystemclock.sgml:
8698         * docs/gst/tmpl/gsttag.sgml:
8699         * docs/gst/tmpl/gsttaginterface.sgml:
8700         * docs/gst/tmpl/gsttee.sgml:
8701         * docs/gst/tmpl/gstthread.sgml:
8702         * docs/gst/tmpl/gsttrace.sgml:
8703         * docs/gst/tmpl/gsttrashstack.sgml:
8704         * docs/gst/tmpl/gsttypefind.sgml:
8705         * docs/gst/tmpl/gsttypes.sgml:
8706         * docs/gst/tmpl/gsturi.sgml:
8707         * docs/gst/tmpl/gsturitype.sgml:
8708         * docs/gst/tmpl/gstutils.sgml:
8709         * docs/gst/tmpl/gstvalue.sgml:
8710         * docs/gst/tmpl/gstversion.sgml:
8711         * docs/gst/tmpl/gstxml.sgml:
8712         * docs/gst/tmpl/gstxmlregistry.sgml:
8713         * docs/gst/tmpl/gthread-cothreads.sgml:
8714         * docs/gst/tmpl/types.sgml:
8715
8716 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8717
8718         * docs/pwg/other-sink.xml:
8719         * docs/pwg/other-source.xml:
8720           Documentation on how to write source and sink elements. Other
8721           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
8722           manager, autoplugger) are all still pending.
8723
8724 2004-03-25  Benjamin Otte  <otte@gnome.org>
8725
8726         * testsuite/elements/Makefile.am:
8727         * testsuite/elements/gst-compprep-check:
8728           add check to make sure gst-compprep works
8729         * testsuite/elements/gst-inspect-check.in:
8730           improve initialization output
8731         * testsuite/Makefile.am:
8732         * testsuite/gst-inspect-check:
8733           remove old file
8734
8735 2004-03-24  David Schleef  <ds@schleef.org>
8736
8737         * testsuite/elements/Makefile.am:
8738         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
8739         to the testsuite.
8740
8741 2004-03-24  Benjamin Otte  <otte@gnome.org>
8742
8743         * libs/gst/control/dparam.c: (gst_dparam_attach),
8744         (gst_dparam_detach):
8745         * libs/gst/control/dparammanager.c: (gst_dpman_init):
8746           fix lvalue casts for real
8747
8748 2004-03-24  Benjamin Otte  <otte@gnome.org>
8749
8750         * gst/schedulers/gstbasicscheduler.c:
8751         (gst_basic_scheduler_src_wrapper):
8752         * gst/schedulers/gstoptimalscheduler.c:
8753         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8754         (pad_clear_queued), (gst_opt_scheduler_add_element),
8755         (gst_opt_scheduler_remove_element):
8756           fix GStreamer to not have issues with lvalue casts anymore (fixes
8757           #136841)
8758
8759 2004-03-24  Benjamin Otte  <otte@gnome.org>
8760
8761         * gst/gstelement.c:
8762           add documentation about a gobject quirk where the object hasn't the
8763           correct class pointer set on initialization
8764         * gst/schedulers/gstbasicscheduler.c:
8765         (gst_basic_scheduler_src_wrapper):
8766           make sure to not run into an infinite loop
8767
8768 2004-03-22  Benjamin Otte  <otte@gnome.org>
8769
8770         * gst/gstutils.c: (gst_util_dump_mem):
8771         * gst/gstutils.h:
8772           first argument of gst_util_dump_mem should be const
8773
8774 2004-03-22  Johan Dahlin  <johan@gnome.org>
8775
8776         * gst/gstvalue.h: Clean up a little bit.
8777
8778 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
8779
8780         reviewed by Benjamin Otte  <otte@gnome.org>
8781
8782         * gst/autoplug/gstspider.c: (gst_spider_dispose):
8783         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
8784         (gst_aggregator_class_init), (gst_aggregator_init):
8785         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8786         (gst_filesrc_dispose), (gst_filesrc_set_location):
8787         * gst/elements/gstidentity.c: (gst_identity_finalize),
8788         (gst_identity_class_init), (gst_identity_chain):
8789         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
8790         * gst/elements/gststatistics.c: (gst_statistics_finalize),
8791         (gst_statistics_class_init):
8792         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
8793         (gst_tee_get_property):
8794           clean up used memory in this elements correctly on teardown (closes
8795           #137279)
8796
8797 2004-03-20  Colin Walters  <walters@redhat.com>
8798
8799         * gst/registries/gstxmlregistry.c:
8800         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
8801         registry saving atomic.
8802
8803 2004-03-20  Colin Walters  <walters@redhat.com>
8804
8805         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
8806         Just use
8807         access() instead of actually creating and deleting files.
8808
8809 2004-03-18  David Schleef  <ds@schleef.org>
8810
8811         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
8812         (bug #137625)
8813
8814 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8815
8816         * po/sv.po: updated translation (Christian Rose)
8817
8818 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8819
8820         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
8821         (gst_filesink_get_query_types), (_do_init),
8822         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
8823           return FALSE silently
8824         * po/af.po: updated translation (Petri Jooste)
8825
8826 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8827
8828         * Makefile.am:
8829         * configure.ac:
8830           dist common properly
8831         * po/af.po:
8832         * po/fr.po:
8833         * po/nl.po:
8834         * po/sr.po:
8835         * po/sv.po:
8836           refreshing translations
8837
8838 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8839
8840         * po/LINGUAS:
8841         * po/sv.po:
8842         * po/af.po:
8843           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
8844
8845 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8846
8847         * Makefile.am: use common/release.mak
8848
8849 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8850
8851         * docs/faq/gst-uninstalled:
8852           adding gst-monkeysaudio to the list of possible plugin dirs
8853
8854 2004-03-16  David Schleef  <ds@schleef.org>
8855
8856         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
8857         (gst_init_check_with_popt_table):  Fix some gettext strings to
8858         make them easier to translate.  Required making the strings
8859         non-const.
8860
8861 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8862
8863         * configure.ac: bump nano to 1
8864
8865 === release 0.8.0 ===
8866
8867 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8868
8869         * configure.ac: release 0.8.0, "Executive Slacks"
8870
8871 2004-03-16  Johan Dahlin  <johan@gnome.org>
8872
8873         * gst/schedulers/gstoptimalscheduler.c
8874         (gst_opt_scheduler_pad_unlink): Remove double ;,
8875         spotted by Scott Wheeler
8876
8877 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8878
8879         * configure.ac: bump libtool version
8880
8881 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8882
8883         * gst/gstcaps.h:
8884         * gst/gststructure.h:
8885           add reserved padding
8886
8887 2004-03-15  Benjamin Otte  <otte@gnome.org>
8888
8889         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8890           set the first parameter for select call correctly.
8891           (fixes #137230)
8892
8893 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8894
8895         * *.c,*.h: don't mix tabs and spaces
8896
8897 2004-03-15  Johan Dahlin  <johan@gnome.org>
8898
8899         * gst/schedulers/gstoptimalscheduler.c
8900         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
8901         crash on MPEG playback. My boolean arithmetic is a bit rusty.
8902
8903         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
8904         
8905 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8906
8907         * testsuite/Rules:
8908           fix gst-register rules
8909
8910 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8911
8912         * testsuite/Rules:
8913           use versioned gst-register
8914
8915 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8916
8917         * docs/libs/gstreamer-libs-sections.txt:
8918           remove </SUBSECTION>
8919         * gst/gstplugin.c:
8920         * gst/gstregistry.c: (gst_registry_add_plugin):
8921         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
8922         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
8923           add debugging and fix some comment blocks
8924
8925 2004-03-15  Johan Dahlin  <johan@gnome.org>
8926
8927         * *.h: Revert indent changes.
8928         
8929 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8930
8931         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
8932           g_error_free the g_error
8933         * tools/gst-feedback-m.m:
8934           check for other versions of gstreamer
8935         * tools/gst-indent:
8936           use sh, not bash
8937
8938 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8939
8940         * tools/gst-register.c: do not spill paths when registries are not
8941           writable, until we fix the "user running gst-register" case.
8942
8943 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8944
8945         * *.c, *.h: commit of gst-indent run on core
8946
8947 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8948
8949         * tools/gst-indent:
8950         * tools/Makefile.am:
8951           add our indentation style as a script
8952
8953 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8954
8955         * po/sr.po:
8956         * po/LINGUAS:
8957           added Serbian translation
8958
8959 2004-03-13  Benjamin Otte  <otte@gnome.org>
8960
8961         * gst/gstelement.c:
8962           add documentation note about gst_element_found_tags_for_pad not
8963           being usable in getfunctions. (see #137042)
8964
8965 2004-03-12  David Schleef  <ds@schleef.org>
8966
8967         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
8968         change API right now!  Readd gst_caps_is_simple() macro.
8969         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
8970         uninitialized variable.  I'd bet this caused crashes.
8971         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
8972
8973 2004-03-12  Johan Dahlin  <johan@gnome.org>
8974
8975         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
8976         * gst/gstcaps.h: Clean up
8977
8978         * gst/gst.c (init_post): call gst_caps_get_type() instead of
8979         _gst_caps_initalize()
8980
8981         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
8982         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
8983
8984         * gst/gststructure.c (gst_structure_get_type): Ditto
8985
8986         * gst/gststructure.h: Ditto
8987         
8988 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8989
8990         * gst/gstqueue.c: (gst_queue_init):
8991           Reset default max. values in queues. Reason is simply to avoid
8992           braindead use. If you want wider values, use the properties. The
8993           default is supposed to always work. Wider values would make this
8994           beast a memory hog by default (250 full-PAL RGB32 video frames?
8995           That's 440 MB! No thank you).
8996
8997 2004-03-10  David Schleef  <ds@schleef.org>
8998
8999         * tools/gst-run.c: (main):  Fix crash when no relevant tools
9000         were found.  (bug #136793)
9001
9002 2004-03-10  Johan Dahlin  <johan@gnome.org>
9003
9004         * gst/schedulers/gstoptimalscheduler.c
9005         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
9006         links to elements within the same group, so we can finally remove
9007         that annoying warning. Refactor the code a little bit
9008         (group_dec_links_for_element): Split out
9009
9010 2004-03-09  David Schleef  <ds@schleef.org>
9011
9012         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
9013         (bug #134863)
9014
9015 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9016
9017         * configure.ac: first bug fix due to major/minor bump
9018
9019 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9020
9021         * configure.ac: bump nano to 1
9022
9023 === release 0.7.6 ===
9024
9025 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9026
9027         * NEWS:
9028         * RELEASE:
9029         * configure.ac:
9030           releasing 0.7.6, "Almost"
9031         * po/fr.po:
9032         * po/nl.po:
9033         * tools/Makefile.am:
9034         * tools/gst-feedback-m.m:
9035           unversioned source
9036
9037 2004-03-09  Johan Dahlin  <johan@gnome.org>
9038
9039         Reviewed by: Thomas Vander Stichele
9040
9041         * gst/gstelement.c (gst_element_class_init): register second
9042         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
9043         language bindings can (de)marshall correctly.
9044
9045         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
9046
9047         * gst/gsterror.c (gst_g_error_get_type): New function
9048
9049         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
9050         with VOID:OBJECT,OBJECT,STRING 
9051
9052 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
9053
9054         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
9055         Free a leaked g_timer on early returns.
9056
9057 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9058
9059         * docs/pwg/advanced-types.xml:
9060           Add cinepak description.
9061
9062 2004-03-07  David Schleef  <ds@schleef.org>
9063
9064         * docs/random/mimetypes:  Added cinepak description
9065
9066 2004-03-07  Andy Wingo  <wingo@pobox.com>
9067
9068         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
9069
9070         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
9071         there are no links to other groups when a group is destroyed.
9072         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
9073         removed from a group, make sure the link count to elements linked
9074         to other pads is appropriately decremented. This really fixes
9075         #135672.
9076
9077         The 1.60->1.61 patch has been reapplied in light of this fix.
9078
9079         * gst/gstelement.c (gst_element_dispose): Really protect against
9080         multiple invocations this time.
9081
9082 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9083
9084         * docs/gst/gstreamer-sections.txt:
9085         * docs/gst/tmpl/gsttag.sgml:
9086           remove some deprecated functions, document some existing ones
9087         * gst/gsttag.c: (gst_tag_get_flag):
9088         * gst/gsttag.h:
9089           add accessor function
9090
9091 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9092
9093         * docs/gst/gstreamer-sections.txt:
9094         * docs/gst/tmpl/gsttag.sgml:
9095         * docs/gst/tmpl/gstxml.sgml:
9096         * gst/gsttag.c: (gst_tag_get_flag):
9097         * gst/gsttag.h:
9098
9099 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
9100
9101         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
9102         leak
9103
9104 2004-03-05  David Schleef  <ds@schleef.org>
9105
9106         * REQUIREMENTS: Add bison and flex.
9107         * configure.ac: Fix comment about bison.
9108         * docs/random/ds/0.9-suggested-changes: yer ma
9109         * tools/gst-inspect.c: (print_element_info):  Fix warning.
9110
9111 2004-03-05  Benjamin Otte  <otte@gnome.org>
9112
9113         * gst/gstelement.c: (gst_element_error_full):
9114           revert recent recursive state changing commit - messing with other
9115           elements' states is evil and should be done by apps only.
9116
9117 2004-03-05  Benjamin Otte  <otte@gnome.org>
9118
9119         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
9120           check for empty intersection instead of NULL caps
9121         (gst_element_get_compatible_pad_filtered):
9122           remove old workaround that is only a bug nowadays
9123
9124 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9125
9126         * gst/gstelement.c: (gst_element_error_full):
9127           make elements try to recursively change state to PAUSED on all
9128           parents after an error to suppress ensuing warnings
9129         * gst/parse/grammar.y:
9130           make it check if it was able to sync the state, and throw an error
9131           if not, so stuff like
9132           oggdemux ! vorbisdec ! osssink gets caught
9133
9134 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9135
9136         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
9137           it contains lib64; use AS_AC_EXPAND to handle it properly
9138
9139 2004-03-05  David Schleef  <ds@schleef.org>
9140
9141         * gst/gstcpuid_i386.s:  Remove unused code
9142         * libs/gst/getbits/getbits.c: (gst_getbits_init),
9143         (gst_getbits_newbuf): Remove MMX code
9144         * libs/gst/getbits/getbits.h: Remove MMX code
9145
9146 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
9147
9148         * debian/.cvsignore:
9149         * debian/README.Debian:
9150         * debian/changelog:
9151         * debian/control:
9152         * debian/control.in:
9153         * debian/copyright:
9154         * debian/gstreamer-core-libs-dev.files:
9155         * debian/gstreamer-core-libs.files:
9156         * debian/gstreamer-core.files:
9157         * debian/gstreamer-core.postinst:
9158         * debian/gstreamer-core.postrm:
9159         * debian/gstreamer-doc.files:
9160         * debian/gstreamer-doc.links:
9161         * debian/gstreamer-doc.lintian:
9162         * debian/gstreamer-runtime.files:
9163         * debian/gstreamer-runtime.manpages:
9164         * debian/gstreamer-runtime.postinst:
9165         * debian/gstreamer-runtime.postrm:
9166         * debian/gstreamer-tools.files:
9167         * debian/gstreamer-tools.manpages:
9168         * debian/libgstreamer-dev.files:
9169         * debian/libgstreamer0.4.1.files:
9170         * debian/libgstreamerVERSION.files:
9171         * debian/rules:
9172         Debian package info not maintained here.
9173
9174 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9175
9176         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9177         * gst/gstbin.c: (gst_bin_class_init):
9178         * gst/gstelement.c: (gst_element_class_init):
9179         * gst/gstindex.c: (gst_index_class_init):
9180         * gst/gstobject.c: (gst_object_class_init),
9181         (gst_signal_object_class_init):
9182         * gst/gstpad.c: (gst_pad_template_class_init):
9183         * gst/gstregistry.c: (gst_registry_class_init):
9184         * gst/gsturi.c: (gst_uri_handler_base_init):
9185         * gst/gstxml.c: (gst_xml_class_init):
9186         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9187         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
9188           make all signal names use dashes instead of underscore
9189
9190 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9191
9192         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
9193
9194 2004-03-03  Benjamin Otte  <otte@gnome.org>
9195
9196         * gst/schedulers/gstoptimalscheduler.c:
9197           revert last commit by Andy Wingo. It causes segfaults on unreffing
9198           in Rhythmbox. (see bug #135672)
9199
9200 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9201
9202         * po/fr.po: fix typo
9203
9204 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9205
9206         * tools/gst-inspect.c: (main): 
9207         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
9208
9209 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9210
9211         * configure.ac:
9212           get GLIB_ONLY and POPT flags for the nonversioned binaries
9213         * tools/Makefile.am:
9214           use them
9215
9216 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9217
9218         * gst/gst.c: (init_post):
9219           change so that GST_REGISTRY now is where the global registry gets
9220           saved, since that is where plugins now get attached to first, and
9221           spilled over to the user registry.  Note that in the case of using
9222           GST_REGISTRY env var, we don't want to affect any real registries
9223           beyond the one given by this var, and thus we don't set a user
9224           registry to spill to.  So make sure GST_REGISTRY is writable.
9225
9226 2004-03-01  David Schleef  <ds@schleef.org>
9227
9228         * AUTHORS:  Added some names.  Add yourself if you're missing.
9229
9230 2004-03-01  David Schleef  <ds@schleef.org>
9231
9232         * MAINTAINERS: Add
9233
9234 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9235
9236         * configure.ac:
9237           remove whitespace
9238         * docs/gst/tmpl/gstbuffer.sgml:
9239         * docs/gst/tmpl/gstdata.sgml:
9240         * docs/gst/tmpl/gstreamer-unused.sgml:
9241         * docs/gst/tmpl/gstxml.sgml:
9242           doc update
9243         * docs/manuals.mak:
9244           add a FIXME
9245         * docs/pwg/intro-preface.xml:
9246         * docs/pwg/pwg.xml:
9247           remove GNOME
9248         * gst/gst.c: (init_post):
9249           try GST_PLUGIN_PATH paths for the _global_registry first
9250         * gst/gstelement.h:
9251           add the error message as well, otherwise (null) debug info doesn't
9252           make much sense
9253         * tools/gst-register.c: (main):
9254           spill paths to next registry if this registry is not writable
9255         * po/fr.po:
9256         * po/nl.po:
9257           translation updates
9258
9259 2004-03-01  Johan Dahlin  <johan@gnome.org>
9260
9261         * gst/gstbuffer.c (_gst_buffer_initialize): 
9262         * gst/gstdata.c (gst_data_get_type): 
9263         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
9264         instead of ref, since some applications that uses GBoxed
9265         routines depends on a function that actually returns a copy.
9266
9267 2004-02-27  Benjamin Otte  <otte@gnome.org>
9268
9269         * gst/gstbuffer.h:
9270           remove gst_buffer_free, use gst_data_unref
9271         * gst/gstdata.c: (gst_data_get_type):
9272           use refcounting in GstData GBoxed registration
9273         * gst/gstdata.h:
9274           remove gst_data_free, use gst_data_unref
9275
9276 2004-02-27  Johan Dahlin  <johan@gnome.org>
9277
9278         * gst/gstdata.c (gst_data_get_type): New function, register
9279         GstData as a GBoxed type.
9280
9281         * gst/gstdata.h (GST_TYPE_DATA): New macro
9282
9283 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9284
9285         * Makefile.am:
9286         * gstreamer.spec.in:
9287           put back RELEASE
9288         * gst/Makefile.am:
9289           clean up non-disting of built files
9290         * testsuite/debug/commandline.c:
9291           test fix for option rename
9292
9293 2004-02-26  David Schleef  <ds@schleef.org>
9294
9295         * configure.ac:  We don't really need glib-2.3.  Also remove
9296         some unneeded checks for library functions.
9297         * gst/Makefile.am:  Instead, we need to not dist files created
9298         by glib-genmarshal.
9299
9300 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9301
9302         * configure.ac:
9303           bump glib required version to 2.3.0 for g_value_takes_boxed
9304
9305  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
9306
9307         * common/m4/gst-docs.m4
9308         change flavour text from enable to disable as enable is our default
9309         closes bug Bug 135304
9310
9311 === release 0.7.5 ===
9312  
9313  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9314  
9315         * NEWS:
9316           instate NEWS file
9317         * Makefile.am:
9318         * gstreamer.spec.in:
9319         * RELEASE:
9320           put back release
9321         * configure.ac:
9322         * docs/random/release:
9323           more updates
9324
9325 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9326
9327         * gst/gsttag.c: (_gst_tag_initialize):
9328         * po/fr.po:
9329         * po/nl.po:
9330           remove hyphen from codec tags
9331
9332 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9333
9334         * gst/parse/Makefile.am:
9335           fix dependency so that a make from a clean build works the first
9336           time
9337
9338 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9339
9340         * docs/random/release:
9341           update release strategy
9342         * po/fr.po:
9343           auto-update po file
9344         * po/nl.po:
9345           update dutch translation
9346
9347 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9348
9349         * docs/manual/debugging.xml:
9350         fix manual for new debugging system
9351
9352 2004-02-25  Andy Wingo  <wingo@pobox.com>
9353
9354         * gst/gstpad.c (gst_pad_link_prepare): Re-add
9355         gst_pad_link_prepare. Please email the list with specific reasons
9356         for reverting.
9357
9358 2004-02-24  Andy Wingo  <wingo@pobox.com>
9359
9360         * gst/gstelement.c (gst_element_dispose): Protect against multiple
9361         invocations.
9362
9363         * gst/schedulers/gstoptimalscheduler.c:
9364         I added a mess of prototypes at the top of the file by way of
9365         documentation. Some of the operations on chains and groups were
9366         re-organized.
9367
9368         (create_group): Added a type argument so if the group is enabled,
9369         the setup_group_scheduler knows what to do.
9370         (group_elements): Added a type argument here, too, to be passed on
9371         to create_group.
9372         (group_element_set_enabled): If an unlinked PLAYING element is
9373         added to a bin, we have to create a new group to hold the element,
9374         and this function will be called before the group is added to the
9375         chain. Thus we have a valid case for group->chain==NULL. Instead
9376         of calling chain_group_set_enabled, just set the flag on the group
9377         (the chain's status will be set when the group is added to it).
9378         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
9379         Setup the group scheduler when the group is enabled, not
9380         specifically when an element goes PAUSED->PLAYING. This means
9381         PLAYING elements can be added, linked, and scheduled into a
9382         PLAYING pipeline, as was intended.
9383         (add_to_group): Don't ref the group twice. I don't know when this
9384         double-ref got in here. Removing it has the potential to cause
9385         segfaults if other parts of the scheduler are buggy. If you find
9386         that the scheduler is segfaulting for you, put in an extra ref
9387         here and see if that hacks over the underlying issue. Of course,
9388         then find out what code is unreffing a group it doesn't own...
9389         (create_group): Make the extra refcount floating, and remove it
9390         after adding the element. This means that...
9391         (unref_group): Destroy when the refcount reaches 0, not 1, like
9392         every other refcounted object in the known universe.
9393         (remove_from_group): When a group becomes empty, set it to be not
9394         active, and remove it from its chain. Don't unref it again,
9395         there's no floating reference any more.
9396         (destroy_group): We have to remove the group from the chain in
9397         remove_from_group (rather than here) to break refcounting cycles
9398         (the chain always has a ref on the group). So assert that
9399         group->chain==NULL.
9400         (ref_group_by_count): Removed, it was commented out anyway.
9401         (merge_chains): Use the remove_from_chain and add_to_chain
9402         primitives to do the reparenting, instead of rolling our own
9403         implementation.
9404         (add_to_chain): The first non-disabled group in the chain's group
9405         list will be the entry point for the chain. Because buffers can
9406         accumulate in loop elements' peer bufpens, we preferentially
9407         schedule loop groups before get groups to avoid unnecessary
9408         execution of get-based groups when the bufpens are already full.
9409         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
9410         (get_group_schedule_function): Ditto.
9411         (loop_group_schedule_function): Ditto.
9412         (gst_opt_scheduler_loop_wrapper): Ditto.
9413         (gst_opt_scheduler_iterate): Ditto.
9414
9415         I understand the opt scheduler now, yippee!
9416
9417         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
9418         (gst_pad_get_name, gst_pad_set_chain_function) 
9419         (gst_pad_set_get_function, gst_pad_set_event_function) 
9420         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
9421         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
9422         (gst_pad_set_query_function, gst_pad_get_query_types) 
9423         (gst_pad_get_query_types_default) 
9424         (gst_pad_set_internal_link_function) 
9425         (gst_pad_set_formats_function, gst_pad_set_link_function) 
9426         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
9427         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
9428         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
9429         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
9430         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
9431         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
9432         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
9433         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
9434         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
9435         (gst_pad_event_default_dispatch, gst_pad_event_default) 
9436         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
9437         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
9438         (gst_pad_get_formats_default, gst_pad_get_formats): Better
9439         argument checks, and some doc fixes.
9440
9441         (gst_pad_custom_new_from_template): Um, does anyone
9442         use these functions? Actually make a custom pad instead of a
9443         normal one.
9444         (gst_pad_try_set_caps): Transpose some checks.
9445         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
9446         the pad is in negotiation.
9447         (gst_pad_try_relink_filtered): Use pad_link_prepare.
9448         
9449         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
9450
9451         * gst/gstelement.h: 
9452         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
9453         on the list.
9454
9455 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9456
9457         * gst/gstbin.c: (gst_bin_add):
9458           add error for not being able to add elements
9459
9460 2004-02-22  Julien MOUTTE <julien@moutte.net>
9461
9462         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
9463         audio-codec and video-codec.
9464
9465 2004-02-22  Benjamin Otte  <otte@gnome.org>
9466
9467         reported by: Padraig O'Briain <padraig.obriain@sun.com>
9468
9469         * autogen.sh:
9470           replace test -e with test -x for mkinstalldirs to be more portable.
9471           (fixes #134816)
9472
9473 2004-02-22  Benjamin Otte  <otte@gnome.org>
9474
9475         * gst/gstpad.c:
9476           revert last patch from Andy, it makes gst_pad_can_link_filtered much
9477           too noisy
9478         * gst/gsttag.c: (_gst_tag_initialize):
9479         * gst/gsttag.h:
9480           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
9481         * libs/gst/control/dparam.c: (gst_dparam_attach):
9482         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
9483           check that types for attached dparams match
9484
9485 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9486
9487         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
9488         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9489         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
9490           fix errors
9491
9492 2004-02-20  Andy Wingo  <wingo@pobox.com>
9493
9494         * gst/gstbin.c:
9495         * gst/gstbuffer.c:
9496         * gst/gstplugin.c:
9497         * gst/registries/gstxmlregistry.c: 
9498         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
9499
9500         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
9501         (gst_element_add_pad): DEBUG->INFO, some fixes.
9502         (gst_element_get_compatible_pad_template): Just see if the
9503         templates' caps intersect, not if one is a strict subset of the
9504         other. This conforms more to what gst_pad_link_intersect() does.
9505         (gst_element_class_add_pad_template): Don't memcpy the pad
9506         template, just ref it.
9507         (gst_element_get_compatible_pad_filtered): Clean up debug messages
9508
9509         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
9510         (gst_pad_link_filtered): Debug changes.
9511         (gst_pad_link_prepare): New function, consolidated from
9512         can_link_filtered and link_filtered.
9513
9514         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
9515         look more like that of the functions in gstelement.c
9516
9517         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
9518         object, and return the empty string if object is NULL.
9519
9520         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
9521         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
9522         LOG, not DEBUG. We still get flex info on debug.
9523
9524         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
9525         debug string more verbose.
9526         (plugin_times_older_than): DEBUG->LOG.
9527
9528 2004-02-20  Julien MOUTTE <julien@moutte.net>
9529
9530         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
9531         will emit found_tag for each stream they demux with the codec.
9532
9533 2004-02-20  Benjamin Otte  <otte@gnome.org>
9534
9535         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
9536           copy navigation event correctly. Check freeing tag lists. 
9537         * gst/gstthread.c: (gst_thread_change_state):
9538           don't abort() on state changing mess - it might happen because of
9539           bugs.
9540         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
9541           use boxed functions
9542         * gst/gstvalue.h:
9543           fix GST_VALUE_HOLDS_CAPS
9544
9545 2004-02-19  David Schleef  <ds@schleef.org>
9546
9547         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
9548         and use it for GST_FUNCTION.  (bug #134750)
9549
9550 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9551
9552         * po/fr.po:
9553         * po/nl.po:
9554           updating translations
9555
9556 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9557
9558         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
9559
9560 2004-02-18  kost@imn.htwk-leipzig.de
9561
9562         reviewed by: David Schleef  <ds@schleef.org>
9563
9564         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
9565         for libgstcontrol.
9566
9567 2004-02-18  David Schleef  <ds@schleef.org>
9568
9569         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9570         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9571         (gst_dpsmooth_new): Additional fixes to get double dparams working.
9572         * tools/gst-inspect.c: (print_element_info): Support dumping of
9573         double dparam information.
9574
9575 2004-02-17  David Schleef  <ds@schleef.org>
9576
9577         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9578         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
9579         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
9580         Use GST_TYPE_CAPS in signal prototype.
9581         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
9582         Convert GST_TYPE_CAPS to boxed.
9583         * gst/gstelement.c: (gst_element_class_init):
9584         Use GST_TYPE_TAG_LIST in signal prototype.
9585         * gst/gstindex.c: (gst_index_class_init):
9586         * gst/gstindex.h:
9587         Add GST_TYPE_INDEX_ENTRY type.
9588         * gst/gstmarshal.list:
9589         Add necessary marshal types.
9590         * gst/gstpad.c: (gst_real_pad_class_init),
9591         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
9592         (gst_pad_recover_caps_error):
9593         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
9594         * gst/gststructure.c: (_gst_structure_initialize),
9595         (gst_structure_copy), (_gst_structure_copy_conditional):
9596         * gst/gststructure.h:
9597         Convert GST_TYPE_STRUCTURE to boxed.
9598         * gst/gsttag.c: (gst_tag_list_get_type):
9599         * gst/gsttag.h:
9600         Add GST_TYPE_TAG_LIST type.
9601
9602 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9603
9604         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
9605         to what we agreed with david.
9606         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
9607
9608 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9609
9610         * po/nl.po: update translation
9611
9612 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9613
9614         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9615           throw an error if spider is trying to play a mime type there is
9616           no decoder for
9617         * po/POTFILES.in:
9618           add gst/autoplug/gstspider.c for translation
9619
9620 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9621
9622         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
9623         silently when the pad is negotiating.
9624
9625 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9626
9627         * docs/faq/Makefile.am:
9628           add script to run gstreamer uninstalled 
9629         * docs/faq/faq.xml:
9630         * docs/faq/developing.xml:
9631         * docs/faq/gst-uninstalled:
9632           extract script to run gstreamer uninstalled
9633         * docs/manuals.mak:
9634           add EXTRA_SOURCES variable for Makefile.am's to set to
9635           use additional SOURCE files for the doc build
9636
9637 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9638
9639         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
9640
9641 2004-02-15  Julien MOUTTE  <julien@moutte.net>
9642
9643         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
9644         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
9645         an error was thrown by osssink. Basically a state change failure for
9646         an element in a different scheduling group was considered as
9647         successful, which means that caps nego was going on and weird stuff
9648         happened. Like I wrote in the comment there, if someone wants to
9649         revert that please drop me a mail explaining why because I really see
9650         no point in keeping that broken behaviour there.
9651         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
9652         be empty, we then return NULL which will trigger a nice error when 
9653         pulling from the pad.
9654
9655 2004-02-13  David Schleef  <ds@schleef.org>
9656
9657         * libs/gst/control/dparam.c: (gst_dparam_class_init),
9658         (gst_dparam_get_property), (gst_dparam_set_property),
9659         (gst_dparam_do_update_default):
9660         * libs/gst/control/dparam.h:
9661         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9662         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
9663         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
9664         (gst_dpsmooth_do_update_double):
9665         * libs/gst/control/dparam_smooth.h:
9666         * libs/gst/control/dparammanager.c:
9667         (gst_dpman_inline_direct_update):
9668         Add support for double dparams.
9669
9670 2004-02-13  David Schleef  <ds@schleef.org>
9671
9672         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
9673         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
9674
9675 2004-02-13  Mattias Wadman  <mattias@sudac.org>
9676
9677         reviewed by: David Schleef  <ds@schleef.org>
9678
9679         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9680         (gst_fdsrc_init), (gst_fdsrc_set_property),
9681         (gst_fdsrc_get_property), (gst_fdsrc_get):
9682         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
9683         and sends an EOS event if file descriptor reading times out.
9684
9685 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9686
9687         * configure.ac:
9688           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
9689
9690 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9691
9692         * configure.ac: pass required libxml version as argument
9693         (bug reported by Christophe Fergeau)
9694
9695 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9696   
9697         * docs/gst/gstreamer-docs.sgml:
9698         * docs/gst/tmpl/gstxml.sgml:
9699         * docs/libs/gstreamer-libs-docs.sgml:
9700           version API docs
9701
9702 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9703
9704         * gst/gstinfo.c:
9705         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
9706         (gst_registry_pool_feature_filter):
9707         * gst/gstthread.c: (gst_thread_class_init):
9708         * gst/gstvalue.c:
9709           add includes exposed by building without libxml
9710         * gst/indexers/Makefile.am:
9711           do not build fileindex when LOADSAVE disabled; we should have
9712           a better libxml check later since fileindex depends on xml, not
9713           LOADSAVE or REGISTRY
9714         * libs/gst/control/Makefile.am:
9715           link with m
9716         * tools/Makefile.am:
9717           fix wrong source code for gst-xmlinspect
9718
9719 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9720
9721         * configure.ac:
9722           fix gcov help output
9723           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
9724         * docs/random/release:
9725           some updated releasing notes
9726         * gstreamer.spec.in:
9727           more updates
9728
9729 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9730
9731         * docs/faq/faq.xml:
9732         * docs/manual/manual.xml:
9733         * docs/pwg/pwg.xml:
9734         * docs/pwg/titlepage.xml:
9735           put version in documentation
9736
9737 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9738
9739         * tools/Makefile.am: fix man page installation
9740
9741 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9742
9743         * configure.ac:
9744           don't check for libxml when load/save and registry disabled (#105844)
9745         * gstreamer.spec.in:
9746           sync with fedora candidate spec
9747
9748 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9749
9750         * po/fr.po:
9751         * po/nl.po:
9752           replace multidisksrc with multifilesrc
9753
9754 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9755
9756         * po/POTFILES.in:
9757           update to multidisksrc => multifilesrc file renaming (#134145)
9758
9759 2004-02-11  David Schleef  <ds@schleef.org>
9760
9761         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
9762         * docs/gst/tmpl/gstpadtemplate.sgml: same
9763         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
9764         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
9765         fixing dance.
9766         * gst/gstutils.c: Remove disabled code that uses GstProps.
9767         * gst/registries/gstxmlregistry.h: same
9768         * docs/random/ds/0.9-suggested-changes: random notes
9769
9770 2004-02-11  kost@imn.htwk-leipzig.de
9771
9772         reviewed by: David Schleef  <ds@schleef.org>
9773
9774         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
9775         initialisation of clock (bug #134128)
9776
9777 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9778
9779         * configure.ac:
9780         * gst/elements/Makefile.am:
9781         * gst/elements/gstelements.c:
9782         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
9783         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
9784         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
9785         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
9786         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
9787         * gst/elements/gstmultifilesrc.h:
9788           rename multidisksrc to multifilesrc (part of #122200)
9789
9790 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9791
9792         * docs/manuals.mak:
9793           fix automake complaints
9794         * gst-element-check.m4:
9795           fix unquotedness
9796
9797 2004-02-11  David Schleef  <ds@schleef.org>
9798
9799         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
9800         * gst/gstatomic_impl.h: Disable sparc implementation.
9801
9802 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9803
9804         * gst-element-check.m4:
9805           fix underquoted macros as reported by automake 1.8.x (#133800)
9806         * configure.ac:
9807           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
9808           by autopoint (fixes #132996)
9809
9810 2004-02-10  Andy Wingo  <wingo@pobox.com>
9811
9812         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
9813         way to do inheritance.
9814         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
9815         (gst_pad_get_query_types, gst_pad_get_query_types_default):
9816         Routine docs.
9817         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
9818         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
9819         doc.
9820         (gst_pad_unlink, gst_pad_is_linked): Docs.
9821         (gst_pad_renegotiate): A brief description of capsnego.
9822         (gst_pad_try_set_caps): Document.
9823         (gst_pad_try_set_caps_nonfixed): Document.
9824         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
9825         (gst_pad_set_parent): Deprecated (although not out of the API).
9826         (gst_pad_get_parent): Deprecated, although many plugins use this.
9827         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
9828         are private and will go away in 0.9.
9829         (gst_pad_perform_negotiate): Doc.
9830         (gst_pad_link_unnegotiate): I think this is meant to be static.
9831         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
9832         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
9833         (gst_pad_get_peer): Doc updates.
9834         (gst_pad_caps_change_notify): Doc.
9835         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
9836         (gst_ghost_pad_new): Doc fixes.
9837
9838         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
9839         (gst_object_check_uniqueness): 
9840
9841         * gst/gstelement.c (gst_element_add_pad) 
9842         (gst_element_add_ghost_pad, gst_element_remove_pad) 
9843         (gst_element_remove_ghost_pad, gst_element_get_pad) 
9844         (gst_element_get_static_pad, gst_element_get_pad_list) 
9845         (gst_element_class_get_pad_template_list) 
9846         (gst_element_class_get_pad_template): Work on the docs.
9847         (gst_element_get_pad_template_list): Uses the class method.
9848         (gst_element_get_compatible_pad_template): Docs, and consolidate
9849         some test conditions. 
9850         (gst_element_get_pad_from_template): New static function.
9851         (gst_element_request_compatible_pad): Docs, and work with
9852         non-request compatible templates. 
9853         (gst_element_get_compatible_pad_filtered): Docs and remove
9854         redundant checks.
9855         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
9856         (gst_element_link_filtered, gst_element_link_many) 
9857         (gst_element_link, gst_element_link_pads) 
9858         (gst_element_unlink_many): Docs.
9859
9860 2004-02-05  Andy Wingo  <wingo@pobox.com>
9861
9862         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
9863         s/pointer/boxed/.
9864
9865         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
9866
9867         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
9868         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
9869         with the type=GST_TYPE_CAPS. This allows language bindings to know
9870         what kind of data they're dealing with.
9871
9872         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
9873         to NULL when g_value_init is called. GstCaps, which rolls its own
9874         type implementation, now does the same instead of allocating empty
9875         caps.
9876         (_gst_caps_initialize, _gst_caps_collect_value,
9877         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
9878         table methods. This allows G_VALUE_COLLECT to work.
9879
9880 2004-02-05  Andy Wingo  <wingo@pobox.com>
9881
9882         * configure.ac:
9883         * testsuite/Makefile.am (SUBDIRS): 
9884         * testsuite/ghostpads/Makefile.am: 
9885         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
9886
9887         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
9888         These two routines are the only ones that set
9889         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
9890         pad template. They should be made static, depending on ABI needs.
9891         (gst_real_pad_dispose): Handle the case of ghost pads without a
9892         parent. Assert after dealing with ghost pads that the ghost pad
9893         list is empty.
9894         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
9895         set after creation.
9896         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
9897         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
9898         functions. set_property will call add_ghost_pad/remove_ghost_pad
9899         as appropriate.
9900         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
9901
9902         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
9903         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
9904         (gst_element_remove_pad): Handle ghost pads as well.
9905         (gst_element_remove_ghost_pad): Deprecated (could be removed,
9906         depending on API-stability needs).
9907
9908 2004-02-05  Andy Wingo  <wingo@pobox.com>
9909
9910         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
9911         of course they're const
9912
9913 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9914
9915         * tools/Makefile.am:
9916         * tools/gst-feedback:
9917         * tools/gst-feedback-0.7:
9918           make gst-feedback versioned too for consistency
9919
9920 2004-02-11  David Schleef  <ds@schleef.org>
9921
9922         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9923         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
9924
9925 2004-02-10  Julien MOUTTE <julien@moutte.net>
9926
9927         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
9928         the structure does not contain a valid tag list. Adding a safety check
9929         to remove a noisy warning in that case.
9930
9931 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9932
9933         * gst/gst.c: fix name to be in line with others
9934
9935 2004-02-09  Julien MOUTTE <julien@moutte.net>
9936
9937         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
9938         not shout that loud when len is 0. Just return 0 silently.
9939
9940 2004-02-09  Julien MOUTTE  <julien@moutte.net>
9941
9942         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
9943         because data_unref has one and I prefer the debug to be symetric.
9944         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
9945         were refed when added to the queue and unrefed only once when the queue
9946         was flushed. Now the flush handler unref the buffers two times : first
9947         unref for the ref added when pushing in the queue's tail and second
9948         unref to destroy the flushed buffer.
9949
9950 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9951
9952         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
9953
9954 2004-02-06  David Schleef  <ds@schleef.org>
9955
9956         * docs/random/ds/0.9-suggested-changes: Random ramblings
9957         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
9958         to int before printing.
9959         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
9960         * gst/parse/parse.l: same.  See bug #129600
9961
9962 2004-02-06  David Schleef  <ds@schleef.org>
9963
9964         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
9965         (gst_index_add_entry), (gst_index_add_associationv),
9966         (gst_index_add_association): Add gst_index_add_associationv()
9967         and clean up gst_index_add_association(). #127133
9968
9969 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9970
9971         * autogen.sh: check out common with right tag if CVS/Tag exists
9972
9973 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9974
9975         * testsuite/ghostpads/ghostpads.c: (main):
9976           fix testsuite from segfaulting
9977
9978 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9979
9980         * Makefile.am: add release target
9981         * configure.ac: bump nano to 1
9982         * docs/random/release:
9983
9984 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9985
9986         * gst/gstcaps.h:
9987         * gst/gstelement.c: (gst_element_base_class_init),
9988         (gst_element_class_set_details), (gst_element_clear_pad_caps):
9989         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9990         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
9991         (gst_real_pad_dispose):
9992         * gst/gststructure.c: (gst_structure_free),
9993         (gst_structure_from_string):
9994           put reverted patch back in
9995         * gst/gstelement.c: (gst_element_remove_pad):
9996           free explicit caps if they're set
9997         * gst/gstpad.c: (_gst_pad_default_fixate_func):
9998           copy the structure when fixating
9999
10000 2004-02-05  David Schleef  <ds@schleef.org>
10001
10002         * gst/gstmarshal.list:
10003         * gst/gstpad.c: (gst_real_pad_class_init),
10004         (_gst_real_pad_fixate_accumulator):
10005         Revert POINTER->BOXED change in signal marshaller.
10006
10007 === release 0.7.4 ===
10008                                                                                 
10009 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10010                                                                                 
10011         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
10012         * configure.ac: changed for release
10013
10014 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10015
10016         * gstreamer.spec.in:
10017           bump required version of gtk-doc
10018
10019 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10020
10021         * gst/gstcaps.h:
10022         * gst/gstelement.c: (gst_element_base_class_init),
10023         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10024         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10025         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10026         (gst_real_pad_dispose):
10027         * gst/gststructure.c: (gst_structure_free),
10028         (gst_structure_from_string):
10029           revert patch that breaks applications, reapply after release
10030           to get this fixed properly
10031
10032 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10033
10034         * gst/gsttag.c: (_gst_tag_initialize):
10035         * gst/gsttag.h:
10036           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
10037
10038 2004-02-04  David Schleef  <ds@schleef.org>
10039
10040         Fix some memleaks:
10041         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
10042         (gst_spider_plug_from_srcpad):
10043         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
10044
10045 2004-02-04  David Schleef  <ds@schleef.org>
10046
10047         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
10048         a GstRealPad before accessing its structure members.
10049
10050 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10051
10052         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
10053         (gst_clock_get_speed):
10054         * gst/gstclock.h:
10055           reset padding, remove unused fields
10056
10057 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10058
10059         * gst/autoplug/gstspideridentity.c:
10060         (gst_spider_identity_sink_loop_type_finding):
10061           use get_allowed_caps, not get_caps (fixes #132519)
10062         * gst/elements/gsttypefind.c: (stop_typefinding):
10063           use correct order when sending buffers and seeking
10064
10065 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10066
10067         * configure.ac:
10068         * gst/gstelement.h:
10069         * gst/gstpad.h:
10070         * gst/gstqueue.h:
10071           upgrade libtool CURRENT, reset padding
10072
10073 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10074
10075         * configure.ac:
10076           bump to prerelease
10077           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
10078
10079 2004-02-04  David Schleef  <ds@schleef.org>
10080
10081         * docs/random/ds/0.9-suggested-changes: random notes
10082         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
10083         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
10084         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
10085         expansion.
10086         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10087         (gst_filesink_get_query_types): same
10088         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
10089         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
10090         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
10091         to use new GST_PTR_FORMAT.
10092         * gst/gstelement.h: deprecate function factory macros
10093         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
10094         These are our last variadic macros that can't be replaced with
10095         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
10096         attempting to deprecate gst_element_clock_wait().
10097         * gst/gstevent.h: same
10098         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10099         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
10100         * gst/gstpad.h: deprecate function factory macros similar to above.
10101
10102 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10103
10104         * configure.ac:
10105         * tools/Makefile.am:
10106         * tools/gst-run.c: (popt_callback), (hash_print_key),
10107         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
10108         (get_candidates), (main):
10109           add new source file to generate non-versioned wrapper binaries
10110           for our tools.
10111
10112 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10113
10114         * gst/gstevent.c: (_gst_event_free):
10115           actually break; inside the switch statement
10116         * gst/parse/grammar.y:
10117           fix memleak where GValues weren't unset
10118
10119 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10120
10121         * gst/gststructure.c: (gst_structure_from_string):
10122           fix huge memleak
10123         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10124         (new_entry), (gst_type_find_element_chain):
10125         * gst/gstelement.c: (gst_element_base_class_init),
10126         (gst_element_class_set_details):
10127         * gst/gstpad.c: (gst_pad_can_link_filtered):
10128           fix smaller memleaks
10129         * gst/gstpad.c: (gst_real_pad_dispose):
10130           check that explicit caps are gone
10131         * gst/gststructure.c: (gst_structure_free):
10132           actually free the structure
10133         * gst/gstelement.c: (gst_element_clear_pad_caps):
10134           unset explicit caps
10135
10136 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10137
10138         * tools/Makefile.am:
10139           use AM_CFLAGS since all the CFLAGS are the same
10140           use AM_LDFAGS
10141
10142 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10143
10144         * docs/manual/gnome.xml:
10145           expand example a little
10146         * gst/gst.c: (gst_init_with_popt_table),
10147         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
10148           make sure popt option displays are done with right textdomain
10149           use GstPoptOption type
10150         * gst/gst.h:
10151           create GstPoptOption type
10152
10153 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10154
10155         * gst/gsterror.c: (_gst_stream_errors_init):
10156         * gst/gsterror.h:
10157           adding error type for no codec
10158         * po/POTFILES.in:
10159           add gst-inspect
10160         * po/nl.po:
10161           update dutch translation
10162         * tools/gst-inspect.c: (print_element_list), (main):
10163           do proper internationalization
10164         * tools/gst-launch.c: (idle_func):
10165           remove commented out function call
10166
10167 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10168
10169         * docs/README:
10170           add some error fixing notes
10171         * docs/gst/gstreamer-sections.txt:
10172           remove double entries
10173         * docs/gst/tmpl/gstbin.sgml:
10174         * docs/gst/tmpl/gstclock.sgml:
10175           remove override
10176         * docs/gst/tmpl/gstelement.sgml:
10177         * docs/gst/tmpl/gstindex.sgml:
10178         * docs/gst/tmpl/gstobject.sgml:
10179         * docs/gst/tmpl/gstpadtemplate.sgml:
10180         * docs/gst/tmpl/gstreamer-unused.sgml:
10181         * docs/gst/tmpl/gsttag.sgml:
10182         * docs/gst/tmpl/gstthread.sgml:
10183         * docs/gst/tmpl/gstxml.sgml:
10184         * gst/gsttag.h:
10185           sync header prototypes with c decls
10186         * gst/gsttaginterface.c:
10187           fix doc headers
10188
10189 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10190
10191         * gst/parse/Makefile.am:
10192         * gst/gstobject.h:
10193           get rid of gstmarshal.h dependency. It's not needed.
10194         * gst/gst.h:
10195         * gst/elements/gstfakesink.c:
10196         * gst/elements/gstfakesrc.c:
10197         * gst/elements/gstidentity.c:
10198         * gst/gstbin.c:
10199         * gst/gstelement.c:
10200         * gst/gstindex.c:
10201         * gst/gstobject.c:
10202         * gst/gstpad.c:
10203         * gst/gstthread.c:
10204         * gst/gstxml.c:
10205         * libs/gst/control/dparam.c:
10206         * libs/gst/control/dparammanager.c:
10207           include gstmarshal.h.
10208         Fixes #132045
10209
10210 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10211
10212         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10213         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
10214         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
10215         * gst/elements/gstfilesrc.h:
10216           don't ref the filesrc when creating mmaped buffers. Don't keep a
10217           list of not-yet-destroyed buffers.
10218         * gst/gstbuffer.h:
10219           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
10220
10221 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10222
10223         * gst/gst.c: (init_pre):
10224           remove textdomain
10225
10226 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10227
10228         * docs/pwg/advanced-events.xml:
10229         * docs/pwg/advanced-scheduling.xml:
10230         * docs/pwg/intro-basics.xml:
10231         * docs/pwg/other-manager.xml:
10232         * docs/pwg/other-nton.xml:
10233         * docs/pwg/other-ntoone.xml:
10234         * docs/pwg/other-oneton.xml:
10235         * docs/pwg/pwg.xml:
10236           All sort of documentation... Forgot what. Point is that I want this
10237           in before I leave. The 'other-*' will be the last section and will
10238           explain issues specific to these type of elements.
10239
10240 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10241
10242         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10243         (gst_filesrc_get_read):
10244           set all the values on buffers that we can
10245
10246 2004-02-02  David Schleef  <ds@schleef.org>
10247
10248         Change usage of isblah() to g_ascii_isblah() to be more locale
10249         independent.  (#133076)
10250         * gst/gsturi.c: (gst_uri_protocol_check_internal):
10251         * gst/gstutils.c:
10252         * gst/parse/parse.l:
10253
10254 2004-02-02  Jon Trowbridge  <trow@gnu.org>
10255
10256         reviewed by: David Schleef  <ds@schleef.org>
10257
10258         Fix memory leaks:
10259         * gst/gstcaps.c: (gst_caps_to_string):
10260         * gst/registries/gstxmlregistry.c:
10261         (gst_xml_registry_add_path_list_func),
10262         (gst_xml_registry_parse_padtemplate):
10263
10264 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10265
10266         * gst/gstelement.c: (gst_element_default_error):
10267           suffix error messages with period
10268
10269 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10270
10271         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10272         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10273         * gst/gsterror.c: (gst_error_get_message):
10274           Suffix with dots
10275         * po/fr.po:
10276         * po/nl.po:
10277           Update translation files
10278
10279 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10280
10281         * gst/autoplug/gstspideridentity.c:
10282         (gst_spider_identity_sink_loop_type_finding):
10283         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10284         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10285         (gst_filesink_close_file), (gst_filesink_handle_event),
10286         (gst_filesink_chain):
10287         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10288         (gst_filesrc_get_read), (gst_filesrc_open_file):
10289         * gst/elements/gstidentity.c: (gst_identity_chain):
10290         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10291         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10292         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10293         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10294         * gst/gsterror.c: (_gst_core_errors_init),
10295         (_gst_library_errors_init), (_gst_resource_errors_init),
10296         (_gst_stream_errors_init), (gst_error_get_message):
10297         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10298         (gst_pad_recover_caps_error), (gst_pad_pull):
10299         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10300         * gst/schedulers/gstbasicscheduler.c:
10301         (gst_basic_scheduler_chainhandler_proxy),
10302         (gst_basic_scheduler_gethandler_proxy),
10303         (gst_basic_scheduler_cothreaded_chain):
10304           Suffix error messages with period.
10305           Use (NULL) instead of NULL
10306
10307 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10308
10309         * docs/gst/tmpl/gstelement.sgml:
10310         * docs/gst/tmpl/gstxml.sgml:
10311         * gst/gstelement.c: (gst_element_error_full):
10312           add element path to error
10313
10314 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10315
10316         * docs/random/mimetypes:
10317           update raw int/float info
10318         * gst/gsttag.c: (_gst_tag_initialize):
10319         * gst/gsttag.h:
10320           add GST_TAG_ENCODER
10321
10322 2004-01-30  David Schleef  <ds@schleef.org>
10323
10324         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
10325           missing (#132991)
10326
10327 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
10328
10329         reviewed by Benjamin Otte 
10330           parts of the patch submitted in bug #113913
10331
10332         * configure.ac:
10333           use AC_C_INLINE. Use = instead of == with test
10334         * examples/plugins/example.c:
10335         * gst/autoplug/gstspideridentity.c:
10336         * gst/elements/gstfdsrc.c:
10337         * gst/elements/gstfilesrc.c:
10338         * gst/elements/gstidentity.c:
10339         * gst/elements/gstmultidisksrc.c:
10340         * gst/elements/gststatistics.c:
10341         * gst/gstelement.c:
10342         * gst/gstobject.c:
10343         * gst/gstpad.c:
10344         * gst/gstpipeline.c:
10345         * gst/gstthread.c:
10346           don't end enums with a comma
10347         * gst/gstindex.c: (gst_index_compare_func):
10348           do explicit casting to gint
10349         * gst/gsttrace.c: (gst_trace_text_flush):
10350           #define strsize as a macro
10351
10352 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10353
10354         * docs/README:
10355         * docs/gst/gstreamer-docs.sgml:
10356         * docs/gst/gstreamer-sections.txt:
10357         * docs/gst/tmpl/gstelement.sgml:
10358         * docs/gst/tmpl/gsterror.sgml:
10359         * docs/gst/tmpl/gstinterface.sgml:
10360         * docs/gst/tmpl/gstreamer-unused.sgml:
10361         * docs/gst/tmpl/gststructure.sgml:
10362         * docs/gst/tmpl/gsttag.sgml:
10363         * docs/gst/tmpl/gsttaginterface.sgml:
10364         * docs/gst/tmpl/gstvalue.sgml:
10365         make sure all API ends up in the built docs
10366         * gst/gstinterface.c:
10367         * gst/gststructure.c: (gst_structure_id_set_value),
10368         (gst_structure_set_value), (gst_structure_id_get_value):
10369         * gst/gststructure.h:
10370         * gst/gstvalue.h:
10371         sync .h with .c declarations
10372
10373 2004-01-30  Julien Moutte  <julien@moutte.net>
10374
10375         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
10376         Ronald will fix riffread.
10377
10378 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10379
10380         * docs/pwg/advanced-interfaces.xml:
10381           Added tuner interface docs.
10382
10383 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10384
10385         * docs/random/mimetypes:
10386           correct Theora information
10387         * gst/gstelement.h:
10388           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
10389
10390 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10391
10392         * gst/gstelement.c: (gst_element_error_full):
10393         * gst/gstelement.h:
10394           GST_ELEMENT_ERROR in enum -> _IN_ERROR
10395
10396 2004-01-29  Julien MOUTTE  <julien@moutte.net>
10397
10398         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10399         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
10400         again and even before DISCONT.
10401         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
10402         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
10403         bytestream so that it's not stopping to fill the bytestream if events
10404         different than EOS or DISCONT are received. Instead it process them so
10405         that they go downstream.
10406
10407 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10408
10409         * docs/gst/tmpl/gstelement.sgml:
10410         * docs/gst/tmpl/gstreamer-unused.sgml:
10411         * docs/gst/tmpl/gstxml.sgml:
10412         * gst/autoplug/gstspideridentity.c:
10413         (gst_spider_identity_sink_loop_type_finding):
10414         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10415         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10416         (gst_filesink_close_file), (gst_filesink_handle_event),
10417         (gst_filesink_chain):
10418         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10419         (gst_filesrc_get_read), (gst_filesrc_open_file):
10420         * gst/elements/gstidentity.c: (gst_identity_chain):
10421         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10422         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10423         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10424         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10425         * gst/gstelement.h:
10426         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10427         (gst_pad_recover_caps_error), (gst_pad_pull):
10428         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10429         * gst/schedulers/gstbasicscheduler.c:
10430         (gst_basic_scheduler_chainhandler_proxy),
10431         (gst_basic_scheduler_gethandler_proxy),
10432         (gst_basic_scheduler_cothreaded_chain):
10433           gst_element_error -> GST_ELEMENT_ERROR
10434
10435 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10436
10437         * docs/Makefile.am:
10438         * docs/gst/tmpl/gstelement.sgml:
10439         * docs/gst/tmpl/gstxml.sgml:
10440         * docs/manuals.mak:
10441         * docs/pwg/advanced-request.xml:
10442         * docs/pwg/advanced-scheduling.xml:
10443         * docs/pwg/advanced-tagging.xml:
10444           fix non-validating docbook using CDATA
10445           make sure make check-local gets run first to check if it validates
10446
10447 2004-01-29  Julien MOUTTE <julien@moutte.net>
10448
10449         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
10450         handling (up and downstream).
10451         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
10452         my_filter thing.
10453
10454 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10455
10456         * docs/pwg/advanced-tagging.xml:
10457           Add docs about tag writing.
10458
10459 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10460
10461         * docs/pwg/advanced-tagging.xml:
10462           Add a part about tag reading and application signalling... Tag
10463           writing still needs to be documented.
10464         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10465           We can set file locations in READY, too.
10466
10467 2004-01-29  Julien MOUTTE <julien@moutte.net>
10468
10469         * docs/random/ds/element-checklist: Adding some notes about src
10470         events.
10471
10472 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10473
10474         * docs/random/mimetypes:
10475           Update docs to point to correct elements for various mimetypes, and
10476           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
10477           <stephane.loeuillet@tiscali.fr>.
10478
10479 2004-01-28  David Schleef  <ds@schleef.org>
10480
10481         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
10482
10483 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10484
10485         * docs/random/mimetypes:
10486           update docs for audio/x-raw-float. Add "buffer-frames=0 means
10487           undefined"
10488         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10489           make it only work in NULL.
10490         * gst/gstcaps.c:
10491           don't posion NULL caps
10492         * gst/gstelement.c: (gst_element_set_time):
10493           add debugging statement
10494         * gst/gstelement.c: (gst_element_emit_found_tag),
10495         (gst_element_found_tag_func), (gst_element_found_tags):
10496         * gst/gstelement.h:
10497           These functions take const taglists
10498         * gst/gstpad.c: (gst_pad_proxy_getcaps):
10499           fix memleak
10500         * gst/gstpad.c: (gst_pad_event_default):
10501           make more effort on handling discont and clocks, g_warn if everything
10502           fails
10503         * gst/gststructure.c: (gst_structure_remove_fields),
10504         (gst_structure_remove_fields_valist):
10505         * gst/gststructure.h:
10506           add gst_structure_remove_fields(_valist)
10507         * gst/gsttag.c:
10508           fix doc glitch
10509
10510 2004-01-28  David Schleef  <ds@schleef.org>
10511
10512         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
10513         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
10514         Fix memory leakage of gst_caps_to_string().
10515
10516         Use GST_PTR_FORMAT instead of gst_caps_to_string():
10517         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
10518         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
10519         (gst_spider_identity_sink_loop_type_finding):
10520         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10521         (find_suggest):
10522         * gst/gstpad.c: (gst_pad_try_relink_filtered),
10523         (gst_pad_set_explicit_caps):
10524         * gst/parse/grammar.y:
10525
10526 2004-01-28  David Schleef  <ds@schleef.org>
10527
10528         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
10529         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
10530         * docs/random/ds/0.9-suggested-changes: Notes from Company.
10531         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
10532         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
10533         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
10534         (gst_debug_log_default), (_gst_info_printf_extension),
10535         (_gst_info_printf_extension_arginfo):  Add printf extension.
10536         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
10537         * gst/gststructure.c: (gst_structure_to_string),
10538         (_gst_structure_parse_value): Use gst_value_deserialize() and
10539         remove old code.
10540         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
10541         (gst_value_deserialize_boolean), (gst_strtoi),
10542         (gst_value_deserialize_int), (gst_value_deserialize_double),
10543         (gst_value_deserialize_string), (gst_value_deserialize): Implement
10544         a bunch of deserialize functions and gst_value_deserialize.
10545         * gst/gstvalue.h: er, _de_serialize, not unserialize
10546         * testsuite/caps/string-conversions.c: (main): We don't currently
10547         handle (float) in caps, so convert these to (double).
10548         * testsuite/debug/Makefile.am: Add new test for the printf extension
10549         * testsuite/debug/printf_extension.c: (main): same
10550
10551 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10552
10553         * docs/random/company/time:
10554           Add some docs about clocking and time
10555
10556 2004-01-28  Julien MOUTTE <julien@moutte.net>
10557
10558         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
10559
10560 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10561
10562         * docs/pwg/advanced-clock.xml:
10563         * docs/pwg/advanced-dparams.xml:
10564         * docs/pwg/advanced-events.xml:
10565         * docs/pwg/advanced-interfaces.xml:
10566         * docs/pwg/advanced-midi.xml:
10567         * docs/pwg/advanced-request.xml:
10568         * docs/pwg/advanced-scheduling.xml:
10569         * docs/pwg/advanced-tagging.xml:
10570         * docs/pwg/advanced-types.xml:
10571         * docs/pwg/appendix-checklist.xml:
10572         * docs/pwg/building-boiler.xml:
10573         * docs/pwg/building-chainfn.xml:
10574         * docs/pwg/building-filterfactory.xml:
10575         * docs/pwg/building-pads.xml:
10576         * docs/pwg/building-props.xml:
10577         * docs/pwg/building-signals.xml:
10578         * docs/pwg/building-state.xml:
10579         * docs/pwg/building-testapp.xml:
10580         * docs/pwg/intro-basics.xml:
10581         * docs/pwg/intro-preface.xml:
10582         * docs/pwg/other-autoplugger.xml:
10583         * docs/pwg/other-sink.xml:
10584         * docs/pwg/other-source.xml:
10585         * docs/pwg/titlepage.xml:
10586           fix up id's
10587
10588 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10589
10590         * docs/95NonPath:
10591         * docs/HACKING:
10592         * docs/README:
10593         * docs/building-the-docs-on-debian:
10594           collect relevant bits of doc info
10595
10596 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10597
10598         * docs/pwg/advanced_tagging.xml:
10599           Half-assed commit so Thomas can re-arrange document IDs here to be
10600           consistent, too.
10601
10602 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10603
10604         * docs/manual/autoplugging.xml:
10605         * docs/manual/bins-api.xml:
10606         * docs/manual/bins.xml:
10607         * docs/manual/buffers-api.xml:
10608         * docs/manual/buffers.xml:
10609         * docs/manual/clocks.xml:
10610         * docs/manual/components.xml:
10611         * docs/manual/cothreads.xml:
10612         * docs/manual/debugging.xml:
10613         * docs/manual/dparams-app.xml:
10614         * docs/manual/dynamic.xml:
10615         * docs/manual/elements-api.xml:
10616         * docs/manual/elements.xml:
10617         * docs/manual/factories.xml:
10618         * docs/manual/gnome.xml:
10619         * docs/manual/goals.xml:
10620         * docs/manual/helloworld.xml:
10621         * docs/manual/helloworld2.xml:
10622         * docs/manual/init-api.xml:
10623         * docs/manual/intro.xml:
10624         * docs/manual/links-api.xml:
10625         * docs/manual/links.xml:
10626         * docs/manual/manual.xml:
10627         * docs/manual/motivation.xml:
10628         * docs/manual/pads-api.xml:
10629         * docs/manual/pads.xml:
10630         * docs/manual/plugins-api.xml:
10631         * docs/manual/plugins.xml:
10632         * docs/manual/programs.xml:
10633         * docs/manual/queues.xml:
10634         * docs/manual/quotes.xml:
10635         * docs/manual/schedulers.xml:
10636         * docs/manual/states-api.xml:
10637         * docs/manual/states.xml:
10638         * docs/manual/threads.xml:
10639         * docs/manual/typedetection.xml:
10640         * docs/manual/xml.xml:
10641           use chapter, part, section or misc as id starts for all bits
10642
10643 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10644
10645         * docs/gst/gstreamer-sections.txt:
10646           Fix up TITLE of the sections
10647
10648 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10649
10650         * docs/pwg/advanced_interfaces.xml:
10651           Add documentation on propertyprobing.
10652         * docs/pwg/advanced_events.xml:
10653         * docs/pwg/advanced_tagging.xml:
10654         * docs/pwg/building_boiler.xml:
10655         * docs/pwg/building_filterfactory.xml:
10656         * docs/pwg/pwg.xml:
10657           Move filterfactory and tagging into their own chapter, add a chapter
10658           on events. all these are empty placeholders that will be filled in
10659           some day.
10660
10661 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10662
10663         * docs/pwg/advanced_interfaces.xml:
10664           Docs for mixer interface. Also a check for website uploading.
10665
10666 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10667
10668         * docs/HACKING:
10669         * docs/Makefile.am:
10670         * docs/faq/Makefile.am:
10671         * docs/gst/Makefile.am:
10672         * docs/gst/tmpl/gstelement.sgml:
10673         * docs/gst/tmpl/gstplugin.sgml:
10674         * docs/gst/tmpl/gstreamer-unused.sgml:
10675         * docs/libs/Makefile.am:
10676         * docs/manual/Makefile.am:
10677         * docs/manuals.mak:
10678         * docs/pwg/Makefile.am:
10679         * docs/upload.mak:
10680           Separate out upload target and make it similar for
10681           both docbook and gtk-doc docs
10682
10683 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10684
10685         * docs/manuals.mak:
10686           Fix upload target to work with freedesktop
10687
10688 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10689
10690         * docs/pwg/advanced_types.xml:
10691           Add notes on creating your own types.
10692         * docs/pwg/building_boiler.xml:
10693         * docs/pwg/building_pads.xml:
10694         * docs/pwg/building_state.xml:
10695           Add some stuff about how to retrieve values from structures, how
10696           that relates to types and change layout slightly again to be almost
10697           perfect.
10698
10699 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10700
10701         * docs/pwg/advanced_dparams.xml:
10702         * docs/pwg/advanced_scheduling.xml:
10703           Change index layout slightly.
10704
10705 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10706
10707         * docs/pwg/advanced_clock.xml:
10708         * docs/pwg/advanced_interfaces.xml:
10709         * docs/pwg/advanced_midi.xml:
10710           General placeholders for now.
10711         * docs/pwg/advanced_request.xml:
10712           Explanation about sometimes and request pads.
10713         * docs/pwg/advanced_scheduling.xml:
10714           Concept of bytestream, loopfunctions and schedulers.
10715         * docs/pwg/building_boiler.xml:
10716           Add something about plugin-init.
10717
10718 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10719
10720         * docs/pwg/building_pads.xml:
10721           Fix broken docbook
10722
10723 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10724
10725         * docs/pwg/advanced_interfaces.xml:
10726         * docs/pwg/pwg.xml:
10727           Add as a placeholder for future filling-in.
10728         * docs/pwg/basics_autoplugging.xml:
10729         * docs/pwg/basics_buffers.xml:
10730         * docs/pwg/basics_elements.xml:
10731         * docs/pwg/basics_events.xml:
10732         * docs/pwg/basics_plugins.xml:
10733         * docs/pwg/basics_types.xml:
10734           Remove, because unused (this is all in intro_basics.xml).
10735         * docs/pwg/building_signals.xml:
10736           Short intro to signals + reference to GObject docs - we really
10737           shouldn't go into these sort of things to deply because we don't
10738           use them that extensively anyway.
10739         * docs/pwg/building_state.xml:
10740           Explanation of states. Benjamin, please check.
10741         * docs/pwg/building_testapp.xml:
10742           Put everything in one page - putting only a few lines of content
10743           per page doesn't really make sense.
10744
10745           Time to get into the advanced topics. ;).
10746
10747 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10748
10749         * docs/pwg/advanced_types.xml:
10750           Finish documenting the current state of mimetypes.
10751         * docs/pwg/building_boiler.xml:
10752         * docs/pwg/building_chainfn.xml:
10753         * docs/pwg/building_pads.xml:
10754         * docs/pwg/building_props.xml:
10755         * docs/pwg/building_testapp.xml:
10756           Start documenting the "how to build a simple audio filter" part
10757           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
10758           states and (maybe?) a short introduction to capsnego in the chapter
10759           on pads (building_pads.xml). Capsnego should probably be explained
10760           fully in advanced_capsnego.xml or so.
10761
10762 2004-01-26  David Schleef  <ds@schleef.org>
10763
10764         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
10765         * gst/gstpad.h: Add new function to allow element to (somewhat)
10766         specify non-fixed caps on a pad.
10767         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
10768         that I added a few weeks ago.
10769
10770 2004-01-26  David Schleef  <ds@schleef.org>
10771
10772         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
10773           making try_set_caps() work with non-fixed caps.
10774
10775 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10776
10777         * docs/pwg/advanced_types.xml:
10778         * docs/pwg/intro_basics.xml:
10779         * docs/pwg/intro_preface.xml:
10780         * docs/pwg/pwg.xml:
10781         * docs/pwg/titlepage.xml:
10782           First try to resurrect the PWG. I'm halfway integrating the mimetypes
10783           in here (docs/random/mimetypes), and will from there on work on both
10784           updating outdated parts and adding missing parts.
10785           That doesn't mean I'll fix it completely, but I'll try at least. ;).
10786
10787 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10788
10789         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
10790           policy is set
10791
10792 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10793
10794         * gst/gstelement.h:
10795           remove gst_element_factory_get_version. It doesn't exist anymore.
10796         * gst/gstplugin.c:
10797         * gst/gstplugin.h:
10798           remove gst_plugin_set_name and change gst_plugin_get_longname to
10799           gst_plugin_get_description to match code.
10800         * gst/gsterror.h:
10801           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
10802         * gst/gstpad.c: (gst_pad_try_set_caps):
10803           make it work with nonfixed caps.
10804           Note that even in the nonfixed case the link function of the pad
10805           that tries to set caps isn't called.
10806
10807 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10808
10809         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10810           fix bug where buffer was not assembled correctly
10811         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
10812           silence by default
10813         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10814           only seek if there's no more buffers that could work without seeking
10815
10816 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10817
10818         * gst/gsttag.c: (_gst_tag_initialize):
10819         * gst/gsttag.h:
10820           Add application tag (for encoding/muxing app).
10821
10822 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10823
10824         * autogen.sh:
10825           make autopoint force, and libtoolize not copy
10826         * common/m4/as-docbook.m4:
10827           added docbook xml catalog setup check
10828         * common/m4/gst-doc.m4:
10829           use docbook check
10830
10831 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10832
10833         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10834         * gst/gsttag.h:
10835           add GstTagFlag
10836
10837 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10838
10839         * docs/gst/gstreamer-sections.txt:
10840         * docs/gst/tmpl/gst.sgml:
10841         * docs/gst/tmpl/gstbuffer.sgml:
10842         * docs/gst/tmpl/gstclock.sgml:
10843         * docs/gst/tmpl/gstelement.sgml:
10844         * docs/gst/tmpl/gstreamer-unused.sgml:
10845         * docs/gst/tmpl/gstxml.sgml:
10846           sync latest API changes to docs
10847
10848 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10849
10850         * gst/gstpluginfeature.c:
10851           fix doc snippet
10852         * tools/gst-inspect.c: (print_element_list):
10853           fix output of typefind
10854           add GPL header
10855         * tools/gst-launch.c:
10856           add GPL header
10857
10858 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10859
10860         * gst/elements/Makefile.am:
10861         * gst/elements/gstelements.c:
10862         * gst/elements/gsttypefindelement.c:
10863         * gst/elements/gsttypefindelement.h:
10864         * po/POTFILES.in:
10865         * po/fr.po:
10866         * po/nl.po:
10867           renamed gsttypefindelement to gsttypefind, conserving CVS history
10868
10869 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10870
10871         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
10872         * gst/gsttag.h:
10873           add some tags used in ogg as well
10874           fix _ in replaygain tags
10875
10876 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10877
10878         * gst/gsterror.h:
10879           fix wrong GST_LIBRARY_ERROR_ENCODE addition
10880
10881 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10882
10883         * gst/gstelement.c: (gst_element_error_full):
10884         * gst/gstelement.h:
10885           change _extended to _full
10886
10887 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10888
10889         reviewed by: <delete if not using a buddy>
10890
10891         * docs/gst/tmpl/gst.sgml:
10892         * docs/gst/tmpl/gstbuffer.sgml:
10893         * docs/gst/tmpl/gstclock.sgml:
10894         * docs/gst/tmpl/gstelement.sgml:
10895         * docs/gst/tmpl/gstreamer-unused.sgml:
10896         * docs/gst/tmpl/gstxml.sgml:
10897         * gst/gstelement.c: (gst_element_error_full):
10898         * gst/gstelement.h:
10899
10900 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10901
10902         * gst/gstelement.h: fix _gst_element_error_printf prototype
10903
10904 2004-01-20  David Schleef  <ds@schleef.org>
10905
10906         * gst/gststructure.c: (gst_structure_to_string):
10907         Convert function to use gst_value_serialize().
10908         * gst/gstvalue.c: (gst_value_serialize_list),
10909         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
10910         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
10911         (gst_value_serialize_int), (gst_value_serialize_double),
10912         (gst_string_wrap), (gst_value_serialize_string),
10913         (gst_value_serialize), (gst_value_deserialize):
10914         * gst/gstvalue.h:
10915         Add implementations for serialize.
10916
10917 2004-01-20  Julien MOUTTE  <julien@moutte.net>
10918
10919         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
10920         we want to keep that one in the future or change xvidenc.c to use 
10921         another error.
10922
10923 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10924
10925         * gst/gstelement.c: (_gst_element_error_printf):
10926         * gst/gstelement.h:
10927           privatise function
10928
10929 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10930
10931         * docs/random/error:
10932           doc explaining error system
10933         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10934           cleanup
10935
10936 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10937
10938         * gst/gst-i18n-app.h:
10939         * gst/gst-i18n-lib.h:
10940           remove inclusion of config.h
10941         * po/POTFILES.in:
10942         * po/nl.po:
10943           add gst/gstelement.c
10944
10945 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10946
10947         * po/nl.po: updated Dutch translation
10948
10949 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10950
10951         * gst/gsterror.c: (_gst_core_errors_init),
10952         (_gst_library_errors_init), (_gst_resource_errors_init),
10953         (_gst_stream_errors_init):
10954         remove ending punctuation dots
10955
10956 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10957
10958         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10959         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
10960         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10961         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10962         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10963         use GST_ERROR_SYSTEM
10964
10965 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10966
10967         * gst/gstelement.c: (gst_element_error_printf),
10968         (gst_element_error_extended):
10969         * gst/gstelement.h:
10970           add a helper printf function so we can have NULL values passed.
10971
10972 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * gst/gstelement.h:
10975           add G_STMT macros to gst_element_error, which isn't strictly
10976           necessary but people tell me to anyway.
10977
10978 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10979
10980         * gst/Makefile.am:
10981         * gst/autoplug/gstspideridentity.c:
10982         (gst_spider_identity_sink_loop_type_finding):
10983         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10984         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10985         (gst_filesink_close_file), (gst_filesink_handle_event),
10986         (gst_filesink_chain):
10987         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
10988         (gst_filesrc_map_region), (gst_filesrc_get_read),
10989         (gst_filesrc_open_file):
10990         * gst/elements/gstidentity.c: (gst_identity_chain):
10991         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10992         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10993         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10994         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
10995         * gst/gst.h:
10996         * gst/gst_private.h:
10997         * gst/gstelement.c: (gst_element_class_init),
10998         (gst_element_default_error), (gst_element_error_func),
10999         (gst_element_error_extended):
11000         * gst/gstelement.h:
11001         * gst/gsterror.c: (_gst_core_errors_init),
11002         (_gst_library_errors_init), (_gst_resource_errors_init),
11003         (_gst_stream_errors_init), (gst_error_get_message):
11004         * gst/gsterror.h:
11005         * gst/gstinfo.c: (_gst_debug_init):
11006         * gst/gstmarshal.list:
11007         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11008         (gst_pad_recover_caps_error), (gst_pad_pull):
11009         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11010         * gst/schedulers/gstbasicscheduler.c:
11011         (gst_basic_scheduler_chainhandler_proxy),
11012         (gst_basic_scheduler_gethandler_proxy),
11013         (gst_basic_scheduler_cothreaded_chain):
11014         * po/POTFILES.in:
11015         * po/fr.po:
11016         * po/nl.po:
11017           change error signal
11018           add error categories
11019
11020 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
11021
11022         * gst/gsttag.c: (_gst_tag_initialize):
11023         * gst/gsttag.h:
11024         Add replaygain tag
11025
11026 2004-01-18  Colin Walters  <walters@verbum.org>
11027
11028         * examples/retag/retag.c: Call gst_init before processing
11029         program args.  Add g_assert to _link_many call.
11030
11031 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11032
11033         * gst/gstpad.c: (gst_pad_alloc_buffer):
11034           Return a newly allocated buffer when the pad has no peer.
11035
11036 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11037
11038         * gst/gstclock.c: (gst_clock_get_time):
11039           make it compile with gcc 2.95 again.
11040           Patch by Scott Wheeler
11041
11042 2004-01-15  David Schleef  <ds@schleef.org>
11043
11044         * gst/gstcaps.h:
11045         Added gst_caps_is_simple() macro.
11046         * testsuite/caps/caps.c: (test1):
11047         * testsuite/caps/intersect2.c: (main):
11048         * testsuite/caps/intersection.c: (main):
11049         Fixes to make 'make check' work again after removing
11050         gst_caps_is_chained().
11051
11052 2004-01-15  Leif Johnson <leif@ambient.2y.net>
11053
11054         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
11055         and additions to the MIDI document.
11056
11057 2004-01-15  David Schleef  <ds@schleef.org>
11058
11059         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
11060         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
11061         of GST_RPAD_, since we don't know if it's a real or ghost pad.
11062
11063 2004-01-15  David Schleef  <ds@schleef.org>
11064
11065         * gst/gstqueue.c:
11066         * gst/gstqueue.h:
11067         Fix the spelling of "treshold" and make min_threshold actually
11068         affect the queue.
11069
11070 2004-01-15  David Schleef  <ds@schleef.org>
11071
11072         * gst/gstcaps.c:
11073         Add lots of documentation.
11074         * gst/gstcaps.h:
11075         Deprecate a few functions.
11076         * gst/gstpad.c:
11077         Removed use of deprecated functions.
11078
11079 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11080
11081         * gst/gstpad.c: (gst_pad_is_linked):
11082         * gst/gstpad.h:
11083           implement gst_pad_is_linked
11084         * gst/gstelement.h:
11085           reserve space for initiate_state_change
11086
11087 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11088
11089         * gst/autoplug/gstspideridentity.c:
11090         (gst_spider_identity_sink_loop_type_finding):
11091           break infinite loop by just returning instead of looping
11092         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
11093           set event time difference correctly. Set it to 1 second instead
11094           of 100ms to be more tolerant
11095         * gst/gstelement.c: (gst_element_set_time):
11096           add debugging output
11097
11098 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11099
11100         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
11101           query if buffers are inside the pool, ignore events
11102
11103 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11104
11105         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
11106         (gst_clock_set_speed), (gst_clock_set_active),
11107         (gst_clock_is_active), (gst_clock_reset),
11108         (gst_clock_handle_discont):
11109         * gst/gstclock.h:
11110           deprecate old interface and disable functions that aren't in use
11111           anymore.
11112         * gst/gstelement.h:
11113         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
11114         (gst_element_set_time), (gst_element_adjust_time):
11115           add concept of "element time" and functions to get/set this time.
11116         * gst/gstelement.c: (gst_element_change_state):
11117           update element time correctly.
11118         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11119           This is a debug message, not a g_critical.
11120         * gst/gstpad.c: (gst_pad_event_default):
11121           handle discontinuous events right with element time.
11122         * gst/gstscheduler.c: (gst_scheduler_state_transition):
11123           update to clocking fixes.
11124           set clocks on elements in READY=>PAUSED. The old behaviour caused
11125           a wrong element time on the first element that started playing.
11126         * gst/schedulers/gstbasicscheduler.c:
11127         (gst_basic_scheduler_class_init):
11128         * gst/schedulers/gstoptimalscheduler.c:
11129         (gst_opt_scheduler_class_init):
11130           remove code that just implements the default behaviour.
11131         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
11132           update to use new clocking functions
11133         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
11134         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
11135           update to test new element time.
11136         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
11137           use _get_allowed_caps instead of _get_caps. This catches filtered
11138           caps correctly.
11139         * testsuite/debug/commandline.c:
11140           update for new GST_DEBUG syntax.
11141         * testsuite/threads/Makefile.am:
11142           disable a test that only works sometimes.
11143
11144 2004-01-13  Julien MOUTTE <julien@moutte.net>
11145
11146         * po/LINGUAS: Adding fr.
11147         * po/fr.po: Adding french translation.
11148
11149 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11150
11151         * gst/parse/grammar.y:
11152         * po/POTFILES.in:
11153         * po/nl.po:
11154         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
11155           translate parsing error messages
11156
11157 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11158
11159         * po/POTFILES.in: adding gst-launch
11160         * po/nl.po: updated translation, all 99 strings translated
11161         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
11162         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
11163           fix strings for translation
11164
11165 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11166
11167         * gst/gst.c:
11168           - capitalize beginnings of popt options
11169           - fix strings for translation
11170           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
11171
11172 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11173
11174         * po/README: add some notes on how to update translations
11175
11176 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11177
11178         * ABOUT-NLS: removed, is autogenerated from autopoint
11179         * autogen.sh: add autopoint stuff
11180         * configure.ac: fix up gettext stuff
11181         * gst/Makefile.am: add i18n headers to noinst_HEADERS
11182         * gst/elements/gsttypefindelement.c: add header include
11183         * gst/gettext.h: add header, copy from system-installed header
11184         * gst/gst-i18n-app.h: to be included by each app having translations
11185         * gst/gst-i18n-lib.h: to be included by each lib having translations
11186         * gst/gst.c: (init_pre): fix up gettext calls
11187         * gst/gst_private.h: remove i18n stuff, moving to separate headers
11188         * po/LINGUAS: the new way to specify translations present
11189         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
11190         * po/Makevars: the variables filled in for GStreamer
11191         * po/POTFILES.in: added new files with translations
11192         * po/de.po: has new strings
11193         * po/nl.po: readded, has new strings
11194
11195 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11196
11197         * gst/gsttag.c: fix some strings marked for translation
11198
11199 2004-01-13  Iain <iain@prettypeople.org>
11200
11201         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
11202         group when we add an element to it, cos we unref it when we remove one
11203
11204 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11205
11206         * testsuite/debug/commandline.c: (debug_not_reached):
11207         * testsuite/debug/output.c: (check_message):
11208           fix testsuite
11209
11210 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11211
11212         * examples/cutter/.cvsignore:
11213         * examples/helloworld/.cvsignore:
11214         * examples/launch/.cvsignore:
11215         * examples/manual/.cvsignore:
11216         * examples/mixer/.cvsignore:
11217         * examples/pingpong/.cvsignore:
11218         * examples/plugins/.cvsignore:
11219         * examples/queue/.cvsignore:
11220         * examples/queue2/.cvsignore:
11221         * examples/queue3/.cvsignore:
11222         * examples/queue4/.cvsignore:
11223         * examples/retag/.cvsignore:
11224         * examples/thread/.cvsignore:
11225         * examples/typefind/.cvsignore:
11226         * examples/xml/.cvsignore:
11227         * gst/.cvsignore:
11228         * gst/autoplug/.cvsignore:
11229         * gst/elements/.cvsignore:
11230         * gst/indexers/.cvsignore:
11231         * gst/parse/.cvsignore:
11232         * gst/registries/.cvsignore:
11233         * gst/schedulers/.cvsignore:
11234         * libs/gst/bytestream/.cvsignore:
11235         * libs/gst/control/.cvsignore:
11236         * libs/gst/getbits/.cvsignore:
11237         * tests/.cvsignore:
11238         * tests/bufspeed/.cvsignore:
11239         * tests/instantiate/.cvsignore:
11240         * tests/memchunk/.cvsignore:
11241         * tests/muxing/.cvsignore:
11242         * tests/sched/.cvsignore:
11243         * tests/seeking/.cvsignore:
11244         * tests/threadstate/.cvsignore:
11245         * testsuite/.cvsignore:
11246         * testsuite/caps/.cvsignore:
11247         * testsuite/cleanup/.cvsignore:
11248         * testsuite/dynparams/.cvsignore:
11249         * testsuite/plugin/.cvsignore:
11250         * tools/.cvsignore:
11251           update - this is huge, because it includes *.bb, *.bbg and *.da files
11252           which are generated for gcov.
11253
11254 2004-01-11  David Schleef  <ds@schleef.org>
11255
11256         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
11257         a function to parse integers in ways that strto[u]l() does not.
11258
11259 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11260
11261         * tools/gst-inspect.c: (print_caps):
11262           improve output of caps a bit
11263
11264 2004-01-11  David Schleef  <ds@schleef.org>
11265
11266         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
11267         inherit correct flags (READONLY and DONTKEEP).
11268
11269 2004-01-11  David Schleef  <ds@schleef.org>
11270
11271         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
11272         (gst_filesrc_map_region):
11273         * gst/gstbuffer.c: (_gst_buffer_initialize),
11274         (_gst_buffer_sub_free), (gst_buffer_default_copy),
11275         (gst_buffer_new), (gst_buffer_create_sub),
11276         (gst_buffer_is_span_fast), (gst_buffer_span):
11277         * gst/gstbuffer.h:
11278         Change GstBuffer private structure element names. (all files)
11279         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11280         (gst_queue_link):
11281         * gst/gstqueue.h:
11282         Implement getcaps/pad_link functions that handle the case where
11283         there are data in the queue.
11284
11285 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11286
11287         * gst/elements/gstbufferstore.c:
11288           initialize debugging structure correctly
11289         * gst/elements/gsttee.c: (gst_tee_set_property):
11290           g_object_notify when property was changed
11291         * gst/elements/gsttypefindelement.c:
11292         (gst_type_find_element_change_state):
11293           clear caps correctly
11294
11295 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11296
11297         * gst/gstqueue.c: (gst_queue_init):
11298           Use better defaults for when a queue should block. This
11299           gets rid of jerky playback for quite a few files.
11300           It takes more memory.
11301
11302 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11303
11304         (gst_xml_registry_parse_padtemplate):
11305           make critical message slightly more useful
11306
11307 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11308
11309         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
11310         (gst_debug_message_get), (gst_debug_log_default):
11311         * gst/gstinfo.h:
11312           Change gst_debug_log(_valist) to take a const format string.
11313           Change prototype of log function and functions using those to 
11314           take a GstDebugMessage instead of a string that requires using
11315           gst_debug_message_get.
11316
11317 2004-01-08  David Schleef  <ds@schleef.org>
11318
11319         * Makefile.am:
11320         * configure.ac:
11321         Add option --enable-gcov to build GStreamer with -fprofile-arcs
11322         and -ftest-coverage, which allows gcov to show information about
11323         testsuite coverage.
11324
11325 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11326
11327         * gst/gstutils.h:
11328           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
11329           GST_PARENT_CALL_WITH_DEFAULT
11330         * gst/elements/gstaggregator.c: 
11331         * gst/elements/gstbufferstore.c: 
11332         * gst/elements/gstfakesink.c: 
11333         * gst/elements/gstfakesrc.c: 
11334         * gst/elements/gstfdsink.c: 
11335         * gst/elements/gstfdsrc.c: 
11336         * gst/elements/gstfilesink.c: 
11337         * gst/elements/gstfilesrc.c: 
11338         * gst/elements/gstidentity.c: 
11339         * gst/elements/gstmd5sink.c: 
11340         * gst/elements/gstmultidisksrc.c:
11341         * gst/elements/gstpipefilter.c: 
11342         * gst/elements/gstshaper.c:
11343         * gst/elements/gststatistics.c:
11344         * gst/elements/gsttee.c:
11345         * gst/elements/gsttypefindelement.c:
11346           use them.
11347
11348 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11349
11350         * docs/gst/gstreamer-docs.sgml: remove props
11351         * docs/gst/gstreamer-sections.txt: remove props
11352         * docs/gst/tmpl/gst.sgml:
11353         * docs/gst/tmpl/gstbin.sgml:
11354         * docs/gst/tmpl/gstbuffer.sgml:
11355         * docs/gst/tmpl/gstcaps.sgml:
11356         * docs/gst/tmpl/gstclock.sgml:
11357         * docs/gst/tmpl/gstelement.sgml:
11358         * docs/gst/tmpl/gstindex.sgml:
11359         * docs/gst/tmpl/gstobject.sgml:
11360         * docs/gst/tmpl/gstpad.sgml:
11361         * docs/gst/tmpl/gstpadtemplate.sgml:
11362         * docs/gst/tmpl/gstreamer-unused.sgml:
11363         * docs/gst/tmpl/gstthread.sgml:
11364         * docs/gst/tmpl/gstxml.sgml:
11365           sync with code reorganization
11366
11367 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
11368
11369         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11370         Make the 'Could not find compatible pad' message more informative.
11371
11372 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11373                                                                                 
11374         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
11375           Fix for if we pass NULL as property to location.
11376         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
11377         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
11378           Fix for instantiate-test (see below).
11379         * gst/gststructure.c: (_gst_structure_parse_value):
11380           Fix compile error on gcc-2.96.
11381         * configure.ac:
11382         * tests/Makefile.am:
11383         * tests/instantiate/Makefile.am:
11384         * tests/instantiate/create.c: (create_all_elements), (main):
11385           Add a test that instantiates all elements. This makes it easy to
11386           track dead code for old API/design (like setting event functions
11387           on sink pads and so on).
11388
11389 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
11390
11391         * gst/gstcaps.c: (gst_caps_append_structure):
11392           Move the poisoning to allow a NULL structure
11393         * gst/gstevent.c: (_gst_event_free):
11394           When freeing a navigation event, free the structure
11395           also
11396
11397 2004-01-04  David Schleef  <ds@schleef.org>
11398
11399         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11400         Remove usage of gst_pad_proxy_fixate.
11401         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
11402         (gst_caps_split_one), (gst_caps_replace):
11403         Add poisoning code.
11404         * gst/gstmarshal.list:
11405         Add pointer__pointer for fixate signal
11406         * gst/gstpad.c: (gst_real_pad_class_init),
11407         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11408         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
11409         (gst_pad_set_explicit_caps), (gst_pad_template_new):
11410         Add poisoning code. Add fixate signal on RealPad. Change
11411         set_explicit_caps() to take const GstCaps, like try_set_caps().
11412         * gst/gstpad.h:
11413         * testsuite/caps/Makefile.am:
11414         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
11415
11416 2004-01-03  David Schleef  <ds@schleef.org>
11417
11418         * gst/elements/gsttypefindelement.c:
11419         (gst_type_find_element_have_type), (gst_type_find_element_init):
11420         Use gst_pad_use_explicit_caps for src pad.
11421         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
11422         before using it.
11423
11424 2004-01-03  David Schleef  <ds@schleef.org>
11425
11426         * gst/gstelement.c: (gst_element_link_pads_filtered),
11427         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
11428         that linking was successful.
11429         * gst/gstpad.c: (gst_pad_link_free),
11430         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
11431         (gst_pad_link_try), (gst_pad_link_unnegotiate),
11432         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
11433         GstPadLinkReturn correctly between functions, and don't fail
11434         when DELAYED is used (DELAYED is very important).  Better
11435         cleanup on unlinking and unnegotiation.  Should fix some spider
11436         bugs.
11437
11438 2004-01-02  David Schleef  <ds@schleef.org>
11439
11440         * gst/gstelement.c: (gst_element_class_init),
11441         (gst_element_base_class_init): ->padtemplates should be cleared
11442         in base_init, since we need to have a fresh list for every
11443         class.  (Alternately, we chould copy the list and share the
11444         actual pad templates (not the list), but that would require
11445         changing every plugin to move pad template registration from
11446         base_init to class_init.)
11447
11448 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11449
11450         * gst/gstelement.c: (gst_element_class_add_pad_template):
11451           Refuse registering a pad template if another pad template
11452           with the same name already exists (#114715).
11453
11454 2004-01-02  David Schleef  <ds@schleef.org>
11455
11456         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
11457         (gst_caps_is_equal_fixed): Add new function.
11458         * gst/gstcaps.h: ditto.
11459         * gst/gstpad.c: (gst_real_pad_class_init),
11460         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
11461         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
11462         check new caps against existing caps -- if they're the same, return
11463         OK without renegotiating.  caps-nego-failed signal fixed so that
11464         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
11465         to save an extra caps copy.  Don't complete negotiation if a pad
11466         link function returns DELAYED.
11467
11468 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11469
11470         * gst/gstpad.c: (gst_pad_try_relink_filtered):
11471           Fix wrong g_return_if_fail
11472
11473 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
11474
11475         * gst/gstbin.c: (gst_bin_class_init):
11476         Change the marshalling of element_added/element_removed
11477         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
11478         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
11479
11480 2004-01-01  David Schleef  <ds@schleef.org>
11481
11482         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11483         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
11484         (gst_pad_use_explicit_caps):
11485         * gst/gstpad.h:
11486         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
11487         to use an internal getcaps and link fuction so that negotiation
11488         always results in the explicitly set caps.
11489         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
11490         are particularly useful for decoders.
11491
11492 2003-12-31  David Schleef  <ds@schleef.org>
11493
11494         * gst/elements/gstidentity.c: (gst_identity_class_init),
11495         (gst_identity_init), (gst_identity_chain),
11496         (gst_identity_set_property), (gst_identity_get_property):
11497         * gst/elements/gstidentity.h:
11498         * gst/gstqueue.c: (gst_queue_init):
11499           Negotiation fixes.
11500
11501 2003-12-31  David Schleef  <ds@schleef.org>
11502
11503         * gst/gstcaps.c: (gst_caps_intersect),
11504         (_gst_caps_normalize_foreach), (gst_caps_normalize):
11505           Implement gst_caps_normalize().
11506         * testsuite/caps/normalisation.c: (main):
11507           Add an additional test
11508
11509 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11510
11511         * gst/gstqueue.c: (gst_queue_init):
11512           use gst_pad_proxy_getcaps()
11513
11514 2003-12-31  David Schleef  <ds@schleef.org>
11515
11516         * gst/elements/gstshaper.c: (gst_shaper_link):
11517         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11518         * gst/gstqueue.c: (gst_queue_link):
11519           Negotiation fixes.
11520
11521 2003-12-31  David Schleef  <ds@schleef.org>
11522
11523         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
11524         * gst/gstpad.h: Add functions that are useful as default pad
11525         link and fixate functions for elements.
11526
11527 2003-12-30  David Schleef  <ds@schleef.org>
11528
11529         * gst/gstpad.c: (gst_pad_link_try):
11530           Fix segfault when attempting to return to old caps
11531
11532 2003-12-29  David Schleef  <ds@schleef.org>
11533
11534         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
11535         (gst_caps_structure_simplify), (gst_caps_simplify):
11536         * gst/gstcaps.h:
11537           Add simplify function
11538         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
11539         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
11540         * gst/gstpad.h:
11541           Copy over srcnotify, sinknotify when calling old pad_link
11542           functions.  Add new is_negotiated() function.
11543         * gst/gststructure.c: (gst_structure_copy):
11544           Fix an incredibly stupid bug that should have been noticed
11545           weeks ago.  _copy() returned the argument, not the new copy.
11546
11547 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11548
11549         * gst/gstcaps.c: (gst_caps_append):
11550           add sanity checks
11551         * gst/gstcaps.h: (gst_caps_debug):
11552           remove, it doesn't exist anymore.
11553         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
11554         (gst_element_threadsafe_properties_post_run):
11555           make debugging messages not clutter up THREAD debug category
11556         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
11557         (gst_element_change_state):
11558           update to new caps API
11559         * gst/gstinterface.c: (gst_implements_interface_cast):
11560           don't put vital code in g_return_if_fail
11561         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
11562         (gst_pad_link_filtered):
11563           add pst_pad_try_link and use it.
11564         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
11565           implement correctly, deprecate first one.
11566         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
11567           add and implement.
11568         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
11569           implement.
11570         (gst_pad_get_negotiated_caps):
11571           add and implement. Make GST_PAD_CAPS call this function.
11572         (gst_pad_get_caps):
11573           remove unneeded check..
11574         (gst_pad_recover_caps_error):
11575           disable, always return FALSE.
11576         (gst_real_pad_dispose):
11577           don't free caps and appfilter anymore, they're unused.
11578         * gst/gstpad.h:
11579           Reflect changes mentioned above.
11580         * gst/gstsystemclock.c: (gst_system_clock_wait):
11581           Make 'clock is way behind' a debugging message.
11582         * gst/gstthread.c: (gst_thread_change_state):
11583           Fix debugging message
11584
11585 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11586
11587         * gst/gstinfo.h:
11588           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
11589         * docs/gst/tmpl/gstreamer-unused.sgml:
11590           removed all traces of cvs conflicts
11591
11592 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11593
11594         * configure.ac:
11595         * gst/schedulers/cothreads_compat.h:
11596         * libs/Makefile.am:
11597           remove last instances of wingo cothread usage
11598
11599 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11600
11601         * gst/gstplugin.c:
11602         * gst/gstversion.h.in:
11603         * gst/parse/grammar.y:
11604           change comment block from /** to /* when not gtk-doc comments
11605
11606 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11607
11608         * gst/gst.c: whitespace and doc style fixes
11609
11610 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11611
11612         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
11613
11614 2003-12-24  Colin Walters  <walters@verbum.org>
11615
11616         * gst/elements/gsttypefindelement.c:
11617           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
11618           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
11619           Don't double-free caps.
11620
11621 2003-12-23  David Schleef  <ds@schleef.org>
11622
11623         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
11624           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
11625           Many little fixes and additions of debug statements to
11626           get rhythmbox working.
11627
11628 2003-12-23  Colin Walters  <walters@verbum.org>
11629
11630         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
11631         Use GST_PAD_LINK_SUCCESSFUL.
11632
11633 2003-12-23  David Schleef  <ds@schleef.org>
11634
11635         * gst/elements/gstaggregator.c:
11636         * gst/elements/gsttee.c:
11637           Use gst_pad_proxy_getcaps().
11638         * gst/gstpad.c:
11639         * gst/gstpad.h:
11640           Add gst_pad_proxy_getcaps(), which filter elements can use
11641           as a generic getcaps implementation.
11642           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
11643           was advertised.
11644
11645 2003-12-23  David Schleef  <ds@schleef.org>
11646
11647         * gst/gstpad.c:
11648           Rearrange/rewrite much of the pad negotiation code, since it
11649           resembled pasta.  This actually changes the way some
11650           negotiation works, since the previous code was inconsistent
11651           depending on how it was invoked.  Add (internal) structure
11652           GstPadLink, which is used to hold some information (more in
11653           the future) about the link between two pads.  Fixes a number
11654           of bugs, including random lossage of filter caps when the
11655           initial negotiation is delayed.  A few functions are still
11656           unimplemented.
11657         * gst/gstpad.h:
11658           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
11659           these when testing GstPadLinkReturn values instead of comparing
11660           directly.
11661
11662 2003-12-23  David Schleef  <ds@schleef.org>
11663
11664         * gst/gstvalue.c: 
11665         * gst/gstvalue.h:
11666           Rearrange lots of code.  Change registration of compare function
11667           into registration of compare/serialize/deserialize functions.
11668           Doesn't include implementation of gst_value_[de]serialize(),
11669           but that should be easy.
11670
11671 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11672
11673         * docs/gst/gstreamer-sections.txt:
11674         * docs/gst/tmpl/gstprops.sgml: removed
11675         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
11676           David removed props and caps code, so let's remove their docs as well.
11677           Removed all no longer existing symbols from gstreamer-sections.txt
11678           
11679 2003-12-22  Colin Walters  <walters@verbum.org>
11680
11681         * gst/gsttaginterface.c, gst/gsttaginterface.h,
11682           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
11683           of tags directly.
11684
11685 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11686
11687         * gst/elements/gstelements.c:
11688           Set ranks of elements to NONE, so the autoplugger doesn't use them.
11689         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
11690           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
11691           gst_caps (peer).
11692
11693 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11694
11695         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11696         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
11697         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
11698         (gst_spider_identity_sink_loop_type_finding):
11699         * gst/autoplug/gstspideridentity.h:
11700           Fix autoplugging in spider element, so it works with new caps.
11701           This was mainly caused by identifying empty caps incorrectly.
11702
11703 2003-12-22  David Schleef  <ds@schleef.org>
11704
11705         * gststructure.c, gstvalue.c, gstvalue.h: Add
11706           gst_value_init_and_copy() and use it, to avoid silly mistakes in
11707           using g_value_copy()
11708
11709 2003-12-21  David Schleef  <ds@schleef.org>
11710
11711         * many, many files: Merge CAPS branch.  This includes:
11712           - implemention of GstValue and several GstValue types
11713           - implemention of GstStructure
11714           - entire rewrite of GstCaps
11715           - removal of GstProps
11716           - many changes to GstPad to compensate for new caps paradigm
11717           - removal of GstBufferpool
11718         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
11719         gstvalue.h, gst/gstcaps[2]*.[ch]:
11720           - rename gstcaps2.[ch] to gstcaps.[ch]
11721
11722 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11723
11724         * gst/gstqueue.c: (gst_queue_handle_pending_events),
11725         (gst_queue_chain), (gst_queue_handle_src_event):
11726           implement timeout for sending events. Workaround for if the
11727           pipeline on this queue is not passing any data.
11728
11729 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
11730                                                                                 
11731         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
11732         * moved CVS to freedesktop.org
11733