docs/design/part-activation.txt: Notes on how activation should work -- not quite...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-06-27  Andy Wingo  <wingo@pobox.com>
2
3         * docs/design/part-activation.txt: Notes on how activation should
4         work -- not quite implemented yet.
5
6 2005-06-25  Wim Taymans  <wim@fluendo.com>
7
8         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9         At least get the chain function correct, needs more
10         fixing.
11
12 2005-06-25  Wim Taymans  <wim@fluendo.com>
13
14         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15         (gst_basesink_handle_object), (gst_basesink_event),
16         (gst_basesink_do_sync), (gst_basesink_handle_event),
17         (gst_basesink_change_state):
18         * gst/gsttask.h:
19         Right, two problems here: ghostpads don't take locks and
20         glib _rec_mutex_lock_full() with depth==0 still locks.
21         Catch illegal locking and g_warn them.
22
23 2005-06-25  Wim Taymans  <wim@fluendo.com>
24
25         * check/states/sinks.c: (START_TEST), (gst_object_suite):
26         Have to check for completion now...
27
28 2005-06-25  Wim Taymans  <wim@fluendo.com>
29
30         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
31         (gst_basesink_handle_object), (gst_basesink_event),
32         (gst_basesink_do_sync), (gst_basesink_handle_event),
33         (gst_basesink_change_state):
34         * gst/gstpad.h:
35         Unlock STREAM_LOCK whatever the recursion was.
36
37 2005-06-25  Wim Taymans  <wim@fluendo.com>
38
39         * gst/base/gstbasesink.c: (gst_basesink_set_property),
40         (gst_basesink_preroll_queue_empty),
41         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
42         (gst_basesink_event), (gst_basesink_do_sync),
43         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
44         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
45         (gst_basesink_change_state):
46         Reworked the base sink, handle event and buffer serialisation
47         correctly and removed possible deadlock.
48         Handle EOS correctly.
49
50 2005-06-25  Wim Taymans  <wim@fluendo.com>
51
52         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
53         (gst_pipeline_change_state):
54         * tools/gst-launch.c: (check_intr), (event_loop), (main):
55         Allow elements to post EOS in the state change function.
56         Fix up -launch, make it exit the poll loop when the
57         pipeline actually changed state.
58         Fix up warning parsing in -launch.
59
60 2005-06-25  Wim Taymans  <wim@fluendo.com>
61
62         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
63         (gst_tee_sink_activate):
64         Core takes STREAM_LOCK for us now.
65
66 2005-06-25  Wim Taymans  <wim@fluendo.com>
67
68         * gst/gstelement.c: (gst_element_get_state_func),
69         (gst_element_set_state):
70         * gst/gstelement.h:
71         * gst/gstmessage.c: (gst_message_parse_error),
72         (gst_message_parse_warning):
73         Keep track of current target state while performing a state
74         change so that subclasses can do something interesting.
75         Fix parsing of warning/error messages when GError is NULL.
76
77 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
78
79         * docs/gst/Makefile.am:
80         * docs/gst/gstreamer-docs.sgml:
81         * docs/gst/gstreamer-sections.txt:
82         * docs/gst/gstreamer.types:
83         * docs/gst/tmpl/gstbasesink.sgml:
84         * docs/gst/tmpl/gstbasesrc.sgml:
85         * docs/gst/tmpl/gstbin.sgml:
86         * docs/gst/tmpl/gstcompat.sgml:
87         * docs/gst/tmpl/gstfakesink.sgml:
88         * docs/gst/tmpl/gstfakesrc.sgml:
89         * docs/gst/tmpl/gstfilesink.sgml:
90         * docs/gst/tmpl/gstfilesrc.sgml:
91         * docs/gst/tmpl/gstindex.sgml:
92         * docs/manual/appendix-quotes.xml:
93         * gst/base/gstbasesrc.h:
94         * gst/elements/gstfakesrc.h:
95         * gst/gstmessage.h:
96           start pulling in base classes and elements in our docs
97
98 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
99
100         * docs/gst/Makefile.am:
101         * docs/libs/Makefile.am:
102           fixed make distcheck with gtk-doc 1.3
103
104 2005-06-23  Wim Taymans  <wim@fluendo.com>
105
106         * gst/gstelement.c: (gst_element_get_state_func),
107         (gst_element_set_state), (gst_element_change_state):
108         When the state did not change, also report NO_PREROLL
109         when it matters.
110
111 2005-06-23  Wim Taymans  <wim@fluendo.com>
112
113         * gst/gstpad.c: (gst_pad_event_default):
114         * gst/gstqueue.c: (gst_queue_loop):
115         No unsafe task pausing please.
116
117 2005-06-23  Wim Taymans  <wim@fluendo.com>
118
119         * gst/schedulers/threadscheduler.c:
120         (gst_thread_scheduler_task_start),
121         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
122         Ref the task before pushing it on the threadpool. This
123         makes sure that we have a ref when the threadfunction is
124         actually called.
125
126 2005-06-23  Andy Wingo  <wingo@pobox.com>
127
128         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
129         offset is greater than the file's size.
130
131         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
132         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
133         * gst/gstobject.c (gst_object_class_init): Make the class lock
134         recursive. Wim won't let me drop deep_notify. Decodebin works
135         again, whoopdy doo.
136
137         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
138         internal pad, and hacks accordingly. Doesn't do it on the target
139         pad because we change its caps. Probably catches all cases of
140         interest tho.
141         (gst_ghost_pad_set_property): Connect to notify::caps as
142         appropritate.
143
144         * tests/network-clock.scm (plot-simulation): Pipe data to the
145         elite python skript.
146
147         * tests/network-clock-utils.scm (define-parameter): New macro,
148         defines a parameter that can be set via the command line.
149         (set-parameter!, parse-parameter-arguments): Command line args
150         parser.
151
152         * tests/plot-data: Simple matplotlib-based plotter, takes input on
153         stdin.
154
155 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
156
157         * gst/elements/gsttypefindelement.c:
158         (gst_type_find_element_handle_event):
159           Don't restart typefinding on a discont.
160         * gst/gstelement.c: (gst_element_set_state):
161           Debug spelling fix.
162         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
163           Allow changing mode of an active pad.
164           Debug output fixes.
165         * gst/registries/gstlibxmlregistry.c: (load_feature):
166           Don't cast a static pad template to a normal pad template.
167
168 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
169
170         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
171         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
172           remove gst_strtoll completely, since it didn't actually do
173           anything more than what g_ascii_strtoull already does.
174           check for range errors when deserializing
175           do a cast for the unsigned cases; but further fixing needs
176           a decision on what the interpretation of "(int)" and
177           deserialization should be for values that fall outside the
178           type's boundaries (ie, refuse, or interpret as casting)
179
180 2005-06-23  Wim Taymans  <wim@fluendo.com>
181
182         * check/Makefile.am:
183         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
184         * docs/design/part-live-source.txt:
185         * docs/design/part-states.txt:
186         * gst/base/gstbasesrc.c: (gst_basesrc_init),
187         (gst_basesrc_set_live), (gst_basesrc_is_live),
188         (gst_basesrc_get_range), (gst_basesrc_activate),
189         (gst_basesrc_change_state):
190         * gst/base/gstbasesrc.h:
191         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
192         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
193         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
194         * gst/gstelement.c: (gst_element_get_state_func),
195         (gst_element_set_state):
196         * gst/gstelement.h:
197         * gst/gsttypes.h:
198         * tools/gst-launch.c: (event_loop), (main):
199         Added support for live sources and other elements that
200         cannot do preroll.
201         Updated design docs, added live-source design doc.
202         Implemented live source functionality in basesrc
203         Fix error condition in _bin_get_state()
204         Implement live source handling in -launch.
205         Added check for live sources.
206         Fixed case in GstBin where elements were changed state
207         multiple times.
208
209
210 2005-06-23  Andy Wingo  <wingo@pobox.com>
211
212         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
213         borken refcounting.
214
215         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
216         gst_caps_replace takes care of this for us.
217
218         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
219         gst_pad_set_caps on the target, not just its setcaps() function.
220
221         * tests/network-clock.scm: 
222         * tests/network-clock-utils.scm: A network clock simulator.
223         Something of an algorithmic testbed before doing something in C.
224
225 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
226
227         * check/Makefile.am:
228         * check/gst/capslist.h:
229           copy over from 0.8, and add two with bitmasks specified with
230           (int) 0xFF...
231         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
232           add test to parse everything from capslist.h
233         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
234         (main):
235           add test for structure deserialization
236         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
237           add tests for deserialization of strings to int types
238         * gst/gststructure.c: (gst_structure_nth_field_name):
239         * gst/gststructure.h:
240           add a way to get the name of a field referenced by index
241         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
242           instead of checking if the resulting long long lies between
243           min and max, we check if the long long would fit into
244           a number of bytes for the final type.
245           This fixes cases where a string represents 2^32 - 1, which
246           when cast to int would be the (valid) -1, but is bigger than
247           G_MAXINT
248
249 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
250
251         * gst/parse/grammar.y:
252           add a log line for type deserialization
253
254 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
255
256         * check/gst/gstvalue.c: (START_TEST):
257         * gst/gstvalue.c: (gst_value_deserialize):
258           return long long, not int, so gint64 deserialization actually
259           works.  Is there any flag that makes the compiler check this ?
260           Fixes #308559
261
262 2005-06-22  Wim Taymans  <wim@fluendo.com>
263
264         * gst/gstbuffer.h:
265         Added convenience macros for setting buffers in GValue.
266
267 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
268
269         * check/gst/.cvsignore:
270         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
271           add a test deserializing int64, and comment part out because
272           it fails, yay !
273
274 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
275
276         * check/Makefile.am:
277         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
278         * testsuite/Makefile.am:
279         * testsuite/caps/Makefile.am:
280         * testsuite/caps/value_serialize.c:
281         * testsuite/test_gst_init.c:
282           move a value_serialize test over
283
284 2005-06-20  Wim Taymans  <wim@fluendo.com>
285
286         * gst/gstpad.c:
287         Small doc updates.
288         
289         * gst/gstvalue.c: (gst_value_compare_buffer),
290         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
291         (gst_value_compare_flags), (gst_value_serialize_flags),
292         (gst_value_deserialize_flags), (_gst_value_initialize):
293         Fix serialisation of buffers, they are not boxed types anymore
294
295 2005-06-20  Wim Taymans  <wim@fluendo.com>
296
297         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
298         Testcase to show error in buffer-on-caps serialisation.
299
300 2005-06-20  Andy Wingo  <wingo@pobox.com>
301
302         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
303         will be adding to later.
304
305         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
306         if its socks fill with rocks.
307         (gst_system_clock_obtain): Set the name on object construction.
308         Avoid double-checked locking.
309
310 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
311
312         * gst/gsturi.c: (gst_element_make_from_uri):
313           Fix potential endless loop.
314
315 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
316
317         * check/Makefile.am:
318           add gsttag
319         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
320         (main):
321           move over from testsuite dir and clean up
322         * configure.ac:
323         * gst/gsttag.c:
324         * testsuite/Makefile.am:
325         * testsuite/tags/.cvsignore:
326         * testsuite/tags/Makefile.am:
327         * testsuite/tags/merge.c:
328           remove testsuite/tags
329
330 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
331
332         * docs/gst/gstreamer-sections.txt:
333         * docs/gst/tmpl/gstenumtypes.sgml:
334         * win32/gstenumtypes.c:
335           clean up documentation build a little
336
337 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
338
339         * check/gstcheck.h:
340           add macros for checking refcounts on objects and caps
341         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
342           add some more unit tests
343         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
344         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
345           fix leaked refcounts (I hope :)) so unittest works
346         * gst/gstpad.h:
347           whitespace removal
348
349 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
350
351         * configure.ac: back to HEAD
352
353 === release 0.9.1 ===
354
355 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
356
357         * NEWS:
358         * RELEASE:
359           updated
360
361 2005-06-17  Andy Wingo  <wingo@pobox.com>
362
363         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
364         assert; it's always possible that the pad gets deactivated in
365         between the checks in gstpad.c and the implementation. Rely on
366         finish_preroll() to return a FLUSHING or similar instead of on the
367         assert.
368         
369         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
370         clock and post an EOS message if we come out of finish_preroll in
371         the playing state.
372
373 2005-06-16  David Schleef  <ds@schleef.org>
374
375         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
376         (gst_capsfilter_set_property): Allow NULL as possible value
377         for filter_caps property, indicating GST_CAPS_ANY.
378
379 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
380
381         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
382           fix debug output
383         * gst/schedulers/Makefile.am:
384           use libgst prefix
385         * gstreamer.spec.in:
386           fix spec for it
387
388 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
389
390         * gstreamer.spec.in:
391           clean up
392
393 2005-06-08  Andy Wingo  <wingo@pobox.com>
394
395         * gst/gstutils.c: RPAD fixes all around.
396         (gst_element_link_pads): Refcounting fixes.
397
398         * tools/gst-inspect.c:
399         * tools/gst-xmlinspect.c:
400         * parse/grammar.y:
401         * gst/base/gsttypefindhelper.c:
402         * gst/base/gstbasesink.c:
403         * gst/gstqueue.c: RPAD fixes.
404
405         * gst/gstghostpad.h:
406         * gst/gstghostpad.c: New ghost pad implementation as full proxy
407         pads. The tricky thing is they provide both source and sink
408         interfaces, since they proxy the internal pad for the external
409         pad, and vice versa. Implement with lower-level ProxyPad objects,
410         with the interior proxy pad as a child of the exterior ghost pad.
411         Should write a doc on this.
412         
413         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
414         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
415         gst_object API.
416         
417         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
418         pads are real pads. No ghost pads in this file. Not documenting
419         the myriad s/RPAD/PAD/ and REALIZE fixes.
420         (gst_pad_class_init): Add properties for "direction" and
421         "template". Both are construct-only, so they can't change during
422         the life of the pad. Fixes properly deriving from GstPad.
423         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
424         derived objects, just set properties when creating the objects via
425         g_object_new.
426         (gst_pad_get_parent): Implement as a function, return NULL if the
427         parent is not an element.
428         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
429         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
430         
431         * gst/gstobject.c (gst_object_class_init): Make name a construct
432         property. Don't set it in the object init.
433
434         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
435         with UNKNOWN direction.
436         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
437         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
438         (gst_element_remove_pad): Remove ghost-pad special cases.
439         (gst_element_pads_activate): Remove rpad cruft.
440
441         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
442         catch the pad's-parent-not-an-element case.
443
444         * gst/gst.h: Include gstghostpad.h.
445
446         * gst/gst.c (init_post): No more real, ghost pads.
447
448         * gst/Makefile.am: Add gstghostpad.[ch].
449
450         * check/Makefile.am:
451         * check/gst/gstbin.c:
452         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
453         into a bin creates ghost pads, and that the refcounts are right.
454         Partly moved from gstbin.c.
455
456 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
457
458         * check/gst-libs/.cvsignore:
459         * check/gst/.cvsignore:
460         * check/pipelines/.cvsignore:
461           ignore more
462         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
463         (START_TEST), (cleanup_suite), (main):
464           add some tests related to cleanup after running pipelines
465
466 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
467
468         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
469           add a testsuite for GstBuffer
470
471 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
472
473         * gst/gstminiobject.h:
474           add defines for accessing the refcount
475
476 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
477
478         * Makefile.am: added support for html unit test coverage reports
479
480 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
481
482         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
483           Free existing caps if the capsfilter changes. Add a FIXME about
484           setting those caps on the pads.
485
486         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
487           Before adding a ghost pad to a parent bin, check that there isn't
488           already one for the element on the bin. Prevents infinite recursion
489           when using decodebin in parse pipelines. Andy says he'll rewrite the
490           way this works anyway, so ignore the hack.
491
492 2005-06-02  Andy Wingo  <wingo@pobox.com>
493
494         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
495         file size, pass it on to the type find helper.
496
497         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
498         segment_start and segment_end properly according to the seek
499         method. Segment_end is still a bit flaky because offset can be
500         negative for CUR and END cases, but it takes -1 as an "unset"
501         value.
502
503 2005-06-02  Wim Taymans  <wim@fluendo.com>
504
505         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
506         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
507         (gst_basesink_activate):
508         * gst/base/gstbasesink.h:
509         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
510         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
511         (gst_pad_query), (gst_pad_start_task):
512         * gst/gstpad.h:
513         * gst/gstqueue.c: (gst_queue_bufferalloc),
514         (gst_queue_handle_sink_event), (gst_queue_chain):
515         Bufferalloc: return GstFlowReturn to more accuratly report
516         why allocation failed.
517
518 2005-06-02  Wim Taymans  <wim@fluendo.com>
519
520         * gst/gstpipeline.c: (gst_pipeline_send_event):
521         Take snapshot of state without blocking.
522
523 2005-06-02  Wim Taymans  <wim@fluendo.com>
524
525         * docs/design/part-TODO.txt:
526         * docs/design/part-caps.txt:
527         * docs/design/part-clocks.txt:
528         * docs/design/part-negotiation.txt:
529         * docs/design/part-preroll.txt:
530         Small doc updates 
531
532 2005-05-30  Wim Taymans  <wim@fluendo.com>
533
534         * gst/elements/gstidentity.c: (gst_identity_event),
535         (gst_identity_transform), (gst_identity_get_property):
536         Protect last_message property as it is accessed from
537         multiple threads.
538
539 2005-05-30  Wim Taymans  <wim@fluendo.com>
540
541         * gst/gstelement.c: (gst_element_init),
542         (gst_element_pads_activate), (gst_element_change_state):
543         Slicker pad activation code.
544
545 2005-05-30  Wim Taymans  <wim@fluendo.com>
546
547         * gst/Makefile.am:
548         * gst/gstelement.h:
549         * gst/gstelementfactory.h:
550         * gst/gsttypes.h:
551         Move elementfactory methods to separate .h file.
552
553 2005-05-30  Wim Taymans  <wim@fluendo.com>
554
555         * docs/design/part-overview.txt:
556         * gst/gstsystemclock.h:
557         Small typo fixes, doc updates.
558
559 2005-05-30  Wim Taymans  <wim@fluendo.com>
560
561         * gst/gst.c: (gst_init_get_popt_table), (init_post),
562         (init_popt_callback):
563         Remove cpu-opt flag.
564
565 2005-05-30  Wim Taymans  <wim@fluendo.com>
566
567         * gst/gstbuffer.c: (gst_subbuffer_finalize),
568         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
569         * gst/gstbuffer.h:
570         Avoid typechecking in places where not needed.
571         Added accessor for malloc_data.
572
573 2005-05-30  Wim Taymans  <wim@fluendo.com>
574
575         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
576         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
577         (gst_pad_configure_sink), (gst_pad_configure_src),
578         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
579         (gst_pad_start_task):
580         Propagate errors from _set_caps() in configure_src/sink
581         functions instead of returning TRUE.
582         FLUSH events can travel up and downstream
583
584
585 2005-05-30  Wim Taymans  <wim@fluendo.com>
586
587         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
588         (gst_basesink_activate):
589         Handle EOS in preroll.
590
591 2005-05-30  Wim Taymans  <wim@fluendo.com>
592
593         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
594         (gst_queue_loop), (gst_queue_handle_src_event):
595         Remove old pieces of code
596         Flushing the queue in an upstream event is a very bad idea.
597
598 2005-05-26  Andy Wingo  <wingo@pobox.com>
599
600         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
601         gst_value_set_mini_object so as to add a ref on the object (which
602         will be removed when the value is unset).
603
604         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
605         arg type in ::handoff.
606
607         * gst/gstelement.c (gst_element_change_state): Also deactivate
608         pads in READY->NULL, just in case the element didn't make it to
609         PAUSED. Wingo tested, Wim approved.
610
611 2005-05-26  Wim Taymans  <wim@fluendo.com>
612
613         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
614         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
615         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
616         A flushing pad cannot be used to alloc_buffer from.
617
618 2005-05-26  Wim Taymans  <wim@fluendo.com>
619
620         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
621         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
622         (gst_bus_source_dispatch), (gst_bus_source_finalize),
623         (gst_bus_create_watch), (gst_bus_add_watch_full):
624         * gst/gstbus.h:
625         Implement a real GSource and use g_main_context_wakeup() to
626         signal new messages instead of the socketpair.
627
628 2005-05-25  Wim Taymans  <wim@fluendo.com>
629
630         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
631         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
632         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
633         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
634         (gst_pad_send_event), (gst_pad_start_task):
635         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
636         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
637         (gst_queue_sink_activate), (gst_queue_src_activate),
638         (gst_queue_change_state):
639         * gst/gstqueue.h:
640         Fix state changes for non sinks. We now change sinks, then elements
641         with unconnected srcpads, then the rest.
642         More efficient queue unlocking in flush and state changes.
643         Set the pad activate mode even if it does not have an activate
644         function.
645
646 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
647
648         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
649           Don't go in pull mode for non-seekable sources.
650         * gst/elements/gsttypefindelement.h:
651         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
652         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
653         (free_entry), (stop_typefinding),
654         (gst_type_find_element_handle_event), (find_peek),
655         (gst_type_find_element_chain), (do_pull_typefind),
656         (gst_type_find_element_change_state):
657           Allow typefinding (w/o seeking) in push-mode, simplified version
658           of what was in 0.8.
659         * gst/gstutils.c: (gst_buffer_join):
660         * gst/gstutils.h:
661           gst_buffer_join() from 0.8.
662
663 2005-05-25  Wim Taymans  <wim@fluendo.com>
664
665         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
666         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
667         (gst_pad_send_event), (gst_pad_start_task):
668         Disable attempt at mode switching until it is figured out.
669
670 2005-05-25  Wim Taymans  <wim@fluendo.com>
671
672         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
673         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
674         (gst_basesink_finish_preroll), (gst_basesink_chain),
675         (gst_basesink_loop), (gst_basesink_activate),
676         (gst_basesink_change_state):
677         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
678         (gst_basesrc_get_range), (gst_basesrc_loop),
679         (gst_basesrc_activate):
680         * gst/elements/gsttee.c: (gst_tee_sink_activate):
681         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
682         (gst_real_pad_init), (gst_real_pad_set_property),
683         (gst_real_pad_get_property), (gst_pad_set_active),
684         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
685         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
686         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
687         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
688         (gst_pad_event_default_dispatch), (gst_pad_event_default),
689         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
690         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
691         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
692         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
693         (gst_pad_stop_task):
694         * gst/gstpad.h:
695         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
696         (gst_queue_loop), (gst_queue_src_activate):
697         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
698         (gst_task_get_state):
699         * gst/gsttask.h:
700         * gst/schedulers/threadscheduler.c:
701         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
702         Implement gst_pad_pause/start/stop_task(), take STREAM lock
703         in task function.
704         Remove ACTIVE pad flag, use FLUSHING everywhere
705         Added _pad_chain(), _pad_get_range() to call chain/getrange 
706         functions.
707         Add locks around IS_FLUSHING when reading.
708         Take STREAM lock in chain(), get_range() functions so plugins
709         don't need to take it anymore.
710         
711
712
713 2005-05-25  Wim Taymans  <wim@fluendo.com>
714
715         * tools/gst-launch.c: (event_loop):
716         Unref message after using its contents instead of
717         before.
718
719 2005-05-24  Wim Taymans  <wim@fluendo.com>
720
721         * docs/design/draft-ghostpads.txt:
722         * docs/design/draft-push-pull.txt:
723         * docs/design/draft-query.txt:
724         * docs/design/part-overview.txt:
725         Docs updates, added general overview doc.
726
727 2005-05-21  David Schleef  <ds@schleef.org>
728
729         * docs/gst/tmpl/old/GstBin.sgml:
730         * docs/gst/tmpl/old/GstBuffer.sgml:
731         * docs/gst/tmpl/old/GstCaps.sgml:
732         * docs/gst/tmpl/old/GstClock.sgml:
733         * docs/gst/tmpl/old/GstCompat.sgml:
734         * docs/gst/tmpl/old/GstData.sgml:
735         * docs/gst/tmpl/old/GstElement.sgml:
736         * docs/gst/tmpl/old/GstEvent.sgml:
737         * docs/gst/tmpl/old/GstIndex.sgml:
738         * docs/gst/tmpl/old/GstStructure.sgml:
739         * docs/gst/tmpl/old/GstTag.sgml:
740         * docs/gst/tmpl/old/cothreads.sgml:
741         * docs/gst/tmpl/old/cothreads_compat.sgml:
742         * docs/gst/tmpl/old/gettext.sgml:
743         * docs/gst/tmpl/old/gobject2gtk.sgml:
744         * docs/gst/tmpl/old/grammar.tab.sgml:
745         * docs/gst/tmpl/old/gst-i18n-app.sgml:
746         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
747         * docs/gst/tmpl/old/gst_private.sgml:
748         * docs/gst/tmpl/old/gstaggregator.sgml:
749         * docs/gst/tmpl/old/gstarch.sgml:
750         * docs/gst/tmpl/old/gstatomic_impl.sgml:
751         * docs/gst/tmpl/old/gstbufferstore.sgml:
752         * docs/gst/tmpl/old/gstdata_private.sgml:
753         * docs/gst/tmpl/old/gstdisksink.sgml:
754         * docs/gst/tmpl/old/gstdisksrc.sgml:
755         * docs/gst/tmpl/old/gstelementfactory.sgml:
756         * docs/gst/tmpl/old/gstextratypes.sgml:
757         * docs/gst/tmpl/old/gstfakesink.sgml:
758         * docs/gst/tmpl/old/gstfakesrc.sgml:
759         * docs/gst/tmpl/old/gstfdsink.sgml:
760         * docs/gst/tmpl/old/gstfdsrc.sgml:
761         * docs/gst/tmpl/old/gstfilesink.sgml:
762         * docs/gst/tmpl/old/gstfilesrc.sgml:
763         * docs/gst/tmpl/old/gsthttpsrc.sgml:
764         * docs/gst/tmpl/old/gstidentity.sgml:
765         * docs/gst/tmpl/old/gstindexfactory.sgml:
766         * docs/gst/tmpl/old/gstmarshal.sgml:
767         * docs/gst/tmpl/old/gstmd5sink.sgml:
768         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
769         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
770         * docs/gst/tmpl/old/gstpadtemplate.sgml:
771         * docs/gst/tmpl/old/gstpipefilter.sgml:
772         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
773         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
774         * docs/gst/tmpl/old/gstshaper.sgml:
775         * docs/gst/tmpl/old/gstspider.sgml:
776         * docs/gst/tmpl/old/gstspideridentity.sgml:
777         * docs/gst/tmpl/old/gststatistics.sgml:
778         * docs/gst/tmpl/old/gsttee.sgml:
779         * docs/gst/tmpl/old/gsttimecache.sgml:
780         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
781         * docs/gst/tmpl/old/gstxmlregistry.sgml:
782         * docs/gst/tmpl/old/gthread-cothreads.sgml:
783         * docs/gst/tmpl/old/types.sgml:
784           I didn't intend to add these or check them in.
785
786 2005-05-19  David Schleef  <ds@schleef.org>
787
788         * configure.ac: Use -no-common everywhere.  In a sane world, it
789           would be the default in libtool, because without it, you can't
790           build DLLs on Windows.
791         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
792         * docs/gst/gstreamer-sections.txt:
793         * docs/gst/tmpl/gstcpu.sgml:
794         * docs/gst/tmpl/gstdata.sgml:
795         * docs/gst/tmpl/gstthread.sgml:
796
797 2005-05-19  David Schleef  <ds@schleef.org>
798
799         * gst/gstminiobject.c: (gst_value_set_mini_object),
800         (gst_value_take_mini_object), (gst_value_get_mini_object):
801         * gst/gstminiobject.h: Add GValue set/get functions.
802
803 2005-05-19  Wim Taymans  <wim@fluendo.com>
804
805         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
806         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
807         (gst_subbuffer_init), (gst_buffer_is_span_fast):
808         * gst/gstbuffer.h:
809         * gst/gstbus.c: (gst_bus_post):
810         * gst/gstelement.c: (gst_element_get_random_pad):
811         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
812         Make subbufer unref the parent in finalize.
813         some more debugging info.
814
815
816 2005-05-19  Wim Taymans  <wim@fluendo.com>
817
818         * gst/base/gstbasesink.c: (gst_basesink_class_init),
819         (gst_basesink_init), (gst_basesink_finalize),
820         (gst_basesink_activate), (gst_basesink_change_state):
821         Don't free preroll queue too early.
822
823 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
824
825         * gst/Makefile.am:
826         * gst/ROADMAP:
827           Hi, I'm outdated. Please shoot me.
828
829 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
830
831         * gst/gstpipeline.c: (gst_pipeline_send_event):
832           Do not access variables after they have been deleted.
833
834 2005-05-19  Wim Taymans  <wim@fluendo.com>
835
836         * tools/gst-inspect.c: (print_plugin_features):
837         A plugin feature does unfortunatly not use the
838         object name yet...
839
840 2005-05-18  Wim Taymans  <wim@fluendo.com>
841
842         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
843         Port _span() functions to new subbuffers.
844
845 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
846
847         * gst/gstbin.c: (gst_bin_add_func):
848           Fix clock settery in bins when adding kids after the clock has
849           been selected.
850
851 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
852
853         * gst/elements/gstidentity.c: (gst_identity_class_init):
854           Workaround until signals support GstMiniObject.
855
856 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
857
858         * gst/gstbuffer.c:
859         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
860
861 2005-05-18  Wim Taymans  <wim@fluendo.com>
862
863         * gst/base/Makefile.am:
864         * gst/base/gstadapter.c: (gst_adapter_base_init),
865         (gst_adapter_class_init), (gst_adapter_init),
866         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
867         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
868         (gst_adapter_flush), (gst_adapter_available),
869         (gst_adapter_available_fast):
870         * gst/base/gstadapter.h:
871         Ported and added adapter to the base classes.
872
873 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
874
875         * gst/gst.c:
876         * gst/gstmessage.c:
877           Make sure the class is reffed/unreffed once before threads can be
878           used.  Fixes #304551.
879
880 2005-05-17  Wim Taymans  <wim@fluendo.com>
881
882         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
883         (gst_basesink_chain_unlocked), (gst_basesink_activate):
884         * gst/gstminiobject.c: (gst_mini_object_get_type),
885         (gst_mini_object_free):
886         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
887         (gst_pad_push), (gst_pad_push_event):
888         * gst/gstqueue.c: (gst_queue_change_state):
889         Don't queue buffers in basesink when we are flushing.
890         Unref buffer when flushing in basesink.
891         Flush queue when going to READY
892         Unref buffer when _push() returns an error.
893         Don't free MiniObject instance when refcount is incremented
894         in _finalize() so that we can recover objects.
895
896 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
897
898         * docs/manual/advanced-schedulers.xml:
899         * docs/manual/appendix-checklist.xml:
900         * docs/pwg/advanced-clock.xml:
901         * docs/pwg/advanced-interfaces.xml:
902         * docs/pwg/advanced-request.xml:
903         * docs/pwg/advanced-types.xml:
904         * docs/pwg/intro-preface.xml:
905         * examples/plugins/example.c: (gst_example_get_type),
906         (gst_example_class_init), (gst_example_chain),
907         (gst_example_set_property), (gst_example_get_property),
908         (gst_example_change_state), (plugin_init):
909         * examples/plugins/example.h:
910           small doc fixes
911
912 2005-05-17  Wim Taymans  <wim@fluendo.com>
913
914         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
915         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
916         * gst/gstqueue.c: (gst_queue_change_state):
917         Clear queue when going to READY.
918         Remove IN_SETCAPS flag too.
919
920 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
921
922         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
923           Remove implicit cast from gboolean to GstElementStateReturn;
924           make sure we still return failure in paused => ready case if
925           the parent class fails to change state and our own stop 
926           vfunc succeeds.
927
928 2005-05-17  Wim Taymans  <wim@fluendo.com>
929
930         * tools/gst-launch.c: (event_loop):
931         Message was unreffed too soon.
932
933 2005-05-16  Andy Wingo  <wingo@pobox.com>
934
935         * gst/gstbin.c (sink_iterator_filter): Err... um...
936
937         * check/gst/gstbin.c (test_ghost_pads): New test for the
938         ghosting-if-elements-not-in-same-bin behavior.
939
940 2005-05-16  David Schleef  <ds@schleef.org>
941
942         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
943         accessing refcount directly.
944
945 2005-05-15  David Schleef  <ds@schleef.org>
946
947         * check/Makefile.am: remove GstData checks
948         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
949         * gst/Makefile.am: add miniobject, remove data
950         * gst/gst.h: add miniobject, remove data
951         * gst/gstdata.c: remove
952         * gst/gstdata.h: remove
953         * gst/gstdata_private.h: remove
954         * gst/gsttypes.h: remove GstEvent and GstMessage
955         * gst/gstelement.c: (gst_element_post_message): fix for API changes
956         * gst/gstmarshal.list: change BOXED -> OBJECT
957
958         Implement GstMiniObject.
959         * gst/gstminiobject.c:
960         * gst/gstminiobject.h:
961
962         Modify to be subclasses of GstMiniObject.
963         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
964         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
965         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
966         (gst_subbuffer_get_type), (gst_subbuffer_init),
967         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
968         (gst_buffer_span):
969         * gst/gstbuffer.h:
970         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
971         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
972         (_gst_event_copy), (gst_event_new):
973         * gst/gstevent.h:
974         * gst/gstmessage.c: (_gst_message_initialize),
975         (gst_message_get_type), (gst_message_class_init),
976         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
977         (gst_message_new), (gst_message_new_error),
978         (gst_message_new_warning), (gst_message_new_tag),
979         (gst_message_new_state_changed), (gst_message_new_application):
980         * gst/gstmessage.h:
981         * gst/gstprobe.c: (gst_probe_perform),
982         (gst_probe_dispatcher_dispatch):
983         * gst/gstprobe.h:
984         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
985         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
986         (_gst_query_copy), (gst_query_new):
987
988         Update elements for GstData -> GstMiniObject changes
989         * gst/gstquery.h:
990         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
991         (gst_queue_chain), (gst_queue_loop):
992         * gst/elements/gstbufferstore.c:
993         (gst_buffer_store_add_buffer_func),
994         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
995         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
996         (gst_fakesink_render):
997         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
998         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
999         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
1000         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
1001         (gst_filesrc_create_read):
1002         * gst/elements/gstidentity.c: (gst_identity_class_init):
1003         * gst/elements/gsttypefindelement.c:
1004         (gst_type_find_element_src_event), (free_entry_buffers),
1005         (gst_type_find_element_handle_event):
1006         * libs/gst/dataprotocol/dataprotocol.c:
1007         (gst_dp_header_from_buffer):
1008         * libs/gst/dataprotocol/dataprotocol.h:
1009         * libs/gst/dataprotocol/dp-private.h:
1010
1011 2005-05-15  David Schleef  <ds@schleef.org>
1012
1013         * gst/elements/gstelements.c: Don't include headers that were
1014         just removed.
1015
1016 2005-05-15  David Schleef  <ds@schleef.org>
1017
1018         * gst/elements/Makefile.am: Remove some elements that don't
1019         need to be in the core (or even exist at all).
1020         * gst/elements/gstaggregator.c:
1021         * gst/elements/gstaggregator.h:
1022         * gst/elements/gstmd5sink.c:
1023         * gst/elements/gstmd5sink.h:
1024         * gst/elements/gstmultifilesrc.c:
1025         * gst/elements/gstmultifilesrc.h:
1026         * gst/elements/gstpipefilter.c:
1027         * gst/elements/gstpipefilter.h:
1028         * gst/elements/gstshaper.c:
1029         * gst/elements/gstshaper.h:
1030         * gst/elements/gststatistics.c:
1031         * gst/elements/gststatistics.h:
1032         * po/POTFILES.in: Remove above files.
1033
1034 2005-05-14  Andy Wingo  <wingo@pobox.com>
1035
1036         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
1037         so as to get the refs right.
1038         (sink_iterator_filter): New function, wraps bin_element_is_sink,
1039         unreffing objects that don't pass the filter.
1040
1041         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
1042         gst_element_set_bus.
1043         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
1044         normal cases, this will destroy the bus.
1045
1046         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
1047         object.
1048
1049         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
1050         has no sinks.
1051
1052 2005-05-13  Andy Wingo  <wingo@pobox.com>
1053
1054         * gst/gstutils.c (gst_element_link_pads): Instead of calling
1055         gst_pad_link, call pad_link_maybe_ghosting,
1056         (pad_link_maybe_ghosting): Links pads, making sure that the
1057         elements being linked are in the same bin.
1058         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
1059         Helpers for pad_link_maybe_ghosting.
1060
1061 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1062
1063         * configure.ac:
1064           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
1065
1066 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1067
1068         * docs/design/part-element-source.txt:
1069           Mention GstPushSrc
1070
1071 2005-05-12  Wim Taymans  <wim@fluendo.com>
1072
1073         * gst/base/gstbasesink.c: (gst_basesink_init),
1074         (gst_basesink_activate):
1075         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
1076         (gst_basesrc_is_seekable):
1077         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1078         (bin_element_is_sink), (gst_bin_change_state):
1079         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1080         * gst/gstelement.h:
1081         Identify sinks by their flag to avoid overly complicated
1082         checks (fow now).
1083         Do state changes even for elements not reachable from the
1084         sinks.
1085         BaseSink is a sink now :)
1086         Some more debugging info in the basesrc.
1087
1088
1089 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1090
1091         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
1092           Implement _query on a bin, similar to _send_event.
1093
1094 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1095
1096         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
1097           Discont event offset format should be GST_FORMAT_BYTES,
1098           not GST_FORMAT_TIME.
1099
1100 2005-05-12  Wim Taymans  <wim@fluendo.com>
1101
1102         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
1103         Same fix as Ronald's but without the signal. 
1104
1105 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1106
1107         * gst/gstutils.c: (gst_element_query_position):
1108           No, an element is not a pad.
1109
1110 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1111
1112         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
1113         (gst_bin_get_state):
1114           If a child is removed from a bin while we remove the child from
1115           the bin and while we're retrieving its state, signal this to the
1116           get_state function so we abort the wait (instead of waiting for
1117           a timeout) and can immediately re-iterate over all other elements.
1118
1119 2005-05-12  Wim Taymans  <wim@fluendo.com>
1120
1121         * gst/base/Makefile.am:
1122         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
1123         (gst_basesrc_start):
1124         * gst/base/gstbasesrc.h:
1125         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
1126         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
1127         (gst_pushsrc_init), (gst_pushsrc_create):
1128         * gst/base/gstpushsrc.h:
1129         Added is_seekable to BaseSrc
1130         Added simple PushSrc.
1131
1132 2005-05-11  Wim Taymans  <wim@fluendo.com>
1133
1134         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1135         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1136         (gst_element_link_pads), (gst_element_query_position),
1137         (gst_element_query_convert), (intersect_caps_func),
1138         (gst_pad_query_position), (gst_pad_query_convert):
1139         Fix refcounting in utils function.
1140         No point in trying to activate a pad when it's added, it could
1141         be added from the state change function and then we deadlock, the
1142         element has to decide what to do.
1143
1144 2005-05-10  Andy Wingo  <wingo@pobox.com>
1145
1146         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
1147         *all* the arguments.
1148
1149         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
1150         stream lock if it's a FLUSH_DONE; normal flushes don't get the
1151         lock (according to the docs -- if this is wrong change the docs).
1152
1153         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
1154         flush messages in the NULL state.
1155
1156         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
1157         message immediately and return.
1158         (gst_bus_set_flushing): New function. If a bus is flushing, it
1159         flushes out any queued messages and immediately unrefs new
1160         messages. This is so when an element goes to NULL, all of the
1161         unhandled messages coming from it can be freed, and their
1162         references to the element dropped. In other words: message source
1163         ref considered harmful :P
1164
1165         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
1166         we're finished with it.
1167
1168         * gst/gstmessage.c (gst_message_new_state_changed): 
1169
1170 2005-05-10  Wim Taymans  <wim@fluendo.com>
1171
1172         * gst/gstvalue.c: (gst_value_compare_flags),
1173         (gst_value_serialize_flags), (gst_value_deserialize_flags),
1174         (_gst_value_initialize):
1175         Added flags serialize/deserialize/compare code.
1176
1177 2005-05-09  Andy Wingo  <wingo@pobox.com>
1178
1179         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
1180         Intersect the peer's caps with our caps.
1181
1182 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1183
1184         * gst/base/gsttypefindhelper.c: (helper_find_peek):
1185         * gst/elements/gsttypefindelement.c: (find_peek):
1186           Handle negative offsets better. Fixes decodebin.
1187
1188 2005-05-09  Wim Taymans  <wim@fluendo.com>
1189
1190         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
1191         (gst_base_transform_event):
1192         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
1193         Implement accept_caps.
1194         Fix silly lock/unlock mismatch in base class.
1195
1196 2005-05-09  Wim Taymans  <wim@fluendo.com>
1197
1198         * docs/design/draft-push-pull.txt:
1199         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
1200         * gst/elements/gstfilesink.c: (gst_filesink_init),
1201         (gst_filesink_query):
1202         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1203         (gst_type_find_handle_src_query), (find_element_get_length):
1204         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
1205         * gst/gstelement.h:
1206         * gst/gstmessage.c:
1207         * gst/gstmessage.h:
1208         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
1209         (gst_real_pad_get_caps_unlocked),
1210         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
1211         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1212         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
1213         (gst_real_pad_dispose), (gst_real_pad_finalize),
1214         (gst_pad_load_and_link), (gst_pad_save_thyself),
1215         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
1216         (gst_pad_check_pull_range), (gst_pad_pull_range),
1217         (gst_pad_template_get_type), (gst_pad_template_class_init),
1218         (gst_pad_template_init), (gst_pad_template_dispose),
1219         (name_is_valid), (gst_static_pad_template_get),
1220         (gst_pad_template_new), (gst_static_pad_template_get_caps),
1221         (gst_pad_template_get_caps), (gst_pad_set_element_private),
1222         (gst_pad_get_element_private), (gst_pad_start_task),
1223         (gst_pad_pause_task), (gst_pad_stop_task),
1224         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
1225         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
1226         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
1227         (gst_ghost_pad_new):
1228         * gst/gstpad.h:
1229         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
1230         (gst_query_new_position), (gst_query_set_position),
1231         (gst_query_parse_position), (gst_query_new_convert),
1232         (gst_query_set_convert), (gst_query_parse_convert):
1233         * gst/gstquery.h:
1234         * gst/gstqueryutils.c:
1235         * gst/gstqueryutils.h:
1236         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1237         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1238         (gst_queue_handle_src_query):
1239         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1240         (gst_element_query_position), (gst_element_query_convert),
1241         (intersect_caps_func), (gst_pad_query_position),
1242         (gst_pad_query_convert):
1243         * gst/gstutils.h:
1244         * tools/gst-inspect.c: (print_pad_info):
1245         * tools/gst-xmlinspect.c: (print_element_info):
1246         Remove old query functions. Ported old code.
1247         Added position/convert helper functions to gstutils.
1248         Reordered gstpad.c code, grouping relevant things.
1249         Remove gst_message_new(), always need to speficy a specific
1250         message.
1251
1252
1253 2005-05-09  Andy Wingo  <wingo@pobox.com>
1254
1255         * gst/gstiterator.h: Add some includes.
1256
1257         * gst/gstqueryutils.h: Include more headers.
1258
1259         * gst/gstpad.h:
1260         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
1261         some uses of gst_pad_query.
1262
1263         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
1264         NULL out parameters.
1265         (gst_query_new_position): New proc, allocates a new position
1266         query.
1267
1268         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
1269         gstqueryutils.c to the build.
1270
1271         * gst/gststructure.c (gst_structure_set_valist): Implement with
1272         the generic G_VALUE_COLLECT.
1273         
1274 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
1275
1276         * gst/Makefile.am: (gst_headers):
1277         Added gstqueryutils.h to the list of headers to install, that was
1278         a 'nachty' move wingo :)
1279
1280 2005-05-06  Andy Wingo  <wingo@pobox.com>
1281
1282         * gst/gstquery.h
1283         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
1284         GstData, init a memchunk.
1285         (standard_definitions): Add a few query types, deprecate a few.
1286         (gst_query_get_type): New proc.
1287         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
1288         implementation.
1289         (gst_query_new_application, gst_query_get_structure): New public
1290         procs.
1291
1292         * docs/design/draft-query.txt: Removed LINKS from the query types,
1293         because all the rest can be dispatched to other pads -- seemed
1294         ugly to have a query that couldn't be dispatched. internal_links
1295         is fine as a pad method.
1296
1297         * gst/gstpad.h: Add query2 as a pad method, add the new functions
1298         in gstpad.c, but maintain binary compatibility for the moment.
1299         Will fix before 0.9 is out.
1300
1301         * gst/gstqueryutils.c: 
1302         * gst/gstqueryutils.h: New files, implement 3 methods for each
1303         query type: parse_query, parse_response, and set. Probably need an
1304         allocator as well.
1305
1306         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
1307
1308         * gst/elements/gstfilesink.c (gst_filesink_query2):
1309         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
1310         query_types, and formats methods.
1311
1312         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
1313         (gst_pad_set_query2_function): New functions.
1314         (gst_real_pad_init): Set query2_default as the default query2
1315         function. Basically just dispatches to internally linked pads.
1316
1317         Needs review!
1318         
1319         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
1320         without using the atomic operations. Only one thread can possibly
1321         be accessing the data at this point. Changed so as to avoid
1322         gst_atomic operations.
1323
1324 2005-05-06  Wim Taymans  <wim@fluendo.com>
1325
1326         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
1327         Also set caps if we use the fallback buffer alloc.
1328
1329 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
1330
1331         * docs/gst/Makefile.am:
1332         * docs/gst/gstreamer-docs.sgml:
1333         * docs/gst/gstreamer-sections.txt:
1334         * docs/gst/tmpl/gstatomic.sgml:
1335         * docs/gst/tmpl/gstmemchunk.sgml:
1336         * testsuite/elements/struct_i386.h:
1337         * win32/GStreamer.vcproj:
1338         * win32/Makefile:
1339           Purge GstAtomic stuff from docs and win32 makefiles as well
1340
1341 2005-05-06  Wim Taymans  <wim@fluendo.com>
1342
1343         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
1344         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
1345         * gst/gstpad.c: (gst_pad_peer_get_caps):
1346         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1347         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1348         (gst_queue_src_activate), (gst_queue_change_state):
1349         * gst/gstqueue.h:
1350         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1351         (intersect_caps_func):
1352         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
1353         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
1354         Some fixes for the peer_get_caps() change.
1355
1356 2005-05-06  Wim Taymans  <wim@fluendo.com>
1357
1358         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1359         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
1360         (gst_basesink_activate):
1361         Actually do something with error codes returned from the push
1362         functions.
1363
1364 2005-05-06  Wim Taymans  <wim@fluendo.com>
1365
1366         * docs/design/part-element-sink.txt:
1367         * docs/design/part-element-source.txt:
1368         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1369         (gst_basesink_event), (gst_basesink_activate):
1370         * gst/base/gstbasesink.h:
1371         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
1372         (gst_basesrc_activate):
1373         * gst/base/gstbasesrc.h:
1374         * gst/gstelement.c: (gst_element_pads_activate):
1375         Some more documentation.
1376         Fixed scheduling decision in _pads_activate().
1377
1378 2005-05-05  Andy Wingo  <wingo@pobox.com>
1379
1380         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
1381         the test suite.
1382
1383 2005-05-05  Wim Taymans  <wim@fluendo.com>
1384
1385         * gst/base/Makefile.am:
1386         * gst/base/gstbasesink.h:
1387         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1388         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
1389         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
1390         (gst_collectpads_class_init), (gst_collectpads_init),
1391         (gst_collectpads_finalize), (gst_collectpads_new),
1392         (gst_collectpads_set_function), (gst_collectpads_add_pad),
1393         (find_pad), (gst_collectpads_remove_pad),
1394         (gst_collectpads_is_active), (gst_collectpads_collect),
1395         (gst_collectpads_collect_range), (gst_collectpads_start),
1396         (gst_collectpads_stop), (gst_collectpads_peek),
1397         (gst_collectpads_pop), (gst_collectpads_available),
1398         (gst_collectpads_read), (gst_collectpads_flush),
1399         (gst_collectpads_chain):
1400         * gst/base/gstcollectpads.h:
1401         * gst/elements/Makefile.am:
1402         * gst/elements/gstelements.c:
1403         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1404         (gst_fakesink_get_times), (gst_fakesink_event),
1405         (gst_fakesink_preroll), (gst_fakesink_render):
1406         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1407         (gst_filesink_init), (gst_filesink_set_location),
1408         (gst_filesink_open_file), (gst_filesink_close_file),
1409         (gst_filesink_pad_query), (gst_filesink_event),
1410         (gst_filesink_render), (gst_filesink_change_state):
1411         * gst/elements/gstfilesink.h:
1412         Added object to help in making collect pad based elements.
1413         Ported filesink.
1414         Make event function in sink baseclass return gboolean.
1415
1416 2005-05-05  Wim Taymans  <wim@fluendo.com>
1417
1418         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
1419         (gst_bin_get_by_name):
1420         * gst/gstbuffer.h:
1421         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
1422         (gst_clock_finalize):
1423         * gst/gstdata.c: (gst_data_replace):
1424         * gst/gstdata.h:
1425         * gst/gstelement.c: (gst_element_request_pad),
1426         (gst_element_pads_activate):
1427         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1428         (gst_object_unref):
1429         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1430         (gst_pad_set_checkgetrange_function),
1431         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
1432         (gst_pad_check_pull_range), (gst_pad_pull_range),
1433         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1434         (gst_pad_pause_task), (gst_pad_stop_task):
1435         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1436         (gst_element_request_pad), (gst_pad_proxy_getcaps):
1437         Fix name lookup in GstBin.
1438         Added _data_replace() function and _buffer_replace()
1439         Use finalize method to clean up clock.
1440         Fix refcounting on request pads.
1441         Fix pad schedule mode error.
1442         Some more object refcounting debug info,
1443
1444
1445 2005-05-04  Andy Wingo <wingo@pobox.com>
1446
1447         * check/Makefile.am:
1448         * docs/gst/tmpl/gstatomic.sgml:
1449         * docs/gst/tmpl/gstplugin.sgml:
1450         * gst/base/gstbasesink.c: (gst_basesink_activate):
1451         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
1452         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
1453         (gst_basesrc_query), (gst_basesrc_set_property),
1454         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
1455         (gst_basesrc_activate):
1456         * gst/base/gstbasesrc.h:
1457         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
1458         (gst_base_transform_src_activate):
1459         * gst/elements/gstelements.c:
1460         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1461         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1462         * gst/elements/gsttee.c: (gst_tee_sink_activate):
1463         * gst/elements/gsttypefindelement.c: (find_element_get_length),
1464         (gst_type_find_element_checkgetrange),
1465         (gst_type_find_element_activate):
1466         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
1467         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
1468         (gst_caps_load_thyself):
1469         * gst/gstelement.c: (gst_element_pads_activate),
1470         (gst_element_save_thyself), (gst_element_restore_thyself):
1471         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
1472         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
1473         * gst/gstpad.h:
1474         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
1475         (gst_xml_parse_file), (gst_xml_parse_memory),
1476         (gst_xml_get_element), (gst_xml_make_element):
1477         * gst/indexers/gstfileindex.c: (gst_file_index_load),
1478         (_file_index_id_save_xml), (gst_file_index_commit):
1479         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
1480         (read_enum), (load_pad_template), (load_feature), (load_plugin),
1481         (load_paths):
1482         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
1483         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
1484         * tools/gst-complete.c: (main):
1485         * tools/gst-compprep.c: (main):
1486         * tools/gst-inspect.c: (print_element_properties_info):
1487         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1488         * tools/gst-xmlinspect.c: (print_element_properties):
1489         GCC 4 fixen.
1490         
1491 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1492
1493         * gst/gstplugin.c: (gst_plugin_check_module),
1494         (gst_plugin_check_file), (gst_plugin_load_file):
1495             apply patch from #172526 to make register work on MacOSX
1496
1497 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1498
1499         * docs/gst/tmpl/gstconfig.sgml:
1500         * gst/gstconfig.h.in:
1501           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
1502         * testsuite/debug/printf_extension.c: (main):
1503           Do not use GST_PTR_FORMAT on pointers to types with
1504           sizeof < sizeof(gpointer).  Fixes test on 64-bit
1505         * testsuite/elements/property.h:
1506           use correct printf format
1507
1508 2005-05-02  Wim Taymans  <wim@fluendo.com>
1509
1510         * docs/design/draft-push-pull.txt:
1511         * docs/design/draft-query.txt:
1512         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
1513         (gst_basesrc_start):
1514         Added draft for new query API.
1515         Added draft for better selecting scheduling methods.
1516         Make basesrc ignore length if the subclass does not support
1517         it.
1518
1519 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1520
1521         * gst/Makefile.am:
1522           possible fixes for automake-1.5 - _LIBADD is reserved
1523
1524 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1525
1526         * docs/faq/Makefile.am:
1527         * docs/manual/Makefile.am:
1528         * docs/manuals.mak:
1529         * docs/pwg/Makefile.am:
1530         * gst/Makefile.am:
1531           possible fixes for automake-1.5
1532
1533 2005-04-28  Wim Taymans  <wim@fluendo.com>
1534
1535         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1536         (gst_basesink_pad_getcaps), (gst_basesink_init),
1537         (gst_basesink_do_sync):
1538         * gst/gstclock.c: (gst_clock_entry_new):
1539         * gst/gstevent.c: (gst_event_discont_get_value):
1540         * gst/gstpipeline.c: (pipeline_bus_handler),
1541         (gst_pipeline_change_state):
1542         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1543         Better debugging of clocking info.
1544         Allow NULL values when getting discont values.
1545
1546 2005-04-27  Wim Taymans  <wim@fluendo.com>
1547
1548         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
1549         * check/gst/gstpad.c: (gst_pad_suite):
1550         Increase timeout for checks.
1551
1552 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1553
1554         * check/Makefile.am:
1555           fix the broken rule for cleanup.  Apparently this rule is
1556           only needed on FC2, so maybe this warrants further autotool
1557           inspection.
1558
1559 2005-04-26  Wim Taymans  <wim@fluendo.com>
1560
1561         * gst/gsttrashstack.h:
1562         Ooohh. a nasty one! After having a failed pop() from the stack,
1563         it's possible that the stack is empty. In that case, don't
1564         follow the NULL pointer.
1565
1566 2005-04-25  Wim Taymans  <wim@fluendo.com>
1567
1568         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1569         (gst_pad_set_checkgetrange_function),
1570         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
1571         (gst_pad_check_pull_range), (gst_pad_pull_range),
1572         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1573         (gst_pad_pause_task), (gst_pad_stop_task):
1574         * gst/gstplugin.c: (gst_plugin_load):
1575         * gst/gstplugin.h:
1576         Remove gst_library_load as it does more harm than good with
1577         the new g_module flags.
1578         Revert bogus caps template check in pad linking, pad caps
1579         are important when linking not the template, which is more
1580         general than the current caps.
1581
1582 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1583
1584         * gst/autoplug/.cvsignore:
1585         * gst/autoplug/Makefile.am:
1586         * gst/autoplug/gstsearchfuncs.c:
1587         * gst/autoplug/gstsearchfuncs.h:
1588         * gst/autoplug/gstspider.c:
1589         * gst/autoplug/gstspider.h:
1590         * gst/autoplug/gstspideridentity.c:
1591         * gst/autoplug/gstspideridentity.h:
1592         * gst/autoplug/spidertest.c:
1593           Die, spider, die.
1594
1595 2005-04-25  Wim Taymans  <wim@fluendo.com>
1596
1597         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1598         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
1599         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
1600         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
1601         * gst/gstpad.h:
1602         Added stubs for unimplemented functions. 
1603
1604 2005-04-24  David Schleef  <ds@schleef.org>
1605
1606         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
1607         please fix.
1608
1609 2005-04-24  David Schleef  <ds@schleef.org>
1610
1611         Convert everything from GstAtomicInt to g_atomic_int_*, and
1612         remove gstatomic.
1613         * gst/Makefile.am:
1614         * gst/gstatomic.c:
1615         * gst/gstatomic.h:
1616         * gst/gstatomic_impl.h:
1617         * gst/gstbuffer.c:
1618         * gst/gstcaps.c:
1619         * gst/gstcaps.h:
1620         * gst/gstclock.c:
1621         * gst/gstclock.h:
1622         * gst/gstdata.c:
1623         * gst/gstdata.h:
1624         * gst/gstdata_private.h:
1625         * gst/gstevent.c:
1626         * gst/gstinfo.c:
1627         * gst/gstinfo.h:
1628         * gst/gstmessage.c:
1629         * gst/gstobject.c:
1630         * gst/gstobject.h:
1631         * gst/gststructure.c:
1632         * gst/gststructure.h:
1633         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
1634         * gst/gstutils.h:
1635
1636 2005-04-24  David Schleef  <ds@schleef.org>
1637
1638         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
1639         make the regressions tests work.  Remove some code that is no
1640         longer true.
1641         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
1642         Disable warning for pads without templates.
1643
1644 2005-04-24  David Schleef  <ds@schleef.org>
1645
1646         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
1647         functions that handle filtered links.
1648         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
1649         removed functions.
1650         * gst/gstutils.c: Fix/remove utility functions that handle
1651         filtered caps.
1652         * gst/gstutils.h:
1653         * gst/gstvalue.c: Add serialization/deserialization of caps
1654         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
1655         requires fixing so that the filter caps notation creates
1656         a capsfilter element and sets the filter_caps property.  I
1657         think everyone probably wants to keep the shorthand notation.
1658         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
1659         * docs/gst/tmpl/gstpad.sgml:
1660
1661         * gst/elements/gstelements.c: Register capsfilter element.
1662         * gst/Makefile.am: fix spacing
1663         * docs/random/ds/0.9-suggested-changes: random
1664
1665 2005-04-23  David Schleef  <ds@schleef.org>
1666
1667         * gst/elements/Makefile.am:
1668         * gst/elements/gstcapsfilter.c: New element that acts like an
1669         identity, but filters caps.  Will eventually replace filtered
1670         caps in pad linking.
1671         * gst/gstutils.c: (gst_element_create_all_pads): New function
1672         to create all the ALWAYS pads that are registered with an
1673         element class.  This functionality should eventually be
1674         merged in with GstElement initialization.
1675         * gst/gstutils.h:
1676         * testsuite/trigger/README: part of trigger test code that should
1677         have been checked in a long time ago.
1678
1679 2005-04-23  David Schleef  <ds@schleef.org>
1680
1681         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
1682         needed with new versions of libtool (nobody will confirm this),
1683         and hard to carry around.
1684         * gst/autoplug/Makefile.am:
1685         * gst/base/Makefile.am:
1686         * gst/elements/Makefile.am:
1687         * gst/indexers/Makefile.am:
1688         * gst/schedulers/Makefile.am:
1689         * libs/gst/bytestream/Makefile.am:
1690         * libs/gst/control/Makefile.am:
1691         * libs/gst/dataprotocol/Makefile.am:
1692         * libs/gst/getbits/Makefile.am:
1693
1694 2005-04-21  Wim Taymans  <wim@fluendo.com>
1695
1696         * docs/design/draft-push-pull.txt:
1697         * docs/design/part-MT-refcounting.txt:
1698         * docs/design/part-TODO.txt:
1699         * docs/design/part-caps.txt:
1700         * docs/design/part-events.txt:
1701         * docs/design/part-gstbus.txt:
1702         * docs/design/part-gstpipeline.txt:
1703         * docs/design/part-messages.txt:
1704         * docs/design/part-push-pull.txt:
1705         * docs/design/part-query.txt:
1706         Some more docs.
1707
1708 2005-04-21  Wim Taymans  <wim@fluendo.com>
1709
1710         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
1711         (gst_message_new), (gst_message_new_error),
1712         (gst_message_new_warning), (gst_message_new_tag),
1713         (gst_message_new_state_changed), (gst_message_new_application),
1714         (gst_message_get_structure):
1715         * gst/gstmessage.h:
1716         * gst/gststructure.c: (gst_structure_set_parent_refcount),
1717         (gst_structure_copy_conditional):
1718         Use parent refcount in GstMessage to ensure GstStructure
1719         consistency.
1720         Cleaned up headers a bit.
1721         
1722
1723 2005-04-20  Wim Taymans  <wim@fluendo.com>
1724
1725         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1726         (gst_basesink_pad_getcaps), (gst_basesink_init),
1727         (gst_basesink_chain_unlocked):
1728         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
1729         (gst_type_find_helper):
1730         * gst/elements/gsttypefindelement.c:
1731         (gst_type_find_element_have_type), (gst_type_find_element_init),
1732         (stop_typefinding), (gst_type_find_element_handle_event),
1733         (find_suggest), (gst_type_find_element_chain),
1734         (gst_type_find_element_checkgetrange),
1735         (gst_type_find_element_getrange), (do_typefind),
1736         (gst_type_find_element_activate):
1737         * gst/gstbuffer.c: (_gst_buffer_sub_free),
1738         (gst_buffer_default_free), (gst_buffer_default_copy),
1739         (gst_buffer_set_caps):
1740         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
1741         (gst_caps_replace):
1742         * gst/gstmessage.c: (gst_message_new),
1743         (gst_message_new_state_changed):
1744         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1745         (gst_pad_set_checkgetrange_function),
1746         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
1747         (gst_pad_set_caps), (gst_pad_check_pull_range),
1748         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
1749         * gst/gstpad.h:
1750         * gst/gsttypefind.c: (gst_type_find_register):
1751         Make gst_caps_replace() work like other _replace() functions.
1752         Use _caps_replace() where possible.
1753         Make sure _message_new() initialises its field.
1754         Add gst_static_pad_template_get_caps()
1755
1756
1757 2005-04-18  Andy Wingo  <wingo@pobox.com>
1758
1759         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
1760         on the peer, not the pad. I think that was a typo. Pass an extra
1761         arg to see if random access is possible. Activate the pads as
1762         PULL_RANGE if possible.
1763
1764         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
1765
1766         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
1767         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
1768         to PROP_....
1769
1770 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1771
1772         * docs/faq/using.xml:
1773           Add note on gstreamer-properties (#154996).
1774
1775 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1776
1777         * docs/random/bbb/optional-properties:
1778           Some analysis on optional properties.
1779
1780 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1781
1782         * docs/gst/tmpl/gstelementfactory.sgml:
1783         * gst/gstelement.h:
1784         * gst/gstelementfactory.c: (gst_element_factory_init),
1785         (gst_element_factory_cleanup), (gst_element_register),
1786         (__gst_element_factory_add_static_pad_template),
1787         (gst_element_factory_get_static_pad_templates),
1788         (gst_element_factory_can_src_caps),
1789         (gst_element_factory_can_sink_caps):
1790         * gst/registries/Makefile.am:
1791         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
1792         (gst_xml_registry_class_init), (gst_xml_registry_init),
1793         (gst_xml_registry_new), (gst_xml_registry_set_property),
1794         (gst_xml_registry_get_property), (get_time), (make_dir),
1795         (gst_xml_registry_get_perms_func),
1796         (plugin_times_older_than_recurse), (plugin_times_older_than),
1797         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
1798         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
1799         (add_to_char_array), (read_string), (read_uint), (read_enum),
1800         (load_pad_template), (load_feature), (load_plugin), (load_paths),
1801         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
1802         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
1803         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
1804         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
1805         (gst_xml_registry_rebuild):
1806         * gst/registries/gstlibxmlregistry.h:
1807         * tools/gst-compprep.c: (main):
1808         * tools/gst-inspect.c: (print_pad_templates_info):
1809         * tools/gst-xmlinspect.c: (print_element_info):
1810           Use libxml2 for registry parsing, use staticpadtemplates in
1811           elementfactories. Makes gst_init() +/- 10x faster.
1812
1813 2005-04-12  Wim Taymans  <wim@fluendo.com>
1814
1815         * gst/base/Makefile.am:
1816         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1817         (gst_basesink_pad_getcaps), (gst_basesink_init),
1818         (gst_basesink_event), (gst_basesink_change_state):
1819         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1820         (gst_basesrc_init), (gst_basesrc_query),
1821         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1822         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1823         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1824         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1825         (gst_basesrc_stop), (gst_basesrc_activate),
1826         (gst_basesrc_change_state):
1827         * gst/base/gsttypefindhelper.c: (helper_find_peek),
1828         (helper_find_suggest), (gst_type_find_helper):
1829         * gst/base/gsttypefindhelper.h:
1830         * gst/elements/Makefile.am:
1831         * gst/elements/gstelements.c:
1832         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1833         (gst_fakesink_get_times), (gst_fakesink_event),
1834         (gst_fakesink_preroll), (gst_fakesink_render):
1835         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1836         (gst_fakesrc_init), (gst_fakesrc_event_handler),
1837         (gst_fakesrc_get_property), (gst_fakesrc_create),
1838         (gst_fakesrc_start), (gst_fakesrc_stop):
1839         * gst/elements/gstfakesrc.h:
1840         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
1841         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
1842         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
1843         (gst_filesrc_create_read), (gst_filesrc_create),
1844         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
1845         (gst_filesrc_start):
1846         * gst/elements/gsttypefindelement.c:
1847         (gst_type_find_element_have_type), (gst_type_find_element_init),
1848         (start_typefinding), (stop_typefinding), (push_buffer_store),
1849         (gst_type_find_element_handle_event),
1850         (gst_type_find_element_chain),
1851         (gst_type_find_element_checkgetrange),
1852         (gst_type_find_element_getrange), (do_typefind),
1853         (gst_type_find_element_activate),
1854         (gst_type_find_element_change_state):
1855         * gst/elements/gsttypefindelement.h:
1856         * gst/gstpipeline.c: (pipeline_bus_handler):
1857         Added typefind helper.
1858         Small preroll fix in the base sink.
1859         Disable typefind code in basesrc.
1860         Crude port of typefindelement.
1861         Fakesrc cleanups.
1862
1863
1864 2005-04-11  Wim Taymans  <wim@fluendo.com>
1865
1866         * check/gst/gstbus.c: (gstbus_suite):
1867         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
1868         * check/gstcheck.h:
1869           Fix up the timeout so that the test does not fail.
1870
1871 2005-04-06  Wim Taymans  <wim@fluendo.com>
1872
1873         * gst/base/README:
1874         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1875         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
1876         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1877         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1878         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1879         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1880         (gst_basesrc_stop), (gst_basesrc_activate),
1881         (gst_basesrc_change_state), (basesrc_find_peek),
1882         (basesrc_find_suggest), (gst_basesrc_type_find):
1883         * gst/base/gstbasesrc.h:
1884         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
1885         (gst_filesrc_class_init), (gst_filesrc_init),
1886         (gst_filesrc_finalize), (gst_filesrc_set_location),
1887         (gst_filesrc_set_property), (gst_filesrc_get_property),
1888         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
1889         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
1890         (gst_filesrc_create_read), (gst_filesrc_create),
1891         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
1892         * gst/elements/gstfilesrc.h:
1893         * gst/gstelement.c: (gst_element_get_state_func),
1894         (gst_element_lost_state), (gst_element_pads_activate):
1895         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1896         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
1897         (gst_pad_pull_range):
1898         * gst/gstpad.h:
1899         More work on the generic source base class, implement seeking,
1900         query.
1901         Make filesrc extend the base source class.
1902         Added gst_pad_set_checkgetrange_function to GstPad.
1903
1904 2005-04-06  Andy Wingo  <wingo@pobox.com>
1905
1906         * pkgconfig/gstreamer-base.pc.in:
1907         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
1908
1909         * pkgconfig/Makefile.am:
1910         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
1911
1912 2005-04-04  Wim Taymans  <wim@fluendo.com>
1913
1914         * gst/base/Makefile.am:
1915         * gst/base/README:
1916         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1917         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
1918         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
1919         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
1920         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1921         (gst_basesrc_base_init), (gst_basesrc_class_init),
1922         (gst_basesrc_init), (gst_basesrc_get_formats),
1923         (gst_basesrc_get_query_types), (gst_basesrc_query),
1924         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
1925         (gst_basesrc_set_property), (gst_basesrc_get_property),
1926         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
1927         (gst_basesrc_loop), (gst_basesrc_activate),
1928         (gst_basesrc_change_state):
1929         * gst/base/gstbasesrc.h:
1930         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
1931         (gst_fakesrc_class_init), (gst_fakesrc_init),
1932         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
1933         (gst_fakesrc_get_property), (gst_fakesrc_create):
1934         * gst/elements/gstfakesrc.h:
1935         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
1936         (gst_filesrc_open_file), (gst_filesrc_loop),
1937         (gst_filesrc_activate), (filesrc_find_peek),
1938         (gst_filesrc_type_find):
1939         Made base source class, make fakesrc extend it.
1940         Add comments to basesink class.
1941         Some filesrc cleanup.
1942
1943 2005-03-31  David Schleef  <ds@schleef.org>
1944
1945         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
1946         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
1947         expected to link against libgstreamer.
1948         * gst/base/Makefile.am: link against libgstreamer
1949         * gst/elements/Makefile.am: same
1950
1951 2005-03-31  Andy Wingo  <wingo@pobox.com>
1952
1953         * tests/instantiate/Makefile.am:
1954         * tests/instantiate/caps.c: Add test to test speed of caps copy
1955         and free.
1956
1957         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
1958         GMemChunk to be fair.
1959
1960         * gst/gsttrashstack.h: Remove warning about using the fallback
1961         trash stack implementation, it's still faster than malloc.
1962
1963 2005-03-30  Andy Wingo  <wingo@pobox.com>
1964
1965         * tests/complexity.c: Add a copyright.
1966
1967 2005-03-31  Wim Taymans  <wim@fluendo.com>
1968
1969         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
1970         (gst_base_transform_class_init), (gst_base_transform_init),
1971         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
1972         (gst_base_transform_get_property),
1973         (gst_base_transform_sink_activate),
1974         (gst_base_transform_src_activate),
1975         (gst_base_transform_change_state):
1976         * gst/base/gstbasetransform.h:
1977         * gst/elements/gstidentity.c: (gst_identity_class_init),
1978         (gst_identity_event), (gst_identity_check_perfect),
1979         (gst_identity_transform), (gst_identity_start),
1980         (gst_identity_stop):
1981         Added start/stop methods to transform base class so subclasses 
1982         don't need to deal with state changes even.
1983
1984 2005-03-31  Wim Taymans  <wim@fluendo.com>
1985
1986         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
1987         (gst_event_new_discontinuous), (gst_event_discont_get_value):
1988         * gst/gstevent.h:
1989         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1990         (gst_pad_pull_range):
1991         Added rate to the discont event to prepare for variable speed
1992         and reverse playback.
1993
1994 2005-03-29  David Schleef  <ds@schleef.org>
1995
1996         * configure.ac:
1997         * testsuite/trigger/Makefile.am:
1998         * testsuite/trigger/trigger.c: A little example program to show
1999         how trigger-based elements can work.
2000
2001 2005-03-29  Wim Taymans  <wim@fluendo.com>
2002
2003         * gst/base/Makefile.am:
2004         * gst/base/README:
2005         * gst/base/gstbasesink.c: (gst_basesink_get_type),
2006         (gst_basesink_base_init), (gst_basesink_class_init),
2007         (gst_basesink_pad_getcaps), (gst_basesink_init),
2008         (gst_basesink_activate), (gst_basesink_change_state):
2009         * gst/base/gstbasesink.h:
2010         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2011         (gst_base_transform_base_init), (gst_base_transform_finalize),
2012         (gst_base_transform_class_init), (gst_base_transform_init),
2013         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
2014         (gst_base_transform_event), (gst_base_transform_getrange),
2015         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
2016         (gst_base_transform_set_property),
2017         (gst_base_transform_get_property),
2018         (gst_base_transform_sink_activate),
2019         (gst_base_transform_src_activate),
2020         (gst_base_transform_change_state):
2021         * gst/base/gstbasetransform.h:
2022         * gst/elements/gstidentity.c: (gst_identity_finalize),
2023         (gst_identity_class_init), (gst_identity_init),
2024         (gst_identity_event), (gst_identity_check_perfect),
2025         (gst_identity_transform), (gst_identity_set_property),
2026         (gst_identity_get_property), (gst_identity_change_state):
2027         * gst/elements/gstidentity.h:
2028         * gst/gstelement.c: (gst_element_get_state_func),
2029         (gst_element_lost_state), (gst_element_pads_activate):
2030         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2031         (gst_pad_check_pull_range), (gst_pad_pull_range):
2032         * gst/gstpad.h:
2033         Simplify pad activation.
2034         Added function to check if pull_range can be performed.
2035         Error out when pulling inactive or flushing pads.
2036         Removed const from refcounted types as it does not make sense.
2037         Simplify pad templates in basesink
2038         Added base class for simple 1-to-1 transforms.
2039         Make identity subclass the base transform.
2040
2041 2005-03-29  Andy Wingo  <wingo@pobox.com>
2042
2043         * docs/libs/gstreamer-libs-overrides.txt: 
2044         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
2045         really don't understand what's going on, but like whatever. I want
2046         green buildbot!
2047
2048         * docs/gst/Makefile.am:
2049         * docs/libs/Makefile.am: Dist the overrides files.
2050
2051         * check/Makefile.am (clean-local): Remove .libs directories.
2052
2053         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
2054         elements to EXTRA_DIST, so po/ files are happy.
2055
2056         * po/POTFILES.in: Er, remove it here.
2057
2058         * po/POTFILES: Remove gstspider.c.
2059
2060         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
2061
2062         * docs/libs/gstreamer-libs-docs.sgml: 
2063         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
2064         bytestream.
2065
2066         * tests/complexity.c (main): Set the length of the preroll queue
2067         on the sinks to prevent a lockup.
2068
2069         * libs/gst/dataprotocol/Makefile.am: 
2070         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
2071         the same as the one in check/gst-libs/gdp.c.
2072
2073         * po/, docs/gst/: Commit automatic changes to docs and po files.
2074
2075         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
2076         the versioned libgstbase.
2077
2078         * check/Makefile.am: Depend on an unversioned gst-register, seems
2079         to make autoconf happier.
2080
2081         * gst/base/Makefile.am: Make libgstbase a versioned lib.
2082
2083 2005-03-28  Wim Taymans  <wim@fluendo.com>
2084
2085         * configure.ac:
2086         * docs/design/part-gstelement.txt:
2087         * docs/design/part-negotiation.txt:
2088         * docs/design/part-preroll.txt:
2089         * docs/design/part-scheduling.txt:
2090         * docs/design/part-states.txt:
2091         * gst/Makefile.am:
2092         * gst/base/Makefile.am:
2093         * gst/base/README:
2094         * gst/base/gstbasesink.c: (gst_basesink_get_template),
2095         (gst_basesink_base_init), (gst_basesink_class_init),
2096         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2097         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2098         (gst_basesink_set_pad_functions),
2099         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
2100         (gst_basesink_set_property), (gst_basesink_get_property),
2101         (gst_base_sink_get_template), (gst_base_sink_get_caps),
2102         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
2103         (gst_basesink_preroll_queue_push),
2104         (gst_basesink_preroll_queue_empty),
2105         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
2106         (gst_basesink_event), (gst_basesink_get_times),
2107         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
2108         (gst_basesink_chain_unlocked), (gst_basesink_chain),
2109         (gst_basesink_loop), (gst_basesink_activate),
2110         (gst_basesink_change_state):
2111         * gst/base/gstbasesink.h:
2112         * gst/elements/Makefile.am:
2113         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
2114         (gst_fakesink_class_init), (gst_fakesink_init),
2115         (gst_fakesink_set_property), (gst_fakesink_get_property),
2116         (gst_fakesink_get_times), (gst_fakesink_event),
2117         (gst_fakesink_preroll), (gst_fakesink_render),
2118         (gst_fakesink_change_state):
2119         * gst/elements/gstfakesink.h:
2120         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2121         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
2122         * gst/gstelement.c: (gst_element_add_pad),
2123         (gst_element_get_state_func), (gst_element_abort_state),
2124         (gst_element_commit_state), (gst_element_lost_state),
2125         (gst_element_set_state), (gst_element_pads_activate):
2126         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
2127         * gst/gstpipeline.c: (gst_pipeline_send_event),
2128         (gst_pipeline_change_state):
2129         Added state change code.
2130         Added/updated docs.
2131         Added sink base class, make fakesink extend the base class.
2132         Small cleanups in GstPipeline.
2133
2134 2005-03-26  David Schleef  <ds@schleef.org>
2135
2136         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
2137         is broken and should be implemented in a different library.
2138         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
2139         * gst/gst.h: remove gstcpu.h
2140         * gst/gstcpu.c: remove
2141         * gst/gstcpu.h: remove
2142         * gst/Makefile.am.future: Remove this file.  It's ancient.
2143
2144 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2145
2146         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2147         (gst_bin_send_event):
2148           Add default event/set_manager handlers. The set_manager handler
2149           takes care that the manager is distributed over kids that were
2150           already in the bin before the manager was set. The event handler
2151           is a utility virtual function that sends the event over all sinks,
2152           so that gst_element_send_event (bin, event); has the expected
2153           behaviour.
2154         * gst/gstpad.c: (gst_pad_event_default):
2155           Re-install default event handling for discontinuities, so that
2156           seeking works without requiring hacks in applications or extra
2157           code in sinks.
2158         * gst/gstpipeline.c: (gst_pipeline_class_init),
2159         (gst_pipeline_send_event):
2160           Half hack, half utility: set a pipeline to PAUSED for seek events,
2161           since that is the only way we can guarantee a/v sync. Means that
2162           you can do gst_element_seek (pipeline, method, pos); on a pipeline
2163           and it "just works".
2164
2165 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2166
2167         * gst/gstpipeline.c: (gst_pipeline_use_clock):
2168           Lock/unlock mismatch.
2169
2170 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2171
2172         * docs/faq/gst-uninstalled:
2173           add gst-plugins-base
2174         * docs/gst/Makefile.am:
2175           don't error out until docs are fixed
2176         * docs/gst/gstreamer.types:
2177           remove thread
2178
2179 2005-03-22  Wim Taymans  <wim@fluendo.com>
2180
2181         * check/Makefile.am:
2182         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
2183         * gst/gststructure.c: (gst_structure_set_valist),
2184         (gst_structure_copy_conditional):
2185         Activated more tests.
2186         Added message test.
2187         Added G_TYPE_POINTER to GstStructure.
2188         
2189
2190 2005-03-22  Wim Taymans  <wim@fluendo.com>
2191
2192         * docs/design/part-TODO.txt:
2193         * docs/design/part-events.txt:
2194         * docs/design/part-gstbin.txt:
2195         * docs/design/part-gstbus.txt:
2196         * docs/design/part-gstpipeline.txt:
2197         * docs/design/part-messages.txt:
2198         * gst/gstbus.c:
2199         * gst/gstmessage.c:
2200         Docs updates
2201
2202 2005-03-21  Wim Taymans  <wim@fluendo.com>
2203
2204         * gst/gstbus.c: (gst_bus_post):
2205         Fix copy-and-paste error.
2206
2207 2005-03-21  Wim Taymans  <wim@fluendo.com>
2208
2209         * check/Makefile.am:
2210         * gst/Makefile.am:
2211         * gst/elements/Makefile.am:
2212         * gst/elements/gstelements.c:
2213         * gst/elements/gstfakesink.c: (gst_fakesink_init),
2214         (gst_fakesink_event), (gst_fakesink_chain):
2215         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2216         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
2217         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
2218         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
2219         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2220         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
2221         (gst_fakesrc_loop), (gst_fakesrc_activate),
2222         (gst_fakesrc_change_state):
2223         * gst/elements/gstfakesrc.h:
2224         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
2225         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
2226         (gst_filesrc_open_file), (gst_filesrc_loop),
2227         (gst_filesrc_activate), (gst_filesrc_change_state),
2228         (filesrc_find_peek), (filesrc_find_suggest),
2229         (gst_filesrc_type_find):
2230         * gst/elements/gstidentity.c: (gst_identity_finalize),
2231         (gst_identity_class_init), (gst_identity_init),
2232         (gst_identity_proxy_getcaps), (identity_queue_push),
2233         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
2234         (gst_identity_getrange), (gst_identity_chain),
2235         (gst_identity_sink_loop), (gst_identity_src_loop),
2236         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
2237         (gst_identity_set_property), (gst_identity_get_property),
2238         (gst_identity_change_state):
2239         * gst/elements/gstidentity.h:
2240         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2241         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
2242         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
2243         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
2244         (gst_tee_sink_activate):
2245         * gst/elements/gsttee.h:
2246         * gst/gst.c: (gst_register_core_elements), (init_post):
2247         * gst/gst.h:
2248         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
2249         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
2250         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
2251         (gst_bin_change_state):
2252         * gst/gstbin.h:
2253         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
2254         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
2255         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
2256         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
2257         (gst_bus_set_sync_handler), (gst_bus_create_watch),
2258         (bus_watch_callback), (bus_watch_destroy),
2259         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
2260         (poll_timeout), (gst_bus_poll):
2261         * gst/gstbus.h:
2262         * gst/gstcaps.h:
2263         * gst/gstdata.h:
2264         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2265         (gst_element_post_message), (gst_element_message_full),
2266         (gst_element_get_state_func), (gst_element_get_state),
2267         (gst_element_abort_state), (gst_element_commit_state),
2268         (gst_element_lost_state), (gst_element_set_state),
2269         (gst_element_pads_activate), (gst_element_change_state),
2270         (gst_element_dispose), (gst_element_set_manager_func),
2271         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
2272         (gst_element_set_manager), (gst_element_get_manager),
2273         (gst_element_set_bus), (gst_element_get_bus),
2274         (gst_element_set_scheduler), (gst_element_get_scheduler):
2275         * gst/gstelement.h:
2276         * gst/gstevent.c: (gst_event_new_segment_seek),
2277         (gst_event_new_flush):
2278         * gst/gstevent.h:
2279         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
2280         (_gst_message_free), (gst_message_get_type), (gst_message_new),
2281         (gst_message_new_eos), (gst_message_new_error),
2282         (gst_message_new_warning), (gst_message_new_tag),
2283         (gst_message_new_state_changed), (gst_message_new_application),
2284         (gst_message_get_structure), (gst_message_parse_tag),
2285         (gst_message_parse_state_changed), (gst_message_parse_error),
2286         (gst_message_parse_warning):
2287         * gst/gstmessage.h:
2288         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
2289         (gst_real_pad_set_property), (gst_pad_set_active),
2290         (gst_pad_is_active), (gst_pad_set_blocked_async),
2291         (gst_pad_set_blocked), (gst_pad_is_blocked),
2292         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
2293         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
2294         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
2295         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
2296         (gst_pad_link_filtered), (gst_pad_relink_filtered),
2297         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
2298         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
2299         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
2300         (gst_pad_set_caps), (gst_pad_configure_sink),
2301         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
2302         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
2303         (gst_real_pad_dispose), (gst_real_pad_finalize),
2304         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
2305         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2306         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
2307         * gst/gstpad.h:
2308         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
2309         (pipeline_bus_handler), (gst_pipeline_change_state),
2310         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
2311         * gst/gstpipeline.h:
2312         * gst/gstprobe.h:
2313         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2314         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
2315         (gst_queue_link_src), (gst_queue_bufferalloc),
2316         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2317         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
2318         (gst_queue_loop), (gst_queue_handle_src_event),
2319         (gst_queue_handle_src_query), (gst_queue_src_activate),
2320         (gst_queue_change_state):
2321         * gst/gstqueue.h:
2322         * gst/gstscheduler.c: (gst_scheduler_init),
2323         (gst_scheduler_dispose), (gst_scheduler_create_task),
2324         (gst_scheduler_factory_create):
2325         * gst/gstscheduler.h:
2326         * gst/gststructure.c: (gst_structure_get_type),
2327         (gst_structure_copy_conditional):
2328         * gst/gststructure.h:
2329         * gst/gsttaginterface.h:
2330         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
2331         (gst_task_init), (gst_task_dispose), (gst_task_create),
2332         (gst_task_get_state), (gst_task_start), (gst_task_stop),
2333         (gst_task_pause):
2334         * gst/gsttask.h:
2335         * gst/gstthread.c:
2336         * gst/gstthread.h:
2337         * gst/gsttypes.h:
2338         * gst/schedulers/Makefile.am:
2339         * gst/schedulers/cothreads_compat.h:
2340         * gst/schedulers/entryscheduler.c:
2341         * gst/schedulers/faircothreads.c:
2342         * gst/schedulers/faircothreads.h:
2343         * gst/schedulers/fairscheduler.c:
2344         * gst/schedulers/gstbasicscheduler.c:
2345         * gst/schedulers/gstoptimalscheduler.c:
2346         * gst/schedulers/gthread-cothreads.h:
2347         * gst/schedulers/threadscheduler.c:
2348         (gst_thread_scheduler_task_get_type),
2349         (gst_thread_scheduler_task_class_init),
2350         (gst_thread_scheduler_task_init),
2351         (gst_thread_scheduler_task_start),
2352         (gst_thread_scheduler_task_stop),
2353         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
2354         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2355         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
2356         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
2357         (plugin_init):
2358         * libs/gst/Makefile.am:
2359         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
2360         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
2361         (gst_file_pad_parent_set):
2362         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2363         (gst_dp_event_from_packet):
2364         * tests/complexity.c: (main):
2365         * tests/mass_elements.c: (main):
2366         * testsuite/states/locked.c: (message_received), (main):
2367         * testsuite/states/parent.c: (main):
2368         * tools/gst-inspect.c: (print_element_flag_info),
2369         (print_implementation_info), (print_pad_info):
2370         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
2371         (main):
2372         * tools/gst-md5sum.c: (event_loop), (main):
2373         * tools/gst-typefind.c: (main):
2374         * tools/gst-xmlinspect.c: (print_element_info):
2375         Next big merge.
2376         Added GstBus for mainloop integration.
2377         Added GstMessage for sending notifications on the bus.
2378         Added GstTask as an abstraction for pipeline entry points.
2379         Removed GstThread.
2380         Removed Schedulers.
2381         Simplified GstQueue for multithreaded core.
2382         Made _link threadsafe, removed old capsnego.
2383         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
2384         Added pad blocking functions.
2385         Reworked scheduling functions in GstPad to prepare for
2386         scheduling updates soon.
2387         Moved events out of data stream.
2388         Simplified GstEvent types.
2389         Added return values to push/pull.
2390         Removed clocking from GstElement.
2391         Added prototypes for state change function for next merge.
2392         Removed iterate from bins and state change management.
2393         Fixed some elements, disabled others for now.
2394         Fixed -inspect and -launch.
2395         Added check for GstBus.
2396
2397 2005-03-10  Wim Taymans  <wim@fluendo.com>
2398
2399         * docs/design/part-MT-refcounting.txt:
2400         * docs/design/part-clocks.txt:
2401         * docs/design/part-gstelement.txt:
2402         * docs/design/part-gstobject.txt:
2403         * docs/design/part-standards.txt:
2404         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2405         (gst_bin_remove_func), (gst_bin_remove):
2406         * gst/gstbin.h:
2407         * gst/gstbuffer.c:
2408         * gst/gstcaps.h:
2409         * testsuite/clock/clock1.c: (main):
2410         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
2411         (main):
2412         * testsuite/dlopen/loadgst.c: (do_test):
2413         * testsuite/refcounting/bin.c: (add_remove_test1),
2414         (add_remove_test2), (main):
2415         * testsuite/refcounting/element.c: (main):
2416         * testsuite/refcounting/element_pad.c: (main):
2417         * testsuite/refcounting/pad.c: (main):
2418         * tools/gst-launch.c: (sigint_handler_sighandler):
2419         * tools/gst-typefind.c: (main):
2420         Doc updates.
2421         Added doc about clock.
2422         removed gst_bin_iterate_recurse_up(), marked methods
2423         for removal.
2424         Fix more testsuites.
2425
2426 2005-03-09  Wim Taymans  <wim@fluendo.com>
2427
2428         * gst/gstpad.c: (gst_pad_get_direction),
2429         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
2430         (gst_pad_collect_valist):
2431         * testsuite/bins/interface.c: (main):
2432         * testsuite/caps/audioscale.c: (test_caps):
2433         * testsuite/caps/caps.c: (test1), (test2), (test3):
2434         * testsuite/caps/deserialize.c: (main):
2435         * testsuite/caps/enumcaps.c: (main):
2436         * testsuite/caps/filtercaps.c: (main):
2437         * testsuite/caps/intersect2.c: (main):
2438         * testsuite/caps/random.c: (main):
2439         * testsuite/caps/renegotiate.c: (my_fixate), (main):
2440         * testsuite/caps/sets.c: (check_caps):
2441         * testsuite/caps/simplify.c: (check_caps), (main):
2442         * testsuite/caps/subtract.c: (check_caps):
2443         Fix _pad_get_direction wrt ghostpads.
2444         Fix caps testsuite.
2445
2446 2005-03-09  Wim Taymans  <wim@fluendo.com>
2447
2448         * check/Makefile.am:
2449         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
2450         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
2451         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
2452         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
2453         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
2454         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
2455         (gst_bin_remove), (gst_bin_iterate_recurse_up),
2456         (bin_element_is_sink), (gst_bin_iterate_sinks),
2457         (gst_bin_iterate_all_by_interface):
2458         * gst/gstbin.h:
2459         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
2460         (gst_element_change_state), (gst_element_dispose),
2461         (gst_element_finalize), (gst_element_set_loop_function):
2462         * gst/gstelement.h:
2463         * gst/gstiterator.c: (find_custom_fold_func):
2464         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2465         (gst_pad_collectv), (gst_pad_collect_valist),
2466         (gst_pad_template_new):
2467         * gst/gstpipeline.c: (gst_pipeline_class_init),
2468         (gst_pipeline_dispose), (gst_pipeline_set_property),
2469         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
2470         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
2471         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
2472         * gst/gstutils.h:
2473         * gst/schedulers/entryscheduler.c:
2474         * gst/schedulers/gstbasicscheduler.c:
2475         (gst_basic_scheduler_cothreaded_chain),
2476         (gst_basic_scheduler_chain_add_element):
2477         * testsuite/bins/interface.c: (main):
2478         Added GstBin test.
2479         Added GstSystemClock test.
2480         Implemented clock distribution code in GstBin.
2481         Implemented iterate sinks method for future use.
2482         Rearranged gstelement.h
2483         Fix GstIterator comparison bug.
2484         Moved some code to GstPipeline, mostly clocking related.
2485
2486 2005-03-09  Wim Taymans  <wim@fluendo.com>
2487
2488         * configure.ac:
2489         * gst/gst_private.h:
2490         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2491         (gst_bin_remove_func), (gst_bin_remove),
2492         (gst_bin_get_by_name_recurse_up):
2493         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
2494         (gst_clock_id_compare_func), (gst_clock_id_wait),
2495         (gst_clock_id_wait_async), (gst_clock_init),
2496         (gst_clock_adjust_unlocked), (gst_clock_get_time):
2497         * gst/gstelement.h:
2498         * gst/gstinfo.c: (_gst_debug_init):
2499         * gst/gstobject.h:
2500         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2501         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
2502         * gst/gstpad.h:
2503         Bump version number, we're now 0.9.0
2504         Add future debugging category.
2505         Fix NULL _unref() in _get_by_name_recurse_up
2506         Rearrange gstpad.h.
2507         Update some docs.
2508
2509 2005-03-08  Wim Taymans  <wim@fluendo.com>
2510
2511         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
2512         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
2513         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2514         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
2515         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
2516         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
2517         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
2518         * gst/elements/gstidentity.c: (gst_identity_class_init):
2519         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
2520         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
2521         * gst/elements/gstshaper.c: (gst_shaper_class_init):
2522         * gst/elements/gststatistics.c: (gst_statistics_class_init):
2523         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
2524         (gst_tee_link):
2525         * gst/gstelement.c: (gst_element_class_init),
2526         (gst_element_base_class_init), (gst_element_init),
2527         (gst_element_get_random_pad), (gst_element_wait_state_change),
2528         (gst_element_change_state), (gst_element_dispose),
2529         (gst_element_finalize), (gst_element_set_loop_function):
2530         * gst/gstelement.h:
2531         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
2532         * gst/gstthread.c: (gst_thread_class_init),
2533         (gst_thread_release_children_locks), (gst_thread_change_state):
2534         * gst/schedulers/gstbasicscheduler.c:
2535         (gst_basic_scheduler_loopfunc_wrapper),
2536         (gst_basic_scheduler_chain_wrapper),
2537         (gst_basic_scheduler_src_wrapper),
2538         (gst_basic_scheduler_remove_element):
2539         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
2540         Remove threadsafe properties. Fix elements because GObject
2541         complains when installing a property before declaring a
2542         set/get_property handler.
2543         Rearrange gstelement.h file, use STATE macros for state locks.
2544         Free mutexes in the finalize method instead of dispose.
2545
2546 2005-03-08  Wim Taymans  <wim@fluendo.com>
2547
2548         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
2549         * gst/gstthread.c: (gst_thread_release_children_locks):
2550         Added parentage check.
2551         Fix build og GstThread again.
2552
2553 2005-03-08  Wim Taymans  <wim@fluendo.com>
2554
2555         * docs/design/part-MT-refcounting.txt:
2556         * docs/design/part-conventions.txt:
2557         * docs/design/part-gstobject.txt:
2558         * docs/design/part-relations.txt:
2559         * docs/design/part-standards.txt:
2560         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2561         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
2562         (gst_bin_get_by_name), (gst_bin_get_by_interface),
2563         (gst_bin_iterate_all_by_interface):
2564         * gst/gstbuffer.h:
2565         * gst/gstclock.h:
2566         * gst/gstelement.c: (gst_element_class_init),
2567         (gst_element_change_state), (gst_element_set_loop_function):
2568         * gst/gstelement.h:
2569         * gst/gstiterator.c:
2570         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
2571         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
2572         (gst_object_dispatch_properties_changed), (gst_object_set_name),
2573         (gst_object_set_parent), (gst_object_unparent),
2574         (gst_object_check_uniqueness):
2575         * gst/gstobject.h:
2576         Docs updates, clean up some headers.
2577
2578 2005-03-07  Wim Taymans  <wim@fluendo.com>
2579
2580         * check/.cvsignore:
2581         * check/Makefile.am:
2582         * check/gst-libs/.cvsignore:
2583         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
2584         * check/gst/.cvsignore:
2585         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
2586         (START_TEST), (gstbus_suite), (main):
2587         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
2588         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
2589         (gst_data_suite), (main):
2590         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
2591         (add_fold_func), (gstiterator_suite), (main):
2592         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
2593         (thread_name_object), (thread_name_object_default),
2594         (gst_object_name_compare), (gst_object_suite), (main):
2595         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
2596         (gst_pad_suite), (main):
2597         * check/gstcheck.c: (gst_check_log_message_func),
2598         (gst_check_log_critical_func), (gst_check_init):
2599         * check/gstcheck.h:
2600         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2601         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
2602         Added checks.
2603
2604 2005-03-07  Wim Taymans  <wim@fluendo.com>
2605
2606         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
2607         (gst_list_iterator_next), (gst_list_iterator_resync),
2608         (gst_list_iterator_free), (gst_iterator_new_list),
2609         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
2610         (gst_iterator_free), (gst_iterator_push), (filter_next),
2611         (filter_resync), (filter_uninit), (filter_free),
2612         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
2613         (gst_iterator_foreach), (find_custom_fold_func),
2614         (gst_iterator_find_custom):
2615         * gst/gstiterator.h:
2616         Added missing files.
2617
2618 2005-03-07  Wim Taymans  <wim@fluendo.com>
2619
2620         * Makefile.am:
2621         * configure.ac:
2622         * docs/design/part-MT-refcounting.txt:
2623         * docs/design/part-conventions.txt:
2624         * docs/design/part-gstobject.txt:
2625         * docs/design/part-relations.txt:
2626         * examples/mixer/mixer.c: (main):
2627         * examples/thread/thread.c: (eos), (main):
2628         * gst/Makefile.am:
2629         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
2630         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
2631         (gst_spider_plug_from_srcpad):
2632         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
2633         (gst_spider_identity_change_state),
2634         (gst_spider_identity_sink_loop_type_finding):
2635         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
2636         * gst/elements/gstidentity.c: (gst_identity_init):
2637         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
2638         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
2639         * gst/elements/gsttypefindelement.c: (free_entry):
2640         * gst/gst.c:
2641         * gst/gst.h:
2642         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
2643         (gst_bin_set_clock_func), (gst_bin_auto_clock),
2644         (gst_bin_set_index), (gst_bin_set_element_sched),
2645         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
2646         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
2647         (gst_bin_iterate_elements), (iterate_child_recurse),
2648         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
2649         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
2650         (compare_interface), (gst_bin_get_by_interface),
2651         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
2652         * gst/gstbin.h:
2653         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
2654         (gst_buffer_default_free), (gst_buffer_default_copy),
2655         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
2656         (gst_buffer_create_sub):
2657         * gst/gstbuffer.h:
2658         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
2659         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
2660         (gst_caps_unref), (gst_static_caps_get),
2661         (gst_caps_remove_and_get_structure), (gst_caps_append),
2662         (gst_caps_append_structure), (gst_caps_remove_structure),
2663         (gst_caps_copy_nth), (gst_caps_set_simple),
2664         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
2665         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
2666         (gst_caps_structure_intersect_field), (gst_caps_intersect),
2667         (gst_caps_structure_subtract_field), (gst_caps_subtract),
2668         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
2669         (gst_caps_structure_figure_out_union),
2670         (gst_caps_switch_structures), (gst_caps_do_simplify),
2671         (gst_caps_replace), (gst_caps_from_string),
2672         (gst_caps_copy_conditional):
2673         * gst/gstcaps.h:
2674         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
2675         (_gst_clock_id_free), (gst_clock_id_unref),
2676         (gst_clock_id_compare_func), (gst_clock_id_wait),
2677         (gst_clock_id_wait_async), (gst_clock_class_init),
2678         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
2679         (gst_clock_get_time), (gst_clock_set_time_adjust),
2680         (gst_clock_set_property), (gst_clock_get_property):
2681         * gst/gstclock.h:
2682         * gst/gstcompat.h:
2683         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
2684         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
2685         * gst/gstdata.h:
2686         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2687         (gst_element_requires_clock), (gst_element_provides_clock),
2688         (gst_element_set_clock), (gst_element_clock_wait),
2689         (gst_element_wait), (gst_element_set_time_delay),
2690         (gst_element_is_indexable), (gst_element_add_pad),
2691         (gst_element_add_ghost_pad), (gst_element_remove_pad),
2692         (pad_compare_name), (gst_element_get_static_pad),
2693         (gst_element_request_pad), (gst_element_get_request_pad),
2694         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
2695         (gst_element_class_get_pad_template_list),
2696         (gst_element_class_get_pad_template), (gst_element_error_func),
2697         (gst_element_get_random_pad), (gst_element_get_event_masks),
2698         (gst_element_send_event), (gst_element_seek),
2699         (gst_element_get_query_types), (gst_element_query),
2700         (gst_element_get_formats), (gst_element_convert),
2701         (gst_element_is_locked_state), (gst_element_set_locked_state),
2702         (gst_element_sync_state_with_parent), (gst_element_change_state),
2703         (gst_element_finalize), (gst_element_yield),
2704         (gst_element_interrupt), (gst_element_set_scheduler),
2705         (gst_element_get_scheduler), (gst_element_set_loop_function):
2706         * gst/gstelement.h:
2707         * gst/gstevent.h:
2708         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
2709         (gst_format_get_by_nick), (gst_format_get_details),
2710         (gst_format_iterate_definitions):
2711         * gst/gstformat.h:
2712         * gst/gstindex.c: (gst_index_gtype_resolver):
2713         * gst/gstinfo.c:
2714         * gst/gstinfo.h:
2715         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
2716         (gst_mem_chunk_free):
2717         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2718         (gst_object_ref), (gst_object_unref), (gst_object_sink),
2719         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
2720         (gst_object_dispatch_properties_changed),
2721         (gst_object_set_name_default), (gst_object_set_name),
2722         (gst_object_get_name), (gst_object_set_name_prefix),
2723         (gst_object_get_name_prefix), (gst_object_set_parent),
2724         (gst_object_get_parent), (gst_object_unparent),
2725         (gst_object_check_uniqueness), (gst_object_save_thyself),
2726         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
2727         (gst_object_set_property), (gst_object_get_property),
2728         (gst_object_get_path_string):
2729         * gst/gstobject.h:
2730         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2731         (gst_real_pad_init), (gst_real_pad_get_property),
2732         (gst_pad_custom_new), (gst_pad_get_direction),
2733         (gst_pad_set_active), (gst_pad_is_active),
2734         (gst_pad_set_event_function), (gst_pad_is_linked),
2735         (gst_pad_link_free), (gst_pad_link_intersect),
2736         (gst_pad_link_fixate), (gst_pad_set_caps),
2737         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
2738         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
2739         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
2740         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
2741         (gst_pad_get_caps), (gst_pad_peer_get_caps),
2742         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
2743         (gst_pad_realize), (gst_pad_get_allowed_caps),
2744         (gst_real_pad_dispose), (gst_real_pad_finalize),
2745         (gst_pad_collectv), (gst_pad_collect_valist),
2746         (gst_pad_template_dispose), (gst_pad_template_new),
2747         (gst_pad_get_internal_links):
2748         * gst/gstpad.h:
2749         * gst/gstpipeline.c: (gst_pipeline_dispose),
2750         (gst_pipeline_change_state):
2751         * gst/gstpipeline.h:
2752         * gst/gstplugin.c:
2753         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
2754         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
2755         * gst/gstpluginfeature.h:
2756         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
2757         * gst/gstquery.c: (_gst_query_type_initialize),
2758         (gst_query_type_register), (gst_query_type_get_by_nick),
2759         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
2760         * gst/gstquery.h:
2761         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
2762         * gst/gstscheduler.c: (gst_scheduler_add_element),
2763         (gst_scheduler_factory_create):
2764         * gst/gststructure.c: (gst_structure_set_parent_refcount),
2765         (gst_structure_free), (gst_structure_set_name),
2766         (gst_structure_id_set_value), (gst_structure_set_value),
2767         (gst_structure_set_valist), (gst_structure_remove_field),
2768         (gst_structure_remove_fields),
2769         (gst_structure_remove_fields_valist),
2770         (gst_structure_remove_all_fields), (gst_structure_foreach),
2771         (gst_structure_map_in_place),
2772         (gst_caps_structure_fixate_field_nearest_int),
2773         (gst_caps_structure_fixate_field_nearest_double):
2774         * gst/gststructure.h:
2775         * gst/gstsystemclock.c: (gst_system_clock_class_init),
2776         (gst_system_clock_init), (gst_system_clock_dispose),
2777         (gst_system_clock_async_thread),
2778         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
2779         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
2780         * gst/gstsystemclock.h:
2781         * gst/gsttag.c: (gst_tag_list_add_value_internal),
2782         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
2783         * gst/gsttaginterface.c:
2784         * gst/gstthread.c: (gst_thread_dispose),
2785         (gst_thread_release_children_locks), (gst_thread_change_state),
2786         (gst_thread_main_loop):
2787         * gst/gsttrashstack.h:
2788         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
2789         * gst/gsttypes.h:
2790         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2791         (gst_element_request_pad), (gst_element_get_pad_from_template),
2792         (gst_element_request_compatible_pad),
2793         (gst_element_get_compatible_pad_filtered),
2794         (gst_element_get_compatible_pad), (gst_element_state_get_name),
2795         (gst_element_link_pads_filtered), (gst_element_link_filtered),
2796         (gst_element_link_many), (gst_element_link),
2797         (gst_element_link_pads), (gst_element_unlink_pads),
2798         (gst_element_unlink_many), (gst_element_unlink),
2799         (gst_pad_can_link_filtered), (gst_pad_can_link),
2800         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
2801         (gst_object_default_error), (gst_bin_add_many),
2802         (gst_bin_remove_many), (gst_element_populate_std_props),
2803         (gst_element_class_install_std_props), (gst_buffer_merge),
2804         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
2805         (link_fold_func), (gst_pad_proxy_setcaps):
2806         * gst/gstutils.h:
2807         * gst/gstvalue.c: (gst_value_deserialize_string):
2808         * gst/parse/grammar.y:
2809         * gst/schedulers/gstbasicscheduler.c:
2810         (gst_basic_scheduler_cothreaded_chain),
2811         (gst_basic_scheduler_chain_recursive_add),
2812         (gst_basic_scheduler_pad_link):
2813         * gst/schedulers/gstoptimalscheduler.c:
2814         (get_group_schedule_function),
2815         (gst_opt_scheduler_state_transition),
2816         (gst_opt_scheduler_add_element), (element_get_reachables_func):
2817         * libs/gst/bytestream/bytestream.c:
2818         * libs/gst/dataprotocol/dataprotocol.c:
2819         (gst_dp_header_from_buffer):
2820         * po/nb.po:
2821         * po/ru.po:
2822         * tests/threadstate/threadstate2.c: (eos):
2823         * tools/gst-compprep.c: (main):
2824         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
2825         (print_pad_info), (print_children_info):
2826         * tools/gst-launch.c: (idle_func), (main):
2827         * tools/gst-md5sum.c: (idle_func), (main):
2828         * tools/gst-xmlinspect.c: (print_element_info):
2829         First THREADED backport attempt, focusing on adding locks and
2830         making sure the API is threadsafe. Needs more work. More docs
2831         follow this week.
2832
2833 2005-02-24  Andy Wingo  <wingo@pobox.com>
2834
2835         * tests/bench-complexity.scm:
2836         * tests/complexity.gnuplot: New files, good for running complexity
2837         benchmarks.
2838
2839         * tests/Makefile.am:
2840         * tests/complexity.c: New test, sets up N elements, at each level
2841         teeing into M streams per element. Eeeenteresting.
2842
2843         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
2844         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
2845         running bench-mass_elements.scm.
2846
2847         * tests/bench-mass_elements.scm: New script, runs mass_elements
2848         for various numbers of identities, outputting the results to a
2849         file. Requires guile 1.6. Just for testing.
2850
2851 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2852
2853         * gst/schedulers/fairscheduler.c:
2854           compile with debug disabled
2855
2856 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2857
2858         * configure.ac:
2859           hunting season on 0.9 is now OPEN
2860
2861 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
2862
2863         * docs/libs/tmpl/gstcontrol.sgml:
2864         * docs/libs/tmpl/gstdparam.sgml:
2865         * docs/libs/tmpl/gstdplinint.sgml:
2866         * docs/libs/tmpl/gstdpman.sgml:
2867         * docs/libs/tmpl/gstdpsmooth.sgml:
2868         * docs/libs/tmpl/gstunitconvert.sgml:
2869           more docs for the state of dparams
2870
2871 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2872
2873         * gst/gstelementfactory.c: (gst_element_factory_create):
2874         * gst/gstobject.c: (gst_object_init),
2875         (gst_object_set_name_default), (gst_object_set_name):
2876           name objects by default, not in gst_element_factory_create. Allows
2877           using elements created with g_object_new. (fixes #167283)
2878
2879 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2880
2881         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
2882           make the time that debugging functions print relative to when
2883           gst_init was called
2884
2885 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
2886
2887         * gst/gsttaginterface.c:
2888           Fix inline docs: tag setter vararg functions are NULL-terminated,
2889           GST_TAG_INVALID doesn't exist any more.
2890
2891 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2892
2893         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
2894         Allocate the 1 byte more memory that was forgotten!!!!!
2895         fixes memory corruption on 64bit platforms
2896
2897 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
2898
2899         * docs/pwg/building-pads.xml:
2900         * docs/pwg/intro-basics.xml:
2901           fixed a few typos, relabeled introductionary list of types
2902         * docs/random/ensonic/dparams.txt:
2903           more notes abut dparam changes
2904         * libs/gst/control/dparam.c: (gst_dparam_attach):
2905         * libs/gst/control/dparammanager.c:
2906         * libs/gst/control/dparammanager.h:
2907           - many comments and notes on dparam implementation
2908           - new dparams are were not initialized to the default value
2909             from param spec
2910
2911 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2912
2913         submitted by: Peter Astakhov
2914
2915         * po/LINGUAS:
2916         * po/ru.po:
2917           adding Russian translation
2918
2919 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2920
2921         * configure.ac:
2922         * docs/gst/Makefile.am:
2923         * docs/libs/Makefile.am:
2924           make sure popt is added to gtk-doc flags.  Fixes #147782.
2925
2926 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2927
2928         * docs/faq/using.xml:
2929           Fix typo in FAQ (artssink => artsdsink)
2930
2931 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2932
2933         * tools/gst-launch.1.in:
2934           Fix typo (#166699).
2935
2936 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
2937
2938         * docs/faq/using.xml:
2939           Add -v argument to fakesrc/fakesink gst-launch line,
2940           so that the promised output will actually show up.
2941
2942 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2943
2944         * gst/gstthread.c: (gst_thread_change_state):
2945           Implement state-change error handling (#166073).
2946
2947 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2948
2949         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
2950           Release interrupt after handling (#166250).
2951
2952 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2953
2954         * configure.ac:
2955           back to HEAD
2956
2957 === release 0.8.9 ===
2958
2959 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2960
2961         * NEWS:
2962         * RELEASE:
2963         * configure.ac:
2964           releasing 0.8.9, "Like Eating Glass"
2965
2966 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2967
2968         submitted by: Clytie Siddall
2969
2970         * po/vi.po: Added Vietnamese translation
2971
2972 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2973
2974         patch by: Tim Philipp-Müller
2975
2976         * configure.ac:
2977         * gst/gstpad.c:
2978           unref data when probe function returns FALSE.  Fixes #166362
2979
2980 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2981
2982         * gst/gst.c: (gst_init_get_popt_table):
2983           Fix typo (#166269).
2984
2985 2005-02-04  Andy Wingo  <wingo@pobox.com>
2986
2987         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
2988         the debugging on whether the caps are compatible.
2989
2990 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2991
2992         * docs/manual/basics-elements.xml:
2993           Fix two typos.
2994
2995 2005-02-02  Wim Taymans  <wim@fluendo.com>
2996
2997         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
2998         (schedule_chain), (get_invalid_call), (chain_invalid_call),
2999         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
3000         Remove some FIXMEs after analysing and commenting why they
3001         are not issues.
3002
3003 2005-02-02  Wim Taymans  <wim@fluendo.com>
3004
3005         * gst/schedulers/gstoptimalscheduler.c:
3006         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
3007         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
3008         (get_invalid_call), (chain_invalid_call),
3009         (get_group_schedule_function), (loop_group_schedule_function),
3010         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
3011         (gst_opt_scheduler_state_transition),
3012         (gst_opt_scheduler_add_element),
3013         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
3014         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
3015         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
3016         (gst_opt_scheduler_show):
3017         Added lock to protect scheduler data structures.
3018
3019 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3020
3021         * testsuite/threads/threadi.c: (cb_data):
3022           Fix buglet in test.
3023
3024 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3025
3026         * testsuite/threads/Makefile.am:
3027         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
3028           On Wim's request, split the test in three separately-compiled
3029           tests that each test a very specific bug. Two of them still fail,
3030           will create bugs for those. threadi.c indicates why they fail.
3031
3032 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3033
3034         * gst/schedulers/gstoptimalscheduler.c:
3035         (get_group_schedule_function):
3036           Try to work with the threading mess that queue_link is.
3037
3038 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3039
3040         * gst/gstbin.c: (gst_bin_remove_func):
3041           Explicitely make an element release locks in a group when being
3042           remove from a bin.
3043         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3044           If there's no scheduler, always return immediately (similar to
3045           gst_element_interrupt).
3046
3047 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3048
3049         * gst/gstbin.c: (gst_bin_child_state_change_func):
3050           Remove a piece of code that could never be reached.
3051         * docs/gst/gstreamer-sections.txt:
3052         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
3053         (gst_pad_call_get_function):
3054         * gst/gstpad.h:
3055         * testsuite/pad/Makefile.am:
3056           Fix #150546, enable tests.
3057
3058 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3059
3060         * docs/pwg/advanced-types.xml:
3061           Fix description for buffer-frames=0.
3062         * docs/gst/tmpl/gstbin.sgml:
3063         * gst/gstbin.c: (gst_bin_child_state_change_func),
3064         (gst_bin_change_state), (gst_bin_change_state_norecurse):
3065         * gst/gstbin.h:
3066         * testsuite/threads/Makefile.am:
3067         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
3068         (cb_state), (cb_play), (main):
3069           Fix non-recursive state changes to *really* change the state
3070           of the object, and not just call parent_class->state_change.
3071           Fix a lot of lockups caused by this. Fixes #132775. Add test
3072           for the problem. Also enable test to show #142588 (fixed).
3073         * gst/gstthread.c: (gst_thread_change_state),
3074         (gst_thread_child_state_change):
3075           Don't exit the thread if we go to NULL and are inside thread
3076           context. Instead, return control to the main thread context
3077           and exit from there.
3078         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
3079           Don't unset virtual functions, since those may still be used.
3080           That's not necessarily correct, but suffices for now.
3081         * configure.ac:
3082         * testsuite/Makefile.am:
3083         * testsuite/pad/Makefile.am:
3084         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
3085         (gst_test_sink_base_init), (gst_test_sink_chain),
3086         (gst_test_sink_init), (main):
3087         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
3088         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
3089         (main):
3090         * testsuite/pad/link.c: (gst_test_element_class_init),
3091         (gst_test_element_base_init), (gst_test_src_get),
3092         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
3093         (gst_test_filter_loop), (gst_test_filter_init),
3094         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
3095         (cb_error), (main):
3096           Add tests to show #150546. Pass, but should fail (currently
3097           disabled from the testsuite).
3098         * gst/gstscheduler.c: (gst_scheduler_dispose):
3099           Dereference child schedulers on dispose (#94464).
3100         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3101           Fix typo.
3102         * testsuite/threads/thread.c: (main):
3103           Add more debug.
3104
3105 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3106
3107         * gst/gstpad.c: (gst_pad_push):
3108           Oops, revert previous commit, broke testsuite...
3109
3110 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3111
3112         * gst/gstpad.c: (gst_pad_push):
3113           Add check that the pad on which the push is performed is not a
3114           get-based pad (#150546).
3115
3116 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3117
3118         * gst/elements/gsttypefindelement.c:
3119         (gst_type_find_element_handle_event):
3120           Fix buffer pushing if stream EOSes during typefinding.
3121
3122 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
3123
3124         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3125
3126         * gst/gstvalue.c: (gst_string_wrap):
3127           Allow NULL-strings as argument (#165365).
3128
3129 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
3130
3131         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3132
3133         * gst/schedulers/faircothreads.c:
3134         (gst_fair_scheduler_cothread_queue_show):
3135           Fix build without debug enabled.
3136
3137 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
3138
3139         * docs/gst/gstreamer-sections.txt:
3140         * docs/libs/gstreamer-libs-docs.sgml:
3141         * docs/libs/gstreamer-libs-sections.txt:
3142         * docs/libs/tmpl/gstcontrol.sgml:
3143         * docs/libs/tmpl/gstdparam.sgml:
3144         * docs/libs/tmpl/gstdplinint.sgml:
3145         * docs/libs/tmpl/gstdpman.sgml:
3146         * docs/libs/tmpl/gstdpsmooth.sgml:
3147         * docs/libs/tmpl/gstputbits.sgml:
3148         * docs/libs/tmpl/gstunitconvert.sgml:
3149         * libs/gst/control/dparam.c:
3150         * libs/gst/control/dparam.h:
3151         * libs/gst/control/dparammanager.c:
3152         (gst_dpman_add_required_dparam_callback),
3153         (gst_dpman_add_required_dparam_direct),
3154         (gst_dpman_add_required_dparam_array),
3155         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
3156         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
3157         (gst_dpman_get_manager)
3158           restructured DParam docs
3159
3160 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
3161
3162         * gst-element-check.m4:
3163           Only check for gst-inspect if we haven't already
3164           found it in previous element check runs
3165
3166 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
3167
3168         * docs/gst/Makefile.am:
3169         * docs/libs/Makefile.am:
3170           fixed install rules to treat style.css as optional
3171
3172 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
3173
3174         * docs/gst/Makefile.am:
3175         * docs/libs/Makefile.am:
3176           install style.css along with docs
3177         * docs/gst/tmpl/gstbin.sgml:
3178         * docs/gst/tmpl/gstclock.sgml:
3179         * docs/gst/tmpl/gstdata.sgml:
3180         * docs/gst/tmpl/gstelement.sgml:
3181         * gst/gstbin.h:
3182         * gst/gstelement.c: (gst_element_class_init):
3183         * gst/gstelement.h:
3184           fixing incomplete docs
3185
3186 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3187
3188         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
3189           Don't unref seek event twice when fflush() fails
3190           
3191 2005-01-22  David Schleef  <ds@schleef.org>
3192
3193         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
3194
3195 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
3196
3197         * docs/gst/Makefile.am:
3198         * docs/libs/Makefile.am:
3199           added params for deprecation guards
3200         * gst/gst.c:
3201         * gst/gst.h:
3202         * gst/gsterror.c: (_gst_resource_errors_init),
3203         (_gst_stream_errors_init):
3204         * gst/gsterror.h:
3205           documented some more enums
3206
3207 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3208         * gst/autoplug/gstspideridentity.c:
3209         Cosmetic fix - spider_find_peek should be static
3210         * gst/parse/parse.l:
3211         Applying fix for #164261
3212
3213 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
3214
3215         * docs/gst/gstreamer-sections.txt:
3216         * docs/gst/tmpl/gstplugin.sgml:
3217         * docs/libs/gstreamer-libs-sections.txt:
3218         * docs/libs/tmpl/gstcontrol.sgml:
3219         * gst/gstbuffer.h:
3220         * gst/gsttag.h:
3221         * gst/gstvalue.c:
3222           added docs for the TAG defines
3223
3224 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3225
3226         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3227           Only unref entry if there is an entry.
3228
3229 2005-01-17  Wim Taymans  <wim@fluendo.com>
3230
3231         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3232         (remove_from_group), (schedule_group), (normalize_group),
3233         (gst_opt_scheduler_iterate):
3234         Also ref/unref decoupled elements before iterating the
3235         group since they are not added to the list of elements.
3236
3237 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3238
3239         * docs/manual/highlevel-components.xml:
3240           Add subtitle/streamselection as new features to playbin.
3241
3242 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3243
3244         * docs/manual/manual.xml:
3245           Re-enable dataaccess docs (oops).
3246
3247 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3248
3249         * docs/pwg/advanced-types.xml:
3250         * docs/random/mimetypes:
3251           Add documentation on libsndfile types (#163309), by Steve Baker
3252           <steve@stevebaker.org>.
3253         * gst/gstelement.c: (gst_element_release_request_pad):
3254           If an element has no explicit function, just remove the pad.
3255
3256 2005-01-17  Luca Ognibene  <luogni@tin.it>
3257
3258         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3259
3260         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
3261           Fix memleak (#163801).
3262
3263 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3264
3265         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
3266           I think this is actually more correct...
3267
3268 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3269
3270         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3271           Another workaround for memory access while destroyed in callback.
3272           Please, someone with refcount knowledge, have a look at this.
3273
3274 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3275
3276         * docs/faq/faq.xml:
3277         * docs/faq/legal.xml:
3278           move the legal Q&A here
3279
3280 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3281
3282         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
3283         (gst_tee_request_new_pad):
3284           Fix negotiation.
3285
3286 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3287
3288         * docs/random/omega/caps2:
3289         * testsuite/caps/caps_strings:
3290           replace framerate aproximations by their real value
3291           (24000/1001, 30000/1001, 60000/1001)
3292           Partially fixes bug #164049
3293
3294 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3295
3296         * docs/gst/Makefile.am:
3297           don't fail on the stupid GstPoptOption
3298
3299 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3300
3301         * gst/gstpad.h:
3302         * gst/gstprobe.c:
3303           allow probes to work on ghost pads by realizing the pad
3304           probe debugging
3305
3306 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3307
3308         * docs/gst/gstreamer-sections.txt:
3309         * docs/gst/tmpl/gstpad.sgml:
3310         * gst/gstpad.c: (gst_pad_set_active_recursive):
3311         * gst/gstpad.h:
3312           Add gst_pad_set_active_recursive().
3313
3314 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3315
3316         * docs/random/release:
3317           updates
3318         * gst/gst_private.h:
3319         * gst/gstinfo.c:
3320         * gst/gstobject.c:
3321           move deep_notify logging to a new category
3322         * gst/gstprobe.c:
3323         * gst/gstprobe.h:
3324           add stuff so bindings can wrap probes
3325
3326 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3327
3328         * gst/gstplugin.c: (gst_plugin_load):
3329           Fix plugin loading if plugin/lib was already loaded. Fixes
3330           #163383
3331
3332 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
3333
3334         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3335
3336         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
3337           Protect plugin loading by a mutex so it's threadsafe. Fixes
3338           #163234.
3339
3340 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3341
3342         * gst/gstevent.c: (_gst_event_copy):
3343           Reference source object when copying events, since it'll be
3344           dereferenced on event dereferencing as well.
3345
3346 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3347
3348         * docs/gst/gstreamer-sections.txt:
3349         * docs/gst/tmpl/gstevent.sgml:
3350         * gst/gstevent.c: (gst_event_new_filler_stamped),
3351         (gst_event_filler_get_duration):
3352         * gst/gstevent.h:
3353           Add two new functions for filler events (which are used to
3354           synchronize streams if one of them is not having any data
3355           for a while) without interrupting the actual data-stream.
3356           Basically a no-op.
3357         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3358         (gst_queue_link_sink), (gst_queue_link_src),
3359         (gst_queue_change_state):
3360           Allow for renegotiation while filled. Required for stream
3361           switching while playing.
3362
3363 2005-01-08  Benjamin Otte  <otte@gnome.org>
3364
3365         * gst/gstelement.c: (gst_element_link_many):
3366           fix up g_return_if_fail's
3367         * po/LINGUAS:
3368         * po/de.po:
3369           add German translation, that was somehow not included
3370
3371 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3372
3373         * docs/random/mimetypes:
3374           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
3375           do not add them to riff-lib as they are not common
3376
3377 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3378
3379         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3380           Check for existence of probe after performing the probe before
3381           re-accessing it to prevent segfaults caused by removal of the
3382           probe in the callback.
3383
3384 2005-01-05  David Schleef  <ds@schleef.org>
3385
3386         * testsuite/registry/Makefile.am:
3387         * testsuite/registry/gst-print-formats.c:
3388         (print_pad_templates_info), (print_element_list),
3389         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
3390         (g_list_uniqify), (get_pad_templates_info),
3391         (get_element_mime_list), (print_mime_list), (main): A little
3392         program that looks through the registry to find elements of
3393         a given type.  Not particularly interesting as a test, except
3394         that there's no other test covering the same area.
3395
3396 2005-01-05  David Schleef  <ds@schleef.org>
3397
3398         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
3399         (fault_handler_sigaction), (fault_spin),
3400         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
3401         in signal.h-type signal handlers by not calling forbidden functions,
3402         including gst_element_set_state().
3403
3404 2005-01-05  David Schleef  <ds@schleef.org>
3405
3406         * gst/gstvalue.h: Mark _gst_reserved[] as private
3407
3408 2005-01-05  David Schleef  <ds@schleef.org>
3409
3410         * gst/gstvalue.c: Fix doc build problem.
3411
3412 2005-01-05  David Schleef  <ds@schleef.org>
3413
3414         * gst/gstvalue.c: Add some documentation
3415
3416 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
3417
3418         * docs/README:
3419           another shell oneliner for empty return value docs
3420         * gst/gstcaps.c:
3421         * gst/gstvalue.c:
3422         * libs/gst/control/dparam.c:
3423           more doc fixes (parameters and return values)
3424
3425 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
3426
3427         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3428
3429         * gst/gstregistry.h:
3430         * gst/registries/gstxmlregistry.c:
3431           Fix macro's for Mingw (fixes #162276).
3432
3433 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
3434
3435         * docs/README:
3436           quick shell oneliner to find undocumented members
3437         * docs/gst/tmpl/gstplugin.sgml:
3438         * docs/gst/tmpl/gstscheduler.sgml:
3439         * docs/gst/tmpl/gstthread.sgml:
3440           more enumtypes cleanup
3441         * gst/gsterror.h:
3442           activated documentation comments, now someone needs to document
3443           the enums :(
3444
3445 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3446
3447         * docs/manual/manual.xml:
3448           Add dataaccess part (doh!).
3449
3450 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3451
3452         * docs/manual/advanced-autoplugging.xml:
3453           Fix typo (intiate -> initiate).
3454
3455 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3456
3457         * docs/random/bbb/streamselection:
3458           Add some notes on how to handle multi-subtitle/-audio streams.
3459
3460 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
3461
3462         * docs/gst/gstreamer-docs.sgml:
3463         * docs/gst/gstreamer-sections.txt:
3464         * docs/gst/tmpl/gstenumtypes.sgml:
3465         * docs/gst/tmpl/gsterror.sgml:
3466         * docs/gst/tmpl/gstevent.sgml:
3467         * docs/gst/tmpl/gstpad.sgml:
3468         * docs/gst/tmpl/gstpadtemplate.sgml:
3469         * docs/gst/tmpl/gstthread.sgml:
3470           removed gstenumtypes section from docs and put all the enums into
3471           their sections
3472
3473 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3474
3475         * gst/gstplugin.c:
3476           document gst_library_load a bit more (riff special case + return
3477           value if already loaded)
3478         * testsuite/bytestream/filepadsink.c:
3479           plugin name is 'gstbytestream', not 'bytestream'
3480
3481 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3482
3483         * docs/random/bbb/subtitles:
3484           Add some first mind rumblings on proper subtitle support.
3485
3486 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3487
3488         * po/ca.po:
3489         * po/sv.po:
3490           updated translations
3491
3492 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3493
3494         * docs/manual/advanced-dataaccess.xml:
3495           Add section on how to use fakesrc/fakesink/identity in your
3496           application, plus section on how to embed plugins. Also mention
3497           probes.
3498         * docs/manual/appendix-checklist.xml:
3499         * docs/manual/appendix-debugging.xml:
3500         * docs/manual/appendix-gnome.xml:
3501         * docs/manual/appendix-integration.xml:
3502           Debug -> checklist, GNOME -> integration, add sections on Linux,
3503           KDE integration and add other things useful for application
3504           development.
3505         * docs/manual/manual.xml:
3506           Remove some fixmes, update some file pointers.
3507         * docs/pwg/appendix-checklist.xml:
3508           Fix typo.
3509         * docs/pwg/building-boiler.xml:
3510           Remove ugly header and add commented fixme.
3511         * docs/pwg/pwg.xml:
3512           Add fixme.
3513         * examples/manual/Makefile.am:
3514           Add example for added docs.
3515
3516 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3517
3518         * configure.ac:
3519           back to HEAD
3520
3521 === release 0.8.8 ===
3522
3523 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3524
3525         * NEWS:
3526         * RELEASE:
3527         * configure.ac:
3528           Releasing 0.8.8, "I'll Take Care Of You"
3529
3530 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3531
3532         * configure.ac:
3533           second prerelease
3534
3535 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3536
3537         patch by: Wim Taymans
3538
3539         * gst/gstbin.c:
3540           Fix for #159852 - make iterate emission threadsafe
3541
3542 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3543
3544         * docs/faq/cvs.xml:
3545           notes about new fdo account request
3546
3547 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
3548
3549         * docs/gst/gstreamer-docs.sgml:
3550         * docs/gst/tmpl/gstenumtypes.sgml:
3551         * docs/gst/tmpl/gstplugin.sgml:
3552         * docs/libs/gstreamer-libs-docs.sgml:
3553           Added missing short docs. Added ids for navigation.
3554
3555 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3556
3557         * docs/manual/advanced-autoplugging.xml:
3558         * docs/manual/advanced-schedulers.xml:
3559         * docs/manual/advanced-threads.xml:
3560           Rewrites. Remove cothreads, go a bit into opt specifically,
3561           document threads and their gotchas, and do some technical stuff
3562           on autoplugging plus add some working examples. Fixes #157395.
3563         * examples/manual/Makefile.am:
3564           Add typefind/autoplugger example (one that actually works).
3565           Remove queue example since it's a duplicate of the thread one.
3566
3567 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3568
3569         * gst/gstvalue.c: (gst_value_deserialize_string):
3570           use deprecated g_value_set_string_take_ownership to keep compatible
3571           with glib 2.2
3572
3573 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3574
3575         * gst/gstvalue.c: (gst_value_deserialize_string):
3576           revert last patch, only dom a g_utf8_validate now before accepting
3577           the string - caps parsing strips " from strings so we can't rely on
3578           them
3579         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3580           disable a test that tested the above and comment it
3581
3582 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
3583
3584         Patch reviewed by David Schleef  <ds@schleef.org>
3585
3586         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
3587         bug #153882)
3588         * win32/gstenumtypes.h: same
3589
3590 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3591
3592         * gst/gstpad.c: (gst_pad_query):
3593           Do query on realized pad, similar to how convert/send_event handle
3594           this. Also makes sense, since this pad belongs to the function to
3595           which this query will be sent. Fixes #158163.
3596
3597 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
3598
3599         * docs/manual/appendix-programs.xml: fix pipeline to actually work
3600
3601 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
3602
3603         * docs/faq/general.xml: fix pipeline to actually work
3604
3605 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3606
3607         * gst/gstvalue.c: (gst_value_deserialize_string):
3608           check that a simple string that gets deserialized does not contain
3609           invalid characters
3610         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3611           remove a test that tested a wring behaviour
3612
3613 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
3614
3615         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3616
3617         * docs/manual/intro-motivation.xml:
3618           Fix typos.
3619
3620 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
3621
3622         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3623
3624         * docs/gst/tmpl/gstprobe.sgml:
3625           Fix documentation of probe callback - it is supposed to return
3626           FALSE, not TRUE, to remove data from the stream (#159087).
3627
3628 2004-12-16  Daniel Gazard  <dany42@free.fr>
3629
3630         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3631
3632         * gst/gstelementfactory.c: (gst_element_factory_create):
3633           Fix compile failure if compiling without libxml2 support (#149936).
3634
3635 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3636
3637         * docs/manual/advanced-autoplugging.xml:
3638         * docs/manual/highlevel-components.xml:
3639           Move spider from autoplugging to components. Autoplugging is for
3640           internals, not for solutions. ;-).
3641
3642 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3643
3644         * docs/random/ds/0.9-suggested-changes:
3645           Make note on device/location/uri property names.
3646
3647 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3648
3649         * docs/manual/advanced-autoplugging.xml:
3650         * docs/manual/advanced-clocks.xml:
3651         * docs/manual/advanced-interfaces.xml:
3652         * docs/manual/advanced-metadata.xml:
3653         * docs/manual/advanced-position.xml:
3654         * docs/manual/advanced-schedulers.xml:
3655         * docs/manual/advanced-threads.xml:
3656         * docs/manual/appendix-gnome.xml:
3657         * docs/manual/appendix-programs.xml:
3658         * docs/manual/appendix-quotes.xml:
3659         * docs/manual/autoplugging.xml:
3660         * docs/manual/basics-bins.xml:
3661         * docs/manual/basics-data.xml:
3662         * docs/manual/basics-elements.xml:
3663         * docs/manual/basics-helloworld.xml:
3664         * docs/manual/basics-init.xml:
3665         * docs/manual/basics-pads.xml:
3666         * docs/manual/basics-plugins.xml:
3667         * docs/manual/bins-api.xml:
3668         * docs/manual/bins.xml:
3669         * docs/manual/buffers-api.xml:
3670         * docs/manual/buffers.xml:
3671         * docs/manual/clocks.xml:
3672         * docs/manual/components.xml:
3673         * docs/manual/cothreads.xml:
3674         * docs/manual/debugging.xml:
3675         * docs/manual/dparams-app.xml:
3676         * docs/manual/dynamic.xml:
3677         * docs/manual/elements-api.xml:
3678         * docs/manual/elements.xml:
3679         * docs/manual/factories.xml:
3680         * docs/manual/gnome.xml:
3681         * docs/manual/goals.xml:
3682         * docs/manual/helloworld.xml:
3683         * docs/manual/helloworld2.xml:
3684         * docs/manual/highlevel-components.xml:
3685         * docs/manual/highlevel-xml.xml:
3686         * docs/manual/init-api.xml:
3687         * docs/manual/intro-basics.xml:
3688         * docs/manual/intro-motivation.xml:
3689         * docs/manual/intro-preface.xml:
3690         * docs/manual/intro.xml:
3691         * docs/manual/links-api.xml:
3692         * docs/manual/links.xml:
3693         * docs/manual/manual.xml:
3694         * docs/manual/motivation.xml:
3695         * docs/manual/pads-api.xml:
3696         * docs/manual/pads.xml:
3697         * docs/manual/plugins-api.xml:
3698         * docs/manual/plugins.xml:
3699         * docs/manual/programs.xml:
3700         * docs/manual/queues.xml:
3701         * docs/manual/quotes.xml:
3702         * docs/manual/schedulers.xml:
3703         * docs/manual/states-api.xml:
3704         * docs/manual/states.xml:
3705         * docs/manual/threads.xml:
3706         * docs/manual/typedetection.xml:
3707         * docs/manual/win32.xml:
3708         * docs/manual/xml.xml:
3709           Try 2. This time, include a short preface as a "general
3710           introduction", also add code blocks around all code samples
3711           so they get compiled. We still need a way to tell readers
3712           the filename of the code sample. In some cases, don't show
3713           all code in the documentation, but do include it in the generated
3714           code. This allows for focussing on specific bits in the docs,
3715           while still having a full test application available.
3716         * examples/manual/Makefile.am:
3717           Fix up examples for new ADM. Add several of the new examples that
3718           were either added or were missing from the build system.
3719         * examples/manual/extract.pl:
3720           Allow nameless blocks.
3721
3722 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3723
3724         * docs/manual/elements-api.xml:
3725         * docs/manual/helloworld.xml:
3726         * examples/manual/extract.pl:
3727           fix last example.  Add example of adding code blocks that are not
3728           shown in docbook output.
3729
3730 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3731
3732         * docs/manual/dynamic.xml:
3733         * docs/manual/elements-api.xml:
3734         * docs/manual/gnome.xml:
3735         * docs/manual/helloworld2.xml:
3736         * docs/manual/init-api.xml:
3737         * docs/manual/queues.xml:
3738         * docs/manual/threads.xml:
3739         * docs/manual/xml.xml:
3740         * examples/manual/extract.pl:
3741           Make it possible to extract example code from separate blocks.
3742           Should make Ronald happy.
3743
3744 2004-12-15  Wim Taymans  <wim@fluendo.com>
3745
3746         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3747         (remove_from_group), (group_elements_set_visited),
3748         (normalize_group), (gst_opt_scheduler_iterate):
3749         Fix bug where a flag was not updated on a decoupled entry point 
3750         because we were just checking the group element list and decoupled
3751         elements are not in that list..
3752
3753 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3754
3755         * docs/manual/advanced-autoplugging.xml:
3756         * docs/manual/advanced-clocks.xml:
3757         * docs/manual/advanced-dparams.xml:
3758         * docs/manual/advanced-interfaces.xml:
3759         * docs/manual/advanced-metadata.xml:
3760         * docs/manual/advanced-position.xml:
3761         * docs/manual/advanced-schedulers.xml:
3762         * docs/manual/advanced-threads.xml:
3763         * docs/manual/appendix-debugging.xml:
3764         * docs/manual/appendix-gnome.xml:
3765         * docs/manual/appendix-programs.xml:
3766         * docs/manual/appendix-quotes.xml:
3767         * docs/manual/appendix-win32.xml:
3768         * docs/manual/autoplugging.xml:
3769         * docs/manual/basics-bins.xml:
3770         * docs/manual/basics-data.xml:
3771         * docs/manual/basics-elements.xml:
3772         * docs/manual/basics-helloworld.xml:
3773         * docs/manual/basics-init.xml:
3774         * docs/manual/basics-pads.xml:
3775         * docs/manual/basics-plugins.xml:
3776         * docs/manual/bins-api.xml:
3777         * docs/manual/bins.xml:
3778         * docs/manual/buffers-api.xml:
3779         * docs/manual/buffers.xml:
3780         * docs/manual/clocks.xml:
3781         * docs/manual/components.xml:
3782         * docs/manual/cothreads.xml:
3783         * docs/manual/debugging.xml:
3784         * docs/manual/dparams-app.xml:
3785         * docs/manual/dynamic.xml:
3786         * docs/manual/elements-api.xml:
3787         * docs/manual/elements.xml:
3788         * docs/manual/factories.xml:
3789         * docs/manual/gnome.xml:
3790         * docs/manual/goals.xml:
3791         * docs/manual/helloworld.xml:
3792         * docs/manual/helloworld2.xml:
3793         * docs/manual/highlevel-components.xml:
3794         * docs/manual/highlevel-xml.xml:
3795         * docs/manual/init-api.xml:
3796         * docs/manual/intro-motivation.xml:
3797         * docs/manual/intro-preface.xml:
3798         * docs/manual/intro.xml:
3799         * docs/manual/links-api.xml:
3800         * docs/manual/links.xml:
3801         * docs/manual/manual.xml:
3802         * docs/manual/motivation.xml:
3803         * docs/manual/pads-api.xml:
3804         * docs/manual/pads.xml:
3805         * docs/manual/plugins-api.xml:
3806         * docs/manual/plugins.xml:
3807         * docs/manual/programs.xml:
3808         * docs/manual/queues.xml:
3809         * docs/manual/quotes.xml:
3810         * docs/manual/schedulers.xml:
3811         * docs/manual/states-api.xml:
3812         * docs/manual/states.xml:
3813         * docs/manual/threads.xml:
3814         * docs/manual/typedetection.xml:
3815         * docs/manual/win32.xml:
3816         * docs/manual/xml.xml:
3817           First try at rewriting the ADM. Needs lotsamore work, but some
3818           parts might already be somewhat useful.
3819         * docs/pwg/advanced-interfaces.xml:
3820           Remove properties interface, it never actually existed (except for
3821           on my HD...).
3822
3823 2004-12-13  David Schleef  <ds@schleef.org>
3824
3825         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
3826         be NULL (bug #160220).
3827
3828 2004-12-13  David Schleef  <ds@schleef.org>
3829
3830         * configure.ac: remove all mmx stuff, because it's not used.
3831         * docs/random/ds/0.9-suggested-changes: additional notes
3832         * include/Makefile.am: we don't use these anymore
3833         * include/mmx.h: remove
3834         * include/sse.h: remove
3835
3836 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3837
3838         * docs/random/mimetypes:
3839           Add FOURCC code for h264 codec (VSSH)
3840           Add alternate FOURCC codes for h263 related codecs
3841
3842 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
3843
3844         * docs/manual/programs.xml:
3845           Added more gst-launch examples.
3846
3847 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3848
3849         * gst/gstqueue.c: (gst_queue_handle_src_query):
3850           Check for availability again.
3851
3852 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3853
3854         * gst/gstcaps.c: (gst_caps_compare_structures):
3855           Simple caps go first. This has the nice side-effect of fixing an
3856           obscure warning.
3857
3858 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3859
3860         * gst/gstversion.h.in:
3861           Protect header.
3862
3863 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3864
3865         * gst/schedulers/gstoptimalscheduler.c:
3866         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
3867         (gst_opt_scheduler_get_wrapper):
3868           When we're recursing into a chain run, only run the directly
3869           related group, not all queued ones. This will fix a possible
3870           deadlock in chains with more than two groups.
3871
3872 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3873
3874         * autogen.sh:
3875           remove patch if autopoint fails
3876
3877 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3878
3879         * docs/gst/gstreamer-sections.txt:
3880           Document Thomas' addition, fix build, make Luis the sheriff happy.
3881
3882 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3883
3884         * gst/gstplugin.c:
3885         * gst/gstplugin.h:
3886           add accessor for version field
3887
3888 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3889
3890         submitted by: Luca Ferretti <elle.uca@infinito.it>
3891
3892         * po/LINGUAS:
3893         * po/it.po:
3894           New tranlation added: Italian
3895
3896 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3897
3898         * gst/gstpad.c: (gst_pad_is_negotiated),
3899         (gst_pad_get_negotiated_caps):
3900           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
3901           it doesn't actually check the contents), so be sure to hand it
3902           a RealPad else we'll crash.
3903
3904 2004-12-03  Wim Taymans  <wim@fluendo.com>
3905
3906         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3907         (gst_queue_link), (gst_queue_handle_src_query):
3908         Reverted to 1.110 until this makes the testsuite and various
3909         apps work.
3910
3911 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
3912
3913         * docs/upload.mak: fix included CVS conflict strings
3914
3915 2004-12-01  William Jon McCann  <mccann@jhu.edu>
3916
3917         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3918
3919         * gst/gstelement.c: (gst_element_error_full):
3920           Use g_error_new_literal because error text may have
3921           percentage signs in it. Fixes #160019.
3922
3923 2004-12-01  Benjamin Otte  <otte@gnome.org>
3924
3925         * gst/elements/gstbufferstore.c:
3926         (gst_buffer_store_add_buffer_func):
3927           don't try to make subbuffers bigger than they can be. (fixes
3928           #159970)
3929
3930 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3931
3932         * docs/gst/gstreamer-sections.txt:
3933         * docs/gst/tmpl/gstvalue.sgml:
3934           Add new function to docs to fix build.
3935
3936 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3937
3938         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
3939         * gst/gstpad.c: (_gst_pad_default_fixate_value),
3940         (_gst_pad_default_fixate_foreach):
3941         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
3942         * gst/gstvalue.h:
3943           Deprecate _type_is_fixed, use _value_is_fixed instead, since
3944           in some cases (arrays), the fixedness depends on the content.
3945         * gst/gstqueue.c: (gst_queue_handle_src_query):
3946           Check for availability before doing something.
3947
3948 2004-11-29  Wim Taymans  <wim@fluendo.com>
3949
3950         * testsuite/threads/Makefile.am:
3951         * testsuite/threads/signals.c: (gst_test_get_type),
3952         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
3953         (gst_test_set_property), (gst_test_get_property),
3954         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
3955         (gst_test_do_prop), (run_thread), (main):
3956         Added a bunch of testcases that show threadsafety bugs in glib.
3957
3958 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
3959
3960         * docs/manual/programs.xml:
3961           Added a first batch of gst-launch examples, as provided by Ronald
3962           and others from the devel-mlist
3963
3964 2004-11-28  Benjamin Otte  <otte@gnome.org>
3965
3966         * gst/gstelement.c: (gst_element_negotiate_pads):
3967           simplify
3968         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
3969         (gst_value_serialize_string), (gst_value_deserialize_string):
3970           add unwrapping of previously wrapped strings. Fix bug in wrapping
3971           while at it.
3972         * testsuite/caps/value_serialize.c: (test1),
3973         (test_string_serialization), (test_string_deserialization), (main):
3974           add tests for string (de)serialization
3975
3976 2004-11-26  Wim Taymans  <wim@fluendo.com>
3977
3978         * testsuite/threads/159566.c: (object_deep_notify), (main):
3979         * testsuite/threads/Makefile.am:
3980         Added testsuite to show bug #159566
3981
3982 2004-11-25  Wim Taymans  <wim@fluendo.com>
3983
3984         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
3985         (gst_thread_child_state_change), (gst_thread_main_loop):
3986         Ref the thread object in the GThread mainloop. Break out of the
3987         thread mainloop if it holds the last ref. This properly exits
3988         the threads when disposing the thread from its own context. It
3989         also avoids possible deadlocks in the dispose function.
3990
3991 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
3992
3993         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
3994         it is necessary to wait.
3995
3996 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3997
3998         * docs/pwg/building-boiler.xml:
3999           Make description somewhat clearer.
4000
4001 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4002
4003         * docs/upload.mak:
4004           Apparently docs changed location on FDO's server.
4005
4006 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4007
4008         * docs/pwg/appendix-checklist.xml:
4009           Add some random notes on things to check when writing an element.
4010           This list can be extended as people see fit.
4011
4012 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
4013
4014         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
4015         (gst_queue_link_src): Allow for renegotiating the caps of the sink
4016         pad. The queue will now wait until it is empty and forward the new
4017         caps to the source.
4018         * gst/gstbin.c (gst_bin_set_element_sched)
4019         (gst_bin_unset_element_sched): Make sure that all elements and
4020         links are registered and unregistered with the scheduler exactly
4021         once. This elaborates on a fix by Benjamin Otte, but
4022         guarantees that decoupled elements are also registered.
4023
4024 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4025
4026         * docs/manual/quotes.xml:
4027           add a quote
4028         * configure.ac:
4029         * gst/gst.c:
4030         * gst/gstinfo.c:
4031           add LIBDIR and move init message higher up so it's at the start
4032
4033 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4034
4035         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
4036         * gstreamer.spec.in: add fair
4037
4038 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4039
4040         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4041         * gst/elements/gstidentity.c: (gst_identity_class_init):
4042           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
4043           <teuf@gnome.org> (#157263).
4044         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4045         (gst_type_find_handle_src_query):
4046           Subtract size of internally stored data from position queries.
4047
4048 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
4049
4050         * gst/schedulers/fairscheduler.c:
4051         * gst/schedulers/faircothreads.c:
4052         * gst/schedulers/faircothreads.h:
4053         New cothread based scheduler: Fair scheduler.
4054         * gst/schedulers/gthread-cothreads.h: 
4055         Add the standard #if around the whole file.
4056         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
4057         compilation of the functions defined in this file. This is
4058         necessary to be able to use this file as a normal header.
4059         * gst/schedulers/Makefile.am: Add compiling support for fair
4060         scheduler.
4061         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
4062         scheduler cothreads layer from documentation generation.
4063
4064 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4065
4066         * gst/autoplug/gstspideridentity.c:
4067         (gst_spider_identity_sink_loop_type_finding):
4068           Don't crash if that function is not implemented.
4069
4070 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4071
4072         * docs/pwg/advanced-types.xml:
4073           Another typo.
4074
4075 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4076
4077         * docs/pwg/intro-preface.xml:
4078           Hm, ok, so the brackets weren't really useful...
4079         * docs/pwg/other-ntoone.xml:
4080           Fix embarassing typo.
4081
4082 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4083
4084         * docs/pwg/intro-preface.xml:
4085           Rewrite preface.
4086
4087 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4088
4089         * docs/pwg/advanced-scheduling.xml:
4090         * docs/pwg/advanced-tagging.xml:
4091         * docs/pwg/advanced-types.xml:
4092         * docs/pwg/building-boiler.xml:
4093         * docs/pwg/building-chainfn.xml:
4094         * docs/pwg/building-signals.xml:
4095         * docs/pwg/building-state.xml:
4096         * docs/pwg/building-testapp.xml:
4097         * docs/pwg/intro-basics.xml:
4098         * docs/pwg/other-manager.xml:
4099         * docs/pwg/other-source.xml:
4100           Typo fixes.
4101         * docs/pwg/other-manager.xml:
4102           Add some first content. No example code yet.
4103         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4104           Remove double newlines.
4105
4106 2004-11-04  Wim Taymans  <wim@fluendo.com>
4107
4108         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4109         (remove_from_group), (normalize_group), (group_migrate_connected),
4110         (gst_opt_scheduler_iterate):
4111         * testsuite/schedulers/.cvsignore:
4112         * testsuite/schedulers/Makefile.am:
4113         * testsuite/schedulers/queue_link.c: (main):
4114         Added testcase for scheduler segfault.
4115         Fix scheduler segfault when removing a decoupled
4116         entry point as the last element from a group.
4117
4118 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4119
4120         * gst/gstmarshal.list: add missing marshaller, fixes build
4121
4122 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4123
4124         * docs/random/signal: added notes about using BOXED for GstBuffer
4125         signal marshallers, not POINTER
4126
4127 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4128
4129         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4130         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
4131         POINTER=>BOXED changes to marshal GstBuffers
4132
4133 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4134
4135         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
4136         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
4137
4138 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
4139
4140         * docs/gst/gstreamer-sections.txt:
4141         * docs/gst/tmpl/gstcaps.sgml:
4142         * docs/gst/tmpl/gsterror.sgml:
4143         * docs/gst/tmpl/gstinfo.sgml:
4144         * docs/gst/tmpl/gstmacros.sgml:
4145         * docs/gst/tmpl/gstutils.sgml:
4146         * docs/random/ensonic/interfaces.txt:
4147         * gst/gstinfo.h:
4148           added some more docs, removed two obsolete defines
4149
4150 2004-11-02  Kjartan Maraas <as at gnome.org>
4151
4152         reviewed by: Wim Taymans, Ronald Bultje.
4153
4154         * gst/cothreads.c: (cothread_create):
4155         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4156         (gst_bin_child_state_change_func):
4157         * gst/gstbuffer.c: (gst_buffer_span):
4158         * gst/gstelement.c: (gst_element_get_index),
4159         (gst_element_get_event_masks), (gst_element_get_query_types),
4160         (gst_element_get_formats):
4161         * gst/gsterror.c: (_gst_core_errors_init),
4162         (_gst_library_errors_init), (_gst_resource_errors_init),
4163         (_gst_stream_errors_init):
4164         * gst/gstobject.c: (gst_object_default_deep_notify):
4165         * gst/gstpad.c: (gst_pad_get_event_masks),
4166         (gst_pad_get_internal_links_default):
4167         * gst/gstplugin.c: (gst_plugin_register_func),
4168         (gst_plugin_get_module):
4169         * gst/gststructure.c: (gst_structure_get_string),
4170         (gst_structure_get_abbrs), (gst_structure_from_abbr),
4171         (gst_structure_to_abbr):
4172         * gst/gstutils.c: (gst_print_element_args):
4173         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4174         (setup_group_scheduler), (gst_opt_scheduler_iterate):
4175         Aplied part of patch #157127: Cleanup of issues reported by 
4176         sparse.
4177         Also do not try to use cothreads when there is no cothread
4178         context yet.
4179
4180 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
4181
4182         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4183         (gst_opt_scheduler_iterate):
4184         Applied patch #154061. Running a pipeline in which an element 
4185         calls GST_ELEMENT_ERROR in the chain function, the opt 
4186         scheduler doesn't unref the chain so it never gets freed.
4187
4188 2004-11-02  Wim Taymans  <wim@fluendo.com>
4189
4190         * gst/gststructure.c: (gst_structure_get_abbrs),
4191         (gst_structure_from_abbr), (gst_structure_to_abbr):
4192         Remove that ugly if-then thing in the code that converts
4193         between strings and types.
4194
4195 2004-11-02  Wim Taymans  <wim@fluendo.com>
4196
4197         * gst/gstscheduler.c: (gst_scheduler_add_element),
4198         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
4199         Aplied clock distribution patch, this should fix bug
4200         #148787.
4201
4202 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4203
4204         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
4205
4206         * po/LINGUAS:
4207         * po/nb.po:
4208           Added Norwegian Bokmaal translation
4209
4210 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4211
4212         * tools/gst-inspect.c: (print_signal_info):
4213           print signal arguments as pointers if they are
4214
4215 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
4216
4217         * docs/pwg/building-boiler.xml:
4218           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
4219
4220 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4221
4222         * gst/parse/parse.l:
4223         * testsuite/parse/parse1.c: (main):
4224         Since parse can do 'element name=a:b' make 'a:b.' work as
4225         well. 
4226         Added testcase to verify fix.
4227
4228 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4229
4230         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
4231         Use the realpad when printing the direction.
4232         Add extra \n when printing extensions of typefind factories.
4233
4234 2004-10-13  David Schleef  <ds@schleef.org>
4235
4236         * examples/manual/Makefile.am: $< isn't portable in Makefile
4237         rules.
4238
4239 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
4240
4241         * docs/gst/tmpl/gstobject.sgml:
4242         * docs/gst/tmpl/gstplugin.sgml:
4243         * docs/gst/tmpl/gstpluginfeature.sgml:
4244         * docs/gst/tmpl/gstregistry.sgml:
4245         * docs/gst/tmpl/gstversion.sgml:
4246         * gst/gstbin.c:
4247           more api documentation
4248         * gst/gstplugin.c: (gst_plugin_register_func),
4249         (gst_plugin_check_file), (gst_plugin_load_file):
4250           better error signaling and logging
4251
4252 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4253
4254         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
4255           Subtract current queue contents from position queries.
4256
4257 2004-10-11  Johan Dahlin  <johan@gnome.org>
4258
4259         * gst/gsturi.c (gst_uri_get_location): unescape string
4260         (gst_uri_construct): escape string.
4261
4262 2004-10-11  Benjamin Otte  <otte@gnome.org>
4263
4264         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
4265         (gst_pad_try_set_caps_nonfixed):
4266           allow renegotiation of unconnected pads (as inside spider). Simply
4267           return OK if unconnected - mimic try_set_caps there.
4268
4269 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4270
4271         * gst/gstbin.c: (gst_bin_sync_children_state):
4272           Add missing break.
4273
4274 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4275
4276         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
4277         Set element to EOS before sending EOS event
4278
4279 2004-10-08  Wim Taymans  <wim at fluendo dot com>
4280
4281         * gst/elements/gsttypefindelement.c:
4282         (gst_type_find_element_handle_event):
4283         Handle EOS events when doing the transition from
4284         typefind to data passing. This should fix the
4285         infinite loops in short files.
4286
4287 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4288
4289         * gst/gstthread.c: (gst_thread_change_state),
4290         (gst_thread_child_state_change):
4291         Make sure no iteration happens while performing
4292         the state change as it could mess up the internal
4293         consistency of the thread state.
4294
4295 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4296
4297         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
4298         (gst_thread_change_state), (gst_thread_child_state_change):
4299         Do not try to grab the iterate lock in the state change method
4300         when we are in the same thread as the iterate or else we
4301         could deadlock. Some other cleanups.
4302
4303 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4304
4305         * configure.ac:
4306           bump nano to cvs
4307
4308 === release 0.8.7 ===
4309
4310 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4311
4312         * configure.ac:
4313         * NEWS:
4314         * RELEASE:
4315         * configure.ac:
4316           releasing 0.8.7, "A Cruise"
4317
4318 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4319
4320         * docs/random/mimetypes:
4321         Add an entry for Sony ATRAC3 audio format with mime-type
4322         used by rmdemux et riff-read
4323
4324 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4325
4326         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4327         Push the buffer store instead of clearing it in case that
4328         the stream is not seekable.
4329
4330 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4331
4332         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
4333         (gst_thread_main_loop):
4334         Lock the iteration and the state change so that automatic
4335         negotiation and fixation does not happen at the same time
4336         as the in stream negotiation.
4337
4338 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4339
4340         * configure.ac:
4341           bump nano to cvs
4342
4343 === release 0.8.6 ===
4344
4345 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4346
4347         * configure.ac:
4348         * NEWS:
4349         * RELEASE:
4350         * configure.ac:
4351           releasing 0.8.6, "Narc"
4352
4353 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4354
4355         * configure.ac:
4356           prerel bump
4357
4358 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4359
4360         patch by: Steve Lhomme
4361
4362         * gst/elements/gstfakesrc.c:
4363         * gst/elements/gstidentity.c:
4364         * gst/gstthread.c:
4365           Fix for #153881
4366
4367 2004-10-01  Wim Taymans  <wim at fluendo dot com>
4368
4369         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
4370         Fix threadsafety of the crc checking function.
4371
4372 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4373
4374         patch by: Ronald Bultje
4375
4376         * gst/elements/gsttypefindelement.c: (stop_typefinding),
4377         (gst_type_find_element_handle_event),
4378         (gst_type_find_element_chain):
4379         * gst/elements/gsttypefindelement.h:
4380          #153657.
4381          Filter out discont event from seekable sources when typefind
4382          asks them to seek.  Fixes typefind with demuxers for
4383          avi, asf and matroska.
4384
4385 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4386
4387         * docs/gst/gstreamer-sections.txt:
4388         * gst/gstcaps.c:
4389         * gst/gstcaps.h:
4390         * gst/gstpad.c:
4391           Revert preferred caps: (#147789)
4392
4393 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
4394
4395         * win32/dirent.c:
4396           fix a memory leak
4397
4398 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4399
4400         * configure.ac:
4401           bump for prerelease
4402
4403 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4404
4405         * docs/Makefile.am:
4406         * docs/manual/elements-api.xml:
4407           restructure so that common stuff is shown first
4408         * docs/manual/init-api.xml:
4409           convert to examples
4410         * docs/manual/manual.xml:
4411         * docs/manuals.mak:
4412         * docs/url.entities:
4413           link to API on the website, possibly override later in build
4414         * examples/manual/.cvsignore:
4415           ignore more
4416         * examples/manual/Makefile.am:
4417           add more examples
4418         * examples/manual/extract.pl:
4419           error out on failure
4420
4421 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4422
4423         * docs/gst/tmpl/gstthread.sgml:
4424         * docs/manual/init-api.xml:
4425         * examples/manual/Makefile.am:
4426           convert two code bits to examples
4427
4428 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4429
4430         * gst/gstelement.c: (gst_element_change_state):
4431           Well, actually, I was about to remove this insane assert when
4432           I noticed Wim already did that. A warning is nice so we can
4433           fix actual ugs (using --g-fatal-warnings and backtraces), so
4434           I added that instead.
4435
4436 2004-09-06  Wim Taymans  <wim@fluendo.com>
4437
4438         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
4439         (gst_element_threadsafe_properties_post_run),
4440         (gst_element_set_state), (gst_element_change_state):
4441         Added extra refcounting around various places. 
4442
4443 2004-09-06  Wim Taymans  <wim@fluendo.com>
4444
4445         * gst/gstpad.c: (gst_pad_link_call_link_functions):
4446         Fix debug info.
4447
4448 2004-09-06  Wim Taymans  <wim@fluendo.com>
4449
4450         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4451         (remove_from_group):
4452         Some more debug info.
4453
4454 2004-09-03  Wim Taymans  <wim@fluendo.com>
4455
4456         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4457         (gst_fakesrc_init), (gst_fakesrc_set_clock),
4458         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4459         (gst_fakesrc_get), (gst_fakesrc_change_state):
4460         * gst/elements/gstfakesrc.h:
4461         * gst/elements/gstidentity.c: (gst_identity_class_init),
4462         (gst_identity_init), (gst_identity_chain),
4463         (gst_identity_set_property), (gst_identity_get_property),
4464         (gst_identity_change_state):
4465         * gst/elements/gstidentity.h:
4466         Added datarate properties to limit the datarate.
4467
4468 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4469
4470         * gst/autoplug/gstspider.c: (plugin_init):
4471           don't set a rank. We don't want to autoplug by inserting spiders.
4472
4473 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4474
4475         * gst/autoplug/gstspider.c: (gst_spider_class_init),
4476         (gst_spider_identity_plug):
4477           add a template for spider's sink
4478         * gst/gst.c: (gst_register_core_elements):
4479           queue's rank should be NULL, we don't want spider to add it.
4480
4481 2004-08-18  David Schleef  <ds@schleef.org>
4482
4483         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
4484         * docs/libs/Makefile.am: same
4485         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
4486         * docs/random/ds/0.9-planning: random additions
4487         * docs/random/ds/0.9-suggested-changes: same
4488         * gst/gstxml.h: remove vestigal GstXMLNs definition
4489
4490         Preferred caps: (#147789)
4491         * docs/gst/gstreamer-sections.txt: Add symbols
4492         * docs/gst/tmpl/gstcaps.sgml: Add symbols
4493         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
4494         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
4495         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
4496         (gst_caps_get_preferred), (gst_caps_set_preferred),
4497         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
4498         (gst_caps_use_preferred): Handle caps preferences
4499         * gst/gstcaps.h: Add caps preferences
4500         * gst/gstpad.c: (gst_pad_link_get_preferred),
4501         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
4502         (gst_pad_renegotiate), (gst_pad_guess_preferred),
4503         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
4504         negotiation.
4505
4506 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4507
4508         * gst/autoplug/gstspideridentity.c:
4509         (gst_spider_identity_request_new_pad):
4510         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
4511         (gst_aggregator_init):
4512         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4513         (gst_fakesink_init):
4514         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4515         (gst_fakesrc_init):
4516         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
4517         (gst_fdsink_init):
4518         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
4519         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
4520         (gst_filesink_init):
4521         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4522         (gst_filesrc_init):
4523         * gst/elements/gstidentity.c: (gst_identity_base_init),
4524         (gst_identity_init):
4525         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
4526         (gst_multifilesrc_init):
4527         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
4528         (gst_pipefilter_init):
4529         * gst/elements/gststatistics.c: (gst_statistics_base_init),
4530         (gst_statistics_init):
4531         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
4532         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
4533           s/gst_pad_new/&_from_template/
4534           register pad templates in the base_init function
4535           add static pad template definitions
4536
4537 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4538
4539         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
4540         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
4541         * testsuite/refcounting/pad.c: (main):
4542         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
4543           s/gst_pad_new/&_from_template/
4544           prepare deprecation of gst_pad_new
4545
4546 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4547
4548         patch by: Luca Ognibene <skaboy81@virgilio.it>
4549
4550         * gst/gstcaps.c:
4551         * gst/gstelement.c:
4552         * gst/gstpad.c:
4553         * gst/gstxml.c:
4554           fix memleaks.  Fixes #150001
4555
4556 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4557
4558         * docs/random/ds/0.9-suggested-changes:
4559           add notes - mostly about pad templates
4560
4561 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
4562
4563         * win32/GStreamer.vcproj:
4564           temporary locale files are .gmo not .mo
4565
4566 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4567
4568         * configure.ac: bump nano to cvs
4569
4570 === release 0.8.5 ===
4571
4572 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4573
4574         * configure.ac:
4575           releasing 0.8.5, "Stuttgart"
4576         * NEWS:
4577         * RELEASE:
4578         * configure.ac:
4579         * docs/random/release:
4580           updates for release
4581
4582 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4583
4584         patch by: Wim Taymans (wim@fluendo.com)
4585
4586         * gst/gstbuffer.c:
4587         * gst/gstindex.h:
4588         * libs/gst/dataprotocol/dataprotocol.c:
4589           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
4590
4591 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4592
4593         * Makefile.am:
4594         * win32/MANIFEST:
4595           add win32 dir to the build.  Fixes #149981.
4596
4597 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4598
4599         * configure.ac:
4600           bump libtool versioning
4601         * gst/gststructure.c:
4602           mark function as static
4603         * po/af.po:
4604         * po/az.po:
4605         * po/ca.po:
4606         * po/cs.po:
4607         * po/en_GB.po:
4608         * po/fr.po:
4609         * po/nl.po:
4610         * po/sq.po:
4611         * po/sr.po:
4612         * po/sv.po:
4613         * po/tr.po:
4614         * po/uk.po:
4615           translations update
4616         * win32/README.txt:
4617           trademark protection
4618
4619 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4620
4621         * configure.ac:
4622           fix GST_ORIGIN
4623           set GST_PACKAGE to source, and distinguish between release and other
4624         * tools/gst-inspect.c:
4625           print out plugin an element factory is part of so we see this info
4626
4627 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4628
4629         * docs/gst/gstreamer-sections.txt:
4630         * docs/gst/tmpl/gstbuffer.sgml:
4631         * docs/gst/tmpl/gstschedulerfactory.sgml:
4632           reorder docs a little, make GstBuffer's more sensible.
4633         * gst/gstbuffer.h:
4634           API: added GST_BUFFER_FLAG_DELTA_UNIT
4635         * gst/gstscheduler.c:
4636           comment API addition
4637
4638 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4639
4640         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
4641           work with non-regular files that can be mmapped (like /dev/zero)
4642         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
4643           get rid of typefinds that require a seek when we can't seek instead
4644           of trying them over and over again
4645         * tools/gst-launch.c: (idle_func), (error_cb), (main):
4646           return non-zero failure value when the pipeline was interrupted or
4647           an error occurred
4648
4649 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4650
4651         * win32/config.h:
4652         * win32/GStreamer.vcproj:
4653           compile and install the locales
4654
4655 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4656
4657         * gst/gstvalue.c:
4658           fix a possible memory leak under Windows
4659
4660 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4661
4662         * win32/GStreamer.vcproj:
4663           fix a memory leak that occured under Windows
4664         * win32/gstreamer.def:
4665           add gst_scheduler_register
4666
4667 2004-08-11  Benjamin Otte  <otte@gnome.org>
4668
4669         * docs/gst/gstreamer-sections.txt:
4670         * gst/gstscheduler.c: (gst_scheduler_register):
4671         * gst/gstscheduler.h:
4672           API:
4673           add gst_scheduler_register shortcut similar to gst_element_register
4674         * gst/schedulers/entryscheduler.c: (plugin_init):
4675         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
4676         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
4677           use it
4678
4679 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
4680
4681         * gst/gstvalue.h:
4682           fix a memory leak that occured under Windows
4683
4684 2004-08-10  Colin Walters  <walters@redhat.com>
4685
4686         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
4687         Don't use O_EXCL to open temporary registry.  It will prevent
4688         registry creation if a temporary one already exists, which
4689         is unnecessary.
4690
4691 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4692
4693         * docs/gst/gstreamer-sections.txt:
4694         * docs/gst/tmpl/gstvalue.sgml:
4695           remove some valuable stuff from the documentation due to the use of GST_EXPORT
4696
4697 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4698
4699         * win32/gstbytestream.vcproj:
4700         * win32/gstelements.vcproj:
4701         * win32/gstgetbits.vcproj:
4702         * win32/gst-inspect.vcproj:
4703         * win32/gst-launch.vcproj:
4704         * win32/gstoptimalscheduler.vcproj:
4705         * win32/GStreamer.vcproj:
4706         * win32/gst-register.vcproj:
4707         * win32/gstspider.vcproj:
4708           update the include and lib dirs to fit standard libraries as
4709           described in the Win32 manual
4710
4711 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4712
4713         * win32/config.h:
4714         * win32/gstversion.h:
4715           enable NLS again, push the version number for the coming 0.8.5 release
4716
4717 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4718
4719         * gst/gstvalue.h:
4720           export gst_type_XXX for windows DLLs
4721
4722 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4723
4724         * docs/faq/gst-uninstalled:
4725           fix PKG_CONFIG_PATH and PYTHONPATH
4726         * gst/schedulers/Makefile.am:
4727           cleanup
4728         * libs/gst/bytestream/bytestream.c:
4729           remove newline
4730         * po/LINGUAS:
4731         * po/sq.po:
4732           adding Albanian translation (Laurent Dhima)
4733         * po/cs.po:
4734           updated
4735
4736 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4737
4738         * po/ca.po:
4739         * po/sv.po:
4740           updated translations
4741
4742 2004-08-04  Benjamin Otte  <otte@gnome.org>
4743
4744         * tests/mass_elements.c: (main):
4745           allow specifying src and sink element explicitly, so I can test
4746           videotestsrc instead of fakesrc
4747
4748 2004-08-04  Benjamin Otte  <otte@gnome.org>
4749
4750         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
4751         (gst_structure_id_empty_new), (gst_structure_empty_new),
4752         (gst_structure_copy):
4753           add gst_structure_id_empty_new_with_size to allow preallocating
4754           value array sizes. Use this in gst_structure_copy to get rid of
4755           reallocs.
4756           don't do quark=>string=>quark when copying structures
4757
4758 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
4759
4760         * docs/manual/win32.xml:
4761         * win32/README.txt:
4762           update documentation with the clean version of dependencies
4763
4764 2004-08-03  Benjamin Otte  <otte@gnome.org>
4765
4766         * gst/schedulers/entryscheduler.c:
4767         (gst_entry_scheduler_remove_element):
4768           fix for GST_DISABLE_DEBUG
4769         * tools/gst-launch.c: (print_tag):
4770           fixes for G_DISABLE_ASSERT
4771
4772 2004-08-03  Benjamin Otte  <otte@gnome.org>
4773
4774         * gst/gst.c: (gst_register_core_elements):
4775           fix for G_DISABLE_ASSERT
4776         * gst/gstinfo.c: (__gst_in_valgrind):
4777           add for GST_DISABLE_DEBUG
4778
4779 2004-08-03  Benjamin Otte  <otte@gnome.org>
4780
4781         * gst/parse/parse.l:
4782           fix for G_DISABLE_ASSERT
4783
4784 2004-08-03  Wim Taymans  <wim@fluendo.com>
4785
4786         * gst/gstbin.c: (gst_bin_get_type),
4787         (gst_bin_child_state_change_func):
4788         * gst/gstthread.c: (gst_thread_change_state):
4789         Backported some debug logging from a reverted patch
4790         Don't try to destroy the thread twice. Added some more
4791         debugging in GstThread. Unlock and signal even if we
4792         are in the thread context.
4793
4794 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4795
4796         * po/uk.po:
4797           updated translation
4798
4799 2004-07-30  David Schleef  <ds@schleef.org>
4800
4801         * gst/gstatomic_impl.h: Enable atomic code for x86_64
4802
4803 2004-07-29  David Schleef  <ds@schleef.org>
4804
4805         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
4806         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
4807
4808 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4809
4810         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
4811         (gst_bin_add_func), (gst_bin_remove_func),
4812         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
4813         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
4814         (gst_bin_change_state_norecurse), (gst_bin_dispose),
4815         (gst_bin_sync_children_state):
4816         * gst/gstbin.h:
4817         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
4818         (gst_thread_change_state):
4819         * testsuite/states/Makefile.am:
4820           revert state change patches as agreed so we can rework them
4821           gradually
4822
4823 2004-07-29  Benjamin Otte  <otte@gnome.org>
4824
4825         * libs/gst/control/Makefile.am:
4826           link to libgstreamer (fixes Debian bug 262019, see
4827           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
4828
4829 2004-07-29  Wim Taymans  <wim@fluendo.com>
4830
4831         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
4832         (check_from_fraction_convert), (transform_test), (main):
4833         Make the test less pedantic about float roundoff errors.
4834
4835 2004-07-29  Benjamin Otte  <otte@gnome.org>
4836
4837         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
4838         (gst_filesrc_srcpad_event):
4839           make seek events to before start/after end of file not fail, but
4840           seek to start/end instead
4841         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
4842           add more output
4843
4844 2004-07-29  Benjamin Otte  <otte@gnome.org>
4845
4846         * gst/gstpad.c: (gst_pad_set_explicit_caps):
4847           check that caps are fixed
4848         * gst/gstpad.c: (gst_pad_template_new):
4849           don't try to simplify caps, costs too much time on gst_init
4850         * gst/gstplugin.c: (gst_plugin_add_feature):
4851           G_ERROR if features are added twice
4852         * gst/gsttypefind.c: (gst_type_find_register):
4853         * gst/gstelementfactory.c: (gst_element_register):
4854           don't add features twice
4855         * docs/random/ds/0.9-suggested-changes:
4856           add note about possible gst_init optimization
4857
4858 2004-07-28  David Schleef  <ds@schleef.org>
4859
4860         * testsuite/elements/Makefile.am:
4861         * testsuite/elements/struct_i386.h:
4862         * testsuite/elements/struct_size.c: (main):  A little test
4863         to keep distcheck from working if someone changes a structure
4864         size accidentally.
4865
4866 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4867
4868         * docs/libs/Makefile.am:
4869         * docs/libs/gstreamer-libs-docs.sgml:
4870         * docs/libs/gstreamer-libs-sections.txt:
4871         * docs/libs/tmpl/gstbytestream.sgml:
4872         * docs/libs/tmpl/gstcontrol.sgml:
4873         * docs/libs/tmpl/gstdataprotocol.sgml:
4874         * docs/libs/tmpl/gstgetbits.sgml:
4875         * libs/gst/bytestream/Makefile.am:
4876         * libs/gst/bytestream/bytestream.c:
4877         * libs/gst/bytestream/bytestream.h:
4878         * libs/gst/control/Makefile.am:
4879         * libs/gst/dataprotocol/Makefile.am:
4880         * libs/gst/getbits/Makefile.am:
4881         * libs/gst/getbits/getbits.h:
4882           various doc and style fixes, adding bytestream to libs docs.
4883
4884 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4885
4886         * docs/gst/gstreamer-docs.sgml:
4887         * docs/libs/Makefile.am:
4888         * docs/libs/gstreamer-libs-docs.sgml:
4889         * docs/libs/gstreamer-libs-sections.txt:
4890         * libs/gst/control/dparam.c:
4891           more doc fixes.  gst-libs docs now build the same way as gst.
4892
4893 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4894
4895         * configure.ac:
4896         * testsuite/Makefile.am:
4897         * testsuite/bins/Makefile.am:
4898         * testsuite/caps/Makefile.am:
4899         * testsuite/cleanup/Makefile.am:
4900         * testsuite/clock/Makefile.am:
4901         * testsuite/debug/Makefile.am:
4902         * testsuite/dlopen/Makefile.am:
4903         * testsuite/dynparams/Makefile.am:
4904         * testsuite/elements/.cvsignore:
4905         * testsuite/elements/Makefile.am:
4906         * testsuite/enumcaps/Makefile.am:
4907         * testsuite/enumcaps/enumcaps.c:
4908         * testsuite/ghostpads/Makefile.am:
4909         * testsuite/indexers/Makefile.am:
4910         * testsuite/negotiation/Makefile.am:
4911         * testsuite/parse/Makefile.am:
4912         * testsuite/plugin/Makefile.am:
4913         * testsuite/refcounting/Makefile.am:
4914         * testsuite/schedulers/.cvsignore:
4915         * testsuite/states/Makefile.am:
4916         * testsuite/tags/Makefile.am:
4917         * testsuite/threads/Makefile.am:
4918           fold enumcaps into caps dir
4919           clean up Makefile.am's for testsuite
4920
4921 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4922
4923         * docs/gst/Makefile.am:
4924         * docs/libs/Makefile.am:
4925           clean up docs build.  Fixes needless rebuilding of template files.
4926
4927 2004-07-28  Wim Taymans  <wim@fluendo.com>
4928
4929         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
4930         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
4931         Make sure that a bin state change tries to keep the children
4932         in sync. 
4933         Added debug logging to the thread.
4934
4935 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
4936
4937         * win32/GStreamer.vcproj:
4938         * win32/gstreamer.def:
4939           more exports for the plugins
4940
4941 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
4942
4943         * win32/gstgetbits.vcproj:
4944         * win32/gstgetbits.def:
4945         * win32/msvc71.sln:
4946           add support for the getbits plugin
4947
4948 2004-07-27  Wim Taymans  <wim@fluendo.com>
4949
4950         * gst/gstvalue.c: (gst_value_transform_double_fraction),
4951         (gst_value_transform_fraction_double), (_gst_value_initialize):
4952         * testsuite/caps/Makefile.am:
4953         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
4954         (check_from_fraction_convert), (transform_test), (main):
4955         Added transform functions between double and fraction.
4956         Added testcase to verify transforms
4957
4958 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4959
4960         * win32/GStreamer.vcproj:
4961           rename GStreamer-0.8.lib to libgstreamer.lib
4962
4963 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4964
4965         * win32/gstelements.vcproj:
4966         * win32/gstoptimalscheduler.vcproj:
4967           fixes for the Release build
4968
4969 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4970
4971         * win32/config.h:
4972           update the version number
4973
4974 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4975
4976         * win32/GStreamer.vcproj:
4977           add gstinterface to the build
4978
4979 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4980
4981         * win32/gstreamer.def:
4982           add many definitions needed by plugins,
4983           GST_CAT_DEFAULT only available in the Debug build ?
4984
4985 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4986
4987         * gst/gstelement.c: (gst_element_set_eos_recursive):
4988           various whitespace fixes.
4989           doc fix, fixes #148497
4990
4991 2004-07-25  Benjamin Otte  <otte@gnome.org>
4992
4993         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
4994           don't delay links on the sink elements, it causes unnegotiated
4995           links.
4996         * gst/elements/gsttypefindelement.c:
4997         (gst_type_find_element_base_init):
4998           add our padtemplates, we indeed do have some.
4999         * gst/elements/gsttypefindelement.c:
5000         (gst_type_find_element_handle_event),
5001         (gst_type_find_element_chain):
5002           don't push data when typefinding failed.
5003         * gst/gstpad.c: (gst_pad_link_fixate):
5004           check that no fixate function returns empty caps.
5005         * gst/gstpad.c: (gst_pad_push):
5006           check that the link is negotiated before data gets pushed.
5007         * tools/gst-register.c: (main):
5008           don't assert (fixes #148283)
5009
5010 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5011
5012         * docs/gst/gstreamer-sections.txt:
5013         * docs/gst/tmpl/gstconfig.sgml:
5014           add GST_PLUGIN_EXPORT definition
5015
5016 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5017
5018         * gst/gstplugin.h:
5019         * gst/gstconfig.h.in:
5020         * win32/gstconfig.h:
5021         * win32/gstelements.def:
5022         * win32/gstelements.vcproj:
5023         * win32/gstoptimalscheduler.def:
5024         * win32/gstoptimalscheduler.vcproj:
5025         * win32/gstspider.def:
5026         * win32/gstspider.vcproj:
5027           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
5028
5029 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5030
5031         * docs/gst/gstreamer-sections.txt:
5032           remove GST_CAT_DEFAULT because the type has changed
5033
5034 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5035
5036         * win32/gstbytestream.vcproj:
5037         * win32/gstelements.vcproj:
5038         * win32/gst-inspect.vcproj:
5039         * win32/gst-launch.vcproj:
5040         * win32/gstoptimalscheduler.vcproj:
5041         * win32/GStreamer.vcproj:
5042         * win32/gst-register.vcproj:
5043         * win32/gstspider.vcproj:
5044         * win32/msvc71.sln:
5045           Copy the files where needed after building, The testsuite will be
5046           built separately
5047
5048 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5049
5050         * win32/config.h:
5051         * win32/README.txt:
5052         * docs/manual/win32.xml:
5053         Fixed the plugin and GStreamer location
5054
5055 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5056
5057         * win32/gstreamer.def:
5058         More exports for the plugins
5059
5060 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5061
5062         * gst/gstinfo.h:
5063         Marc was right, we need to export literally GST_CAT_DEFAULT
5064
5065 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5066
5067         * win32/config.h:
5068         NLS crashes in gettext, disabled until this is solved
5069
5070 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5071
5072         * win32/gst-inspect.vcproj:
5073         * win32/gst-launch.vcproj:
5074         Should use NLS when available
5075
5076 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5077
5078         * gst/registries/gstxmlregistry.c:
5079         removing the file doesn't seem to be a good idea on Linux
5080
5081 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5082
5083         * gst/registries/gstxmlregistry.c:
5084         Remove the registry before renaming the tempfile (needed for Windows)
5085
5086 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5087
5088         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
5089         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
5090         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
5091         * gst/elements/gstmultifilesrc.h:
5092         Added newmedia property so it generates newmedia events between each
5093         file when property is set, as well as fixed eos handling
5094
5095 2004-07-22  David Schleef  <ds@schleef.org>
5096
5097         * gst/gststructure.c: (gst_structure_id_empty_new),
5098         (gst_structure_empty_new):  Set type field correctly.
5099         * gst/gststructure.h: Check type field correctly.
5100         * testsuite/caps/Makefile.am:
5101         * testsuite/caps/structure.c: (test1), (main): Add a very small
5102         test for structures.
5103
5104 2004-07-22  David Schleef  <ds@schleef.org>
5105
5106         * docs/random/ds/0.9-suggested-changes: more comments
5107         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
5108
5109 2004-07-22  Benjamin Otte  <otte@gnome.org>
5110
5111         * gst/gstelementfactory.c: (gst_element_register):
5112           set the factory in the class struct, so gst_element_get_factory
5113           actually works
5114         * gst/parse/grammar.y:
5115           set element to playing when it gets unlocked as we can't rely on the
5116           bin state - all elements in the bin state might still be locked in
5117           NULL)
5118
5119 2004-07-22  Benjamin Otte  <otte@gnome.org>
5120
5121         * gst/gstelement.c: (gst_element_set_state_func):
5122           make this a static function
5123
5124 2004-07-22  Wim Taymans  <wim@fluendo.com>
5125
5126         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
5127         (gst_opt_scheduler_pad_link):
5128         fix 147894-2 and the group_link problem.
5129
5130 2004-07-22  Wim Taymans  <wim@fluendo.com>
5131
5132         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5133         (handoff_identity), (main):
5134         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5135         (handoff_identity), (main):
5136         * testsuite/schedulers/Makefile.am:
5137         * testsuite/schedulers/group_link.c: (main):
5138         Show bug in scheduler when linking chain and loop based element 
5139         where the chain based element was not yet in a group.
5140
5141 2004-07-21  Benjamin Otte  <otte@gnome.org>
5142
5143         * gst/.cvsignore:
5144         * gst/autoplug/.cvsignore:
5145         * gst/elements/.cvsignore:
5146         * gst/indexers/.cvsignore:
5147         * libs/gst/bytestream/.cvsignore:
5148         * libs/gst/control/.cvsignore:
5149         * libs/gst/getbits/.cvsignore:
5150         * testsuite/states/.cvsignore:
5151         * testsuite/threads/.cvsignore:
5152           keep this up to date, since I seem to be the only one who cares
5153           about not missing files on commits (editor's note: no you don't,
5154           but feel free to change them at the time you add stuff instead
5155           of later on)
5156
5157 2004-07-21  Benjamin Otte  <otte@gnome.org>
5158
5159         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5160         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
5161         (gst_bin_child_state_change_func), (set_kid_state_func),
5162         (gst_bin_set_state), (gst_bin_change_state_norecurse):
5163           make state changes work correctly and reentrant (so removing
5164           elements from bins during state changes of bins doesn't cause
5165           segfaults or even wrong states)
5166           add debugging category and debugging output to print children states
5167         * gst/gstbin.c: (gst_bin_dispose): 
5168           add some assertion checks
5169         * gst/gstbin.h:
5170         * gst/gstbin.c: (gst_bin_sync_children_state):
5171           deprecate this function - it just does gst_bin_set_state (bin,
5172           GST_STATE (bin)) 
5173         * testsuite/threads/queue.c: (main):
5174           don't use gst_bin_sync_children_state anymore
5175         * testsuite/states/Makefile.am:
5176         * testsuite/states/bin.c:
5177           test that the state changes of bins work as expected
5178         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
5179           some adjustments to change states correctly, too
5180         * gst/gstthread.c: (gst_thread_change_state):
5181           don't enable/disable "threadsafe" properties, they're unused and
5182           cause random segfaults
5183         * testsuite/threads/Makefile.am:
5184           the queue check randomly passes now, ignore it
5185
5186 2004-07-21  Benjamin Otte  <otte@gnome.org>
5187
5188         * gst/gstpad.c:
5189           check if data is NULL before outputting debug info. (fixes #145100)
5190
5191 2004-07-21  Benjamin Otte  <otte@gnome.org>
5192
5193         * gst/schedulers/entryscheduler.c:
5194         (gst_entry_scheduler_loop_wrapper),
5195         (gst_entry_scheduler_chain_wrapper),
5196         (gst_entry_scheduler_get_wrapper):
5197           reset the state when the cothread starts, so we don't get assertion
5198           failures on restarting of cothreads
5199
5200 2004-07-20  Benjamin Otte  <otte@gnome.org>
5201
5202         * gst/gstelement.c: (gst_element_link_pads_filtered):
5203           use correct sinkpad, if only sinkpad is specified, but not srcpad
5204           (fixes #147889)
5205         * gst/gstelement.c: (gst_element_set_state_func),
5206         (gst_element_change_state): ref/unref the element, signal handlers
5207         could get rid of the element otherwise
5208
5209 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5210
5211         * docs/random/ds/0.9-suggested-changes:
5212           Make note about renaming fixed-list to array.
5213         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
5214         (_gst_value_initialize):
5215           Add array intersections.
5216         * testsuite/caps/intersect2.c: (main):
5217           Add test for array intersections.
5218
5219 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5220
5221         * configure.ac: back to cvs
5222
5223 === release 0.8.4 ===
5224
5225 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5226
5227         * configure.ac:
5228           releasing 0.8.4, "Paella"
5229           bump libtool versioning
5230
5231 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5232
5233         * po/LINGUAS:
5234         * po/ca.po:
5235           adding Catalan translation (Jordi Mallach)
5236
5237 2004-07-20  Wim Taymans  <wim@fluendo.com>
5238
5239         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5240         (handoff_identity), (main):
5241         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5242         (handoff_identity), (main):
5243         * testsuite/schedulers/Makefile.am:
5244         Added failing testcase for variant of #147894
5245
5246 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5247
5248         patch by: David Moore
5249
5250         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5251         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
5252         (group_migrate_connected):
5253         * testsuite/schedulers/Makefile.am:
5254           fix for #142813 (Deadlock in optimal scheduler)
5255
5256 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5257
5258         patch by: Wim Taymans
5259
5260         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5261         (gst_opt_scheduler_schedule_run_queue),
5262         (gst_opt_scheduler_get_wrapper), (get_group),
5263         (group_migrate_connected):
5264         * testsuite/schedulers/Makefile.am:
5265           fix for #147819 (Add some checks in the opt scheduler)
5266
5267 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5268
5269         patch by: Benjamin Otte
5270
5271         * gst/gstelementfactory.c: (__gst_element_details_set):
5272           fix for #147929: running gst-register in non-utf8 locale can cause
5273           invalid registry
5274
5275 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5276
5277         patch by: Wim Taymans
5278
5279         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
5280         (group_has_element), (element_get_reachables_func),
5281         (group_migrate_connected):
5282           fix for #147894 (opt scheduler decoupled elements mismanagement)
5283         * testsuite/schedulers/Makefile.am:
5284           testsuite app now passes
5285
5286 2004-07-19  Wim Taymans  <wim@fluendo.com>
5287
5288         * testsuite/schedulers/147819.c: (handoff_identity1),
5289         (handoff_identity2), (main):
5290         * testsuite/schedulers/Makefile.am:
5291         Added testcase for bug 147819
5292
5293 2004-07-19  Wim Taymans  <wim@fluendo.com>
5294
5295         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5296         (handoff_identity), (main):
5297         * testsuite/schedulers/Makefile.am:
5298         Added testcase for bug 147894
5299
5300 2004-07-16  Wim Taymans  <wim@fluendo.com>
5301
5302         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
5303         * testsuite/schedulers/142183.c: (handoff_identity), (main):
5304         * testsuite/schedulers/Makefile.am:
5305         Added testsuite for bug 142183 in its two incarnations. Refcount
5306         is not increased for scheduled elements and threadsafe properties
5307         mutexes are not properly unlocked.
5308
5309 2004-07-16  Wim Taymans  <wim@fluendo.com>
5310
5311         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
5312         (create_chain), (destroy_chain), (create_group), (destroy_group),
5313         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
5314         (group_dec_link), (gst_opt_scheduler_pad_link),
5315         (group_inc_links_for_element), (group_migrate_connected):
5316         Call group_inc_link with the proper src->sink ordering -- 
5317         break this, and we break sort_chain. patch from wingo for bug
5318         147713.
5319         Partially revert patch 1.89. When adding a loop based element to 
5320         the scheduler, the links to other groups are automatically followed
5321         and incremented. This should not happen because the bin will call
5322         pad_link explicitly for those connection, resulting in them counted 
5323         twice. Results in assertion failure on pipeline cleanup.
5324
5325 2004-07-16  Wim Taymans  <wim@fluendo.com>
5326
5327         * testsuite/schedulers/143777-2.c: (main):
5328         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
5329         (main):
5330         * testsuite/schedulers/Makefile.am:
5331         Added cleanup code to testcase 143777-2.
5332         Added testcase to show bug 147713, does not really show the
5333         deadlock as I can't figure out how to trigger it, but it does
5334         demonstrate bad ordering in the scheduler.
5335
5336 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5337
5338         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5339           change strndup to g_strndup.  Fixes #147707
5340
5341 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5342
5343         * po/af.po:
5344         * po/az.po:
5345         * po/cs.po:
5346         * po/en_GB.po:
5347         * po/fr.po:
5348         * po/nl.po:
5349         * po/sr.po:
5350         * po/sv.po:
5351         * po/tr.po:
5352         * po/uk.po:
5353           updated translations
5354
5355 2004-07-16  Benjamin Otte  <otte@gnome.org>
5356
5357         * gst/gstvalue.c: (gst_greatest_common_divisor):
5358           use ints and return ints, fractions only use ints, too, so this
5359           avoids accidently casting multiplications to unsigned
5360         (gst_value_lcopy_fraction): it's ints, not uint32
5361         (gst_value_set_fraction): disallow minint, multiplying and negation
5362           are broken with it
5363         (gst_value_fraction_multiply): fix to make large numbers work and get
5364         rid of the assumption that the multiplication of two ints fits an
5365         int64 - dunno if that's true for all systems
5366         * testsuite/caps/Makefile.am:
5367         * testsuite/caps/fraction-multiply-and-zero.c:
5368         (check_multiplication), (check_equal), (zero_test), (main):
5369           add tests for all the stuff above
5370         * testsuite/caps/value_compare.c: (test1):
5371           fix comment
5372         * tests/.cvsignore:
5373         * testsuite/caps/.cvsignore:
5374         * testsuite/debug/.cvsignore:
5375         * testsuite/dlopen/.cvsignore:
5376         * testsuite/states/.cvsignore:
5377           get up to date
5378
5379 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5380
5381         * docs/manual/bins-api.xml:
5382         * docs/manual/factories.xml:
5383         * docs/manual/helloworld.xml:
5384         * docs/manual/links-api.xml: 
5385           fixes for out of date info, incorrect info and grammar
5386
5387 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5388
5389         * docs/manual/pads.xml:
5390         * docs/manual/pads-api.xml: grammar fix
5391
5392 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5393
5394         * docs/manual/pads-api.xml: typo + grammar fix
5395
5396 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5397
5398         * docs/gst/gstreamer-sections.txt:
5399           add new symbols
5400         * docs/gst/tmpl/gstelement.sgml:
5401         * docs/gst/tmpl/gstpad.sgml:
5402         * docs/gst/tmpl/gsttypes.sgml:
5403         * docs/gst/tmpl/gstvalue.sgml:
5404           update docs
5405         * gst/gststructure.c: (gst_structure_set_valist),
5406         (gst_structure_from_abbr), (gst_structure_to_abbr):
5407         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
5408         (gst_greatest_common_divisor), (gst_value_init_fraction),
5409         (gst_value_copy_fraction), (gst_value_collect_fraction),
5410         (gst_value_lcopy_fraction), (gst_value_set_fraction),
5411         (gst_value_get_fraction_numerator),
5412         (gst_value_get_fraction_denominator),
5413         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
5414         (gst_value_deserialize_fraction),
5415         (gst_value_transform_fraction_string),
5416         (gst_value_transform_string_fraction),
5417         (gst_value_compare_fraction), (_gst_value_initialize):
5418         * gst/gstvalue.h:
5419           adding GstFraction GValue type, get/set, and multiply
5420         * testsuite/caps/Makefile.am:
5421         * testsuite/caps/fraction.c: (test), (main):
5422         * testsuite/caps/string-conversions.c: (main):
5423         * testsuite/caps/value_compare.c: (test1), (main):
5424           add regression tests for GstFraction
5425
5426 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5427         
5428         * docs/manual/init-api.xml: Grammar fix
5429
5430 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5431
5432         * docs/manual/states.xml: Fix inconsistent information
5433
5434 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5435
5436         * gst/gstelement.c: (gst_element_set_state):
5437         * gst/gstpad.c: (gst_pad_try_set_caps):
5438         * gst/gststructure.c:
5439         * gst/gstthread.c: (gst_thread_child_state_change):
5440         * gst/gstvalue.c: (gst_value_compare_double):
5441         * gst/gstvalue.h:
5442         * testsuite/parse/parse1.c: (main):
5443           debugging additions and style cleanups
5444
5445 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5446
5447         * docs/manual/states.xml: Grammar fix
5448
5449 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5450
5451         * docs/manual/pads.xml: Grammar fix
5452
5453 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5454
5455         * docs/manual/elements.xml: Fixed image reference
5456
5457 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5458
5459         * docs/manual/goals.xml: Grammar fix
5460
5461 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5462
5463         * docs/manual/motivation.xml:
5464         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
5465
5466 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5467
5468         * docs/manual/motivation.xml: Fix spelling
5469
5470 2004-07-15  Benjamin Otte  <otte@gnome.org>
5471
5472         * gst/gstelement.h: 
5473           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
5474           strings.
5475         * gst/gstelement.c (gst_element_class_init):
5476           GError's are boxed, not objects
5477         * gst/gstmarshal.list:
5478           update list for the fixed error signal
5479
5480 2004-07-14  Andy Wingo  <wingo@pobox.com>
5481
5482         * gst/gsttag.c: Add a tag merge func for pointers. The header was
5483         there all along, but the function wasn't. (guile-gstreamer's build
5484         system uses the address of the function -- I wasn't actually
5485         trying to use this.)
5486
5487 2004-07-14  Andy Wingo  <wingo@pobox.com>
5488
5489         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
5490         as gst_pad_proxy_pad_link) just link to every other pad when they
5491         are called. In the case where the graph has cycles, this will mean
5492         that a call to try_set_caps will recurse. Allow this recursion
5493         and return OK, while we wait for the first try_set_caps to give a
5494         proper return value.
5495         (gst_pad_link_call_link_functions): Since this function is the
5496         only one to set the NEGOTIATING flag on a pad, if the flag is set
5497         it means that the link functions have indirectly recursed. If this
5498         happens, error out to avoid infinite recursion and an eventual
5499         SEGV.
5500         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
5501         (gst_pad_proxy_getcaps): Intersect the result with the template
5502         caps to ensure that the return value is valid.
5503
5504 2004-07-14  Andy Wingo  <wingo@pobox.com>
5505
5506         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
5507         one refcount, the calling function is the owner of the buffer.
5508
5509 2004-07-14  Wim Taymans  <wim@fluendo.com>
5510
5511         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5512         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5513         Fix stupid warning when an element is to be migrated but
5514         is already migrated.
5515
5516 2004-07-14  Wim Taymans  <wim@fluendo.com>
5517
5518         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5519         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5520         Make sure that a single non-loop-based element does not 
5521         end up in a group. This fixes the testsuite again.
5522
5523 2004-07-14  Wim Taymans  <wim@fluendo.com>
5524
5525         * gst/schedulers/gstoptimalscheduler.c: (create_group),
5526         (add_to_group), (merge_groups), (schedule_group),
5527         (gst_opt_scheduler_get_wrapper), (group_elements),
5528         (group_dec_link), (gst_opt_scheduler_pad_link),
5529         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
5530         (gst_opt_scheduler_iterate):
5531         move isolated groups to a new chain.
5532         Emit a warning instead of segfaulting in some error cases.
5533         Fix a bug where the link count between groups was not calculated 
5534         correctly. Fixes #144510.
5535
5536 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
5537         * gst/elements/gstfilesrc.c:
5538           Binary files support under Windows now OK
5539       
5540 2004-07-13  Benjamin Otte  <otte@gnome.org>
5541
5542           compatibility fixes for Solaris 8/gcc 2.95
5543         * configure.ac:
5544           include libintl libs in LDFLAGS
5545         * gstvalue.c (gst_value_deserialize_buffer):
5546           cast isxdigit stuff to int to silence compiler warning
5547
5548 2004-07-12  Benjamin Otte  <otte@gnome.org>
5549
5550         * gst/gsttypes.h:
5551           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
5552           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
5553           just causes support madness
5554         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
5555           make it work without this
5556         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
5557         (gst_file_index_commit):
5558           glib IO channels don't want binary mode
5559         * testsuite/bytestream/filepadsink.c: (main):
5560         * testsuite/bytestream/test1.c: (read_param_file):
5561           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
5562
5563 2004-07-12  Benjamin Otte  <otte@gnome.org>
5564
5565         * gst/gstelement.c: (gst_element_class_init),
5566         (gst_element_set_state), (gst_element_set_state_func):
5567           virutalize gst_element_set_state, use set_state member in class
5568           struct that was already added in 0.7 for this.
5569         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
5570         (gst_bin_change_state):
5571           make gst_bin_foreach works similar to other foreach functions, plug
5572           memleaks in it. Make functions using it work with the new approach.
5573           Document gst_bin_foreach, so it can be exported if we want to
5574         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
5575           use virtualized set_state to make set_state on bins set the state of
5576           all its children.
5577
5578 2004-07-12  Benjamin Otte  <otte@gnome.org>
5579
5580         * configure.ac:
5581           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
5582           http://bugs.gentoo.org/show_bug.cgi?id=53967)
5583         * gst/gstpad.c: (gst_pad_alloc_buffer):
5584           allow buffer_alloc functions to return NULL and allocate a normal
5585           buffer in that case
5586
5587 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5588         * gst/elements/gstfilesink.c:
5589         * gst/elements/gstfilesrc.c:
5590         * gst/indexers/gstfileindex.c:
5591         * gst/gsttypes.h:
5592         * testsuite/bytestream/filepadsink.c:
5593         * testsuite/bytestream/test1.c:
5594           Handle binary files under Windows
5595
5596 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5597         * docs/manual/win32.xml:
5598         * win32/config.h:
5599         * win32/gst-register.vcproj:
5600         * win32/gstreamer.def:
5601           Update to another gettext public build
5602
5603 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5604         * gst/gstplugin.c:
5605           Fix an impossible C syntax
5606         * win32/config.h:
5607           Disable i18n under Windows for the moment
5608         * win32/gst-register.vcproj:
5609           Use this configuration
5610
5611 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
5612         * docs/manual/quotes.xml:
5613           Keep the quotes file alive
5614         * docs/random/ds/0.9-suggested-changes:
5615           Add the suggestion of including a 'rowstride' as part of video
5616           format caps
5617
5618 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5619
5620         * gst/gstelement.c: (gst_element_set_state),
5621         (gst_element_change_state):
5622           d'oh.  Set PENDING state correctly before forcing bin to change.
5623         * gst/gststructure.c: (gst_structure_value_get_generic_type),
5624         (gst_structure_parse_fixed_list):
5625         * gst/schedulers/gstoptimalscheduler.c:
5626         (gst_opt_scheduler_state_transition):
5627         * testsuite/states/parent.c: (main):
5628           remove comment now that it's fixed.
5629
5630 2004-07-11  Benjamin Otte  <otte@gnome.org>
5631
5632         * gst/gstclock.h:
5633           GST_SECOND shouldn't cause a conversion to unsigned.
5634         * testsuite/clock/.cvsignore:
5635         * testsuite/clock/Makefile.am:
5636         * testsuite/clock/signedness.c: (main):
5637           make sure it never will again
5638
5639 2004-07-11  Andy Wingo  <wingo@pobox.com>
5640
5641         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
5642         whose state is higher than the bin state, raise the bin state to
5643         ensure that bin state := highest child state.
5644         
5645 2004-07-11  Andy Wingo  <wingo@pobox.com>
5646
5647         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
5648         procedure on the children of a bin. Assumes that the procedure can
5649         change the set of children.
5650         (set_kid_state_func): New static function.
5651         (gst_bin_change_state): Use gst_bin_foreach to call
5652         set_kid_state_func. Fixes a bug: if a child had a state-change
5653         handler that removes it from the bin, there would be a segfault.
5654         Hopefully it should also work in the case where the state-change
5655         handler on one child adds or removes other children. In any case,
5656         fixes should go to gst_bin_foreach.
5657
5658 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5659
5660         * gst/gstelement.c: (gst_element_set_state):
5661           compatibility fix for latest plugins release.  Change loop back
5662           to while {}
5663
5664 2004-07-09  Wim Taymans  <wim@fluendo.com>
5665
5666         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
5667         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
5668         (gst_thread_main_loop):
5669         Since remove is virtual in GstBin we must not assume the 
5670         elements GList to have anothing useful.
5671         Add some more logging to GstThread and be a bit more paranoid
5672         when resetting the scheduler.
5673         Set the state of the bin to NULL before removing the children.
5674
5675 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5676
5677         * testsuite/threads/Makefile.am:
5678         * testsuite/threads/threadg.c:
5679           added test to check if problem when removing all elements from a
5680           GstThread before setting GstThread state to NULL
5681
5682 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5683
5684         * docs/gst/tmpl/gstelement.sgml:
5685         * docs/gst/tmpl/gsttypes.sgml:
5686         * gst/gstbin.c: (gst_bin_change_state):
5687         * gst/gstelement.c: (gst_element_set_state),
5688         (gst_element_change_state):
5689           rework so that for bins we try to set the state on all children
5690           as well even if the bin is in the correct state already.
5691           change while to do so at least one iteration is done.
5692           For regular elements, we fall back to the previous behaviour for
5693           now since we first need a new plugins release.
5694         * testsuite/states/parent.c: (main):
5695           test for this case
5696           Fixes #123774
5697
5698 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5699
5700         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
5701         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
5702         (gst_queue_release_locks), (gst_queue_change_state),
5703         (gst_queue_set_property):
5704           add proper lock debugging.  Change dispose to finalize, since
5705           we're freeing mutexes and other stuff which should happen only once.
5706
5707 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5708
5709         * docs/gst/tmpl/gstelement.sgml:
5710         * docs/gst/tmpl/gstplugin.sgml:
5711         * docs/gst/tmpl/gsttypes.sgml:
5712         * docs/pwg/building-state.xml:
5713         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
5714         * gst/gstelement.c: (gst_element_change_state):
5715         * gst/gstthread.c: (gst_thread_change_state):
5716           catch wrong state changes in element base class.
5717
5718 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5719
5720         * gst/gstinfo.h:
5721           clean up layout a little.
5722
5723 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5724
5725         * configure.ac:
5726         * testsuite/Makefile.am:
5727         * testsuite/states/Makefile.am:
5728         * testsuite/states/parent.c: (main):
5729           re-enable states testsuite dir.  Add test for state changes and
5730           parent behaviour
5731
5732 2004-07-09  Wim Taymans  <wim@fluendo.com>
5733
5734         * gst/schedulers/gstoptimalscheduler.c:
5735         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
5736         (element_get_reachables_func), (element_get_reachables),
5737         (debug_element), (rechain_group), (group_migrate_connected),
5738         (gst_opt_scheduler_pad_unlink):
5739         Do not try to migrate decoupled elements to a new group since
5740         they are not added to groups.
5741
5742 2004-07-08  Benjamin Otte  <otte@gnome.org>
5743
5744         * gst/gstelement.c: (gst_element_error_func):
5745           make reentrant (= allow removing elements in error handler)
5746
5747 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5748
5749         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5750         (gst_pad_send_event), (gst_pad_call_chain_function):
5751           events sent to elements below PAUSED cannot be handled, so
5752           don't try to
5753
5754 2004-07-08  Wim Taymans  <wim@fluendo.com>
5755
5756         * gst/schedulers/gstoptimalscheduler.c:
5757         (chain_recursively_migrate_group), (create_group),
5758         (schedule_group), (gst_opt_scheduler_pad_link),
5759         (group_elements_set_visited), (element_get_reachables_func),
5760         (element_get_reachables), (group_can_reach_group), (debug_element),
5761         (rechain_group), (group_migrate_connected),
5762         (gst_opt_scheduler_pad_unlink):
5763         * testsuite/schedulers/Makefile.am:
5764         Implemented group splitting and rechaining.
5765         Fixes 143777 and 143777-2 in the testsuite.
5766
5767 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5768
5769         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5770           extra debugging
5771         * gst/gstevent.h:
5772         * gst/gstinfo.c: (gst_debug_log_default):
5773           print time nicely.  add thread pointer until someone figures out
5774           a completely portable way of getting at thread id's.
5775         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
5776         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
5777         (gst_pad_call_chain_function):
5778           extra debugging
5779         * gst/schedulers/gstoptimalscheduler.c:
5780         (get_group_schedule_function), (loop_group_schedule_function),
5781         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5782         (pad_clear_queued), (gst_opt_scheduler_iterate):
5783           rename BUFPEN and friends to DATAPEN since that's what they are.
5784
5785 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5786
5787         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5788         * gst/gstbuffer.h:
5789         * gst/gstpad.c:
5790           cleanups and debugging
5791
5792 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5793
5794         * configure.ac:
5795         * gst/gstvalue.c: (gst_value_compare_enum),
5796         (gst_value_serialize_enum), (gst_value_deserialize_enum),
5797         (gst_value_can_compare), (gst_value_compare):
5798         * testsuite/Makefile.am:
5799         * testsuite/enumcaps/Makefile.am:
5800         * testsuite/enumcaps/enumcaps.c:
5801           Fix enum serialization, deserialization, comparison in caps, add
5802           a test to ensure that this continues working in the future.
5803
5804 2004-07-06  David Schleef  <ds@schleef.org>
5805
5806         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5807         Fix memleak.
5808
5809 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5810
5811         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
5812         * gst/gstplugin.h:
5813         * gst/registries/gstxmlregistry.c:
5814         (plugin_times_older_than_recurse), (plugin_times_older_than),
5815         (gst_xml_registry_parse_padtemplate):
5816           only rebuild registry when actual plugins have a newer time than
5817           the registry.  Fixes #145520
5818
5819 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5820
5821         * docs/manual/manual.xml:
5822         * docs/manual/win32.xml:
5823           add chapter on win32 building.  fixes #142422
5824
5825 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5826
5827         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
5828
5829         * gst/autoplug/gstspider.c: (gst_spider_init),
5830         (gst_spider_dispose):
5831           fix spider memleaks.  fixes #137863
5832
5833 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5834
5835         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
5836
5837         * gst/schedulers/gstoptimalscheduler.c:
5838         (gst_opt_scheduler_pad_unlink):
5839           fix SIGBUS error, fixes #145338
5840
5841 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5842
5843         * gst/gstobject.c: (gst_object_replace):
5844         * gst/gstscheduler.c: (gst_scheduler_get_clock):
5845         * gst/gstsystemclock.c: (gst_system_clock_obtain):
5846           clean up clock lifecycle.  Fixes #109831
5847
5848 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5849
5850         * po/LINGUAS:
5851         * po/cs.po:
5852           added Czech translation (Miloslav Trmac)
5853
5854 2004-07-04  David Schleef  <ds@schleef.org>
5855
5856         * tools/Makefile.am:
5857         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
5858
5859 2004-07-04  David Schleef  <ds@schleef.org>
5860
5861         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
5862
5863 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5864
5865         * gst/gstbin.c: (gst_bin_restore_thyself):
5866           chain to parent restore so the bins get restored correctly
5867           in the editor
5868
5869 2004-07-03  David Schleef  <ds@schleef.org>
5870
5871         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5872         Actually do something in these functions, like before the big
5873         caps change.  (bug #145137)
5874
5875 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5876
5877         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
5878         (gst_element_get_compatible_pad_filtered):
5879         * gst/gstthread.c: (gst_thread_main_loop):
5880           more debugging
5881
5882 2004-07-02  David Schleef  <ds@schleef.org>
5883
5884         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
5885         * gst/gstobject.h:
5886         * gst/gstparse.h:
5887         * gst/gsttrace.h:
5888         * gst/gstxml.h:
5889
5890 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5891
5892         * gst/gstpad.c: (gst_pad_check_schedulers),
5893         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
5894         (gst_pad_link_prepare):
5895           revert until testsuite is fixed
5896
5897 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5898
5899         * testsuite/Makefile.am:
5900         * testsuite/caps/filtercaps.c: (main):
5901         * testsuite/clock/clock1.c: (main):
5902         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
5903           fix some more tests
5904
5905 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5906
5907         * testsuite/cleanup/cleanup1.c: (create_pipeline):
5908         * testsuite/cleanup/cleanup2.c: (create_pipeline):
5909         * testsuite/cleanup/cleanup4.c: (main):
5910           fix testsuite
5911
5912 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5913
5914         * libs/gst/control/control.c:
5915         * libs/gst/control/dparam.c:
5916         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
5917         * libs/gst/control/dparammanager.c:
5918         * libs/gst/control/dparammanager.h:
5919         * testsuite/dynparams/Makefile.am:
5920         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
5921         (gst_dptest_change_state), (gst_dptest_chain), (main):
5922           fix testcase for dparams
5923           add debugging category
5924
5925 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5926
5927         * testsuite/Rules:
5928           change path
5929
5930 2004-07-02  Benjamin Otte  <otte@gnome.org>
5931
5932         * tests/.cvsignore:
5933         * tests/Makefile.am:
5934         * tests/mass_elements.c: (gst_get_current_time), (main):
5935           add simple benchmark to test various speeds of fakesrc ! identity !
5936           identity ! ... ! fakesink.
5937           Usage: mass_elements [num_identities] [num_buffers]
5938           If not specified they default to 1000.
5939
5940 2004-07-02  Benjamin Otte  <otte@gnome.org>
5941
5942         * gst/gstpad.c: (gst_pad_check_schedulers),
5943         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
5944         (gst_pad_link_prepare):
5945           check that pads that get linked belong to the same manager. The old
5946           code allowed linking elements before putting them into bins, so it
5947           worked to link them and then put them in different threads, which
5948           lead to weird behaviour.
5949           Since this effectively disallows linking elements before putting
5950           them in a bin, some applications might not work after this and error
5951           out. If these applications are too critical, we might need to revert
5952           that patch. Please test this before the next release...
5953
5954 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5955
5956         * gst/gstpad.c: (gst_pad_get_caps):
5957           throw an error if the getcaps function does not return a subset of
5958           the template caps.
5959         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
5960           make disconts without position info an error in debugging
5961         * tests/spidey_bench.c: (handoff), (main):
5962           don't count first try when averaging
5963
5964 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5965
5966         * gst/gstplugin.c: (gst_plugin_load_file):
5967           figure out problem with dynamic test
5968
5969 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5970
5971         * docs/gst/Makefile.am:
5972           fix docs build
5973
5974 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5975
5976         * po/POTFILES.in:
5977         * po/af.po:
5978         * po/az.po:
5979         * po/en_GB.po:
5980         * po/fr.po:
5981         * po/nl.po:
5982         * po/sr.po:
5983         * po/sv.po:
5984         * po/tr.po:
5985         * po/uk.po:
5986         * tools/gst-register.c: (plugin_added_func), (main):
5987           i18n-ize -register, fix plural
5988
5989 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5990
5991         * gst/elements/gstidentity.c: (gst_identity_class_init),
5992         (gst_identity_init), (gst_identity_chain),
5993         (gst_identity_set_property), (gst_identity_get_property):
5994         * gst/elements/gstidentity.h:
5995           check for perfect stream
5996
5997 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5998
5999         * gst/elements/gstidentity.c: (gst_identity_chain):
6000           print offset_end
6001
6002 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6003
6004         * docs/gst/Makefile.am:
6005         * docs/gst/gstreamer-docs.sgml:
6006           doc fixes
6007
6008 2004-06-24  David Schleef  <ds@schleef.org>
6009
6010         * autogen.sh:  Remove call to env, since the buildbot isn't
6011         broken anymore.
6012
6013 2004-06-24  Wim Taymans  <wim@fluendo.com>
6014
6015         * gst/elements/Makefile.am:
6016         * gst/elements/gstelements.c:
6017         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
6018         (gst_multifdsink_class_init), (gst_multifdsink_init),
6019         (gst_multifdsink_add), (gst_multifdsink_remove),
6020         (gst_multifdsink_clear), (gst_multifdsink_chain),
6021         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
6022         * gst/elements/gstmultifdsink.h:
6023         Added an element that writes to multiple filedescriptors at once.
6024
6025 2004-06-24  Benjamin Otte  <otte@gnome.org>
6026
6027         * gst/parse/grammar.y:
6028           don't try to link elements before they have been added to bins
6029
6030 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6031
6032         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
6033         (gst_file_pad_get_length):
6034         * libs/gst/bytestream/filepad.h:
6035           add 2 new functions
6036
6037 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6038
6039         * docs/gst/gstreamer-sections.txt:
6040         remove from docs, the define that Benjamin removed from gstelement.h
6041
6042 2004-06-22  Benjamin Otte  <otte@gnome.org>
6043
6044         * gst/gstelement.h:
6045           remove define that referenced a nonexisting GstElement struct member
6046
6047 2004-06-20  Benjamin Otte  <otte@gnome.org>
6048
6049         * gst/gstdata.c: (gst_data_is_writable):
6050           whoops, return values were wrong, so writable data was marked as
6051           non-writable and vice versa. (fixes #143953, spotted by Francis
6052           Labonte)
6053           Shows how rarely we need to copy data ;)
6054
6055 2004-06-20  Benjamin Otte  <otte@gnome.org>
6056
6057         * testsuite/schedulers/.cvsignore:
6058         * testsuite/schedulers/Makefile.am:
6059         * testsuite/schedulers/143777-2.c: (main):
6060           add test for opt breakage in bug #143777
6061
6062 2004-06-20  Benjamin Otte  <otte@gnome.org>
6063
6064         * gst/gstpad.c: (gst_pad_call_chain_function):
6065           check for if we were unlinked while inside the chainfunction (fixes
6066           entrygthread having issues with #143777)
6067         * testsuite/schedulers/143777.c: (main):
6068         * testsuite/schedulers/Makefile.am:
6069           add a test for that fix
6070
6071 2004-06-20  Benjamin Otte  <otte@gnome.org>
6072
6073         * gst/gstvalue.c: (gst_value_set_int_range):
6074           test that start is smaller then end
6075         * libs/gst/bytestream/Makefile.am:
6076         * libs/gst/bytestream/filepad.c: 
6077         * libs/gst/bytestream/filepad.h:
6078           add GstFilePad - a pad that behaves like a FILE*
6079         * testsuite/bytestream/.cvsignore:
6080         * testsuite/bytestream/Makefile.am:
6081         * testsuite/bytestream/filepadsink.c: 
6082           test for the GstFilePad
6083
6084 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6085
6086         * gst/elements/gstidentity.c: (gst_identity_class_init),
6087         (gst_identity_init), (gst_identity_set_clock),
6088         (gst_identity_chain), (gst_identity_set_property),
6089         (gst_identity_get_property):
6090         * gst/elements/gstidentity.h:
6091         * gst/gstclock.c: (gst_clock_id_wait):
6092           add a "sync" property to sync to the clock
6093
6094 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6095
6096         * gst/gstelementfactory.c: (gst_element_factory_create):
6097           make the freakin "elementfactory bla has no type" message more
6098           useful. So we actually can do something when someone shows up
6099           complaining about it.
6100
6101 2004-06-15  Johan Dahlin  <johan@gnome.org>
6102
6103         * tools/gst-inspect.c (main): Fallback to plugin if no element is
6104         found. This matches the old behavior better. Thanks to Thomas for
6105         pointing out.
6106
6107 2004-06-14  David Schleef  <ds@schleef.org>
6108
6109         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
6110         -fomit-frame-pointer.  Appears to generate correct code in
6111         other cases as well.
6112
6113 2004-06-14  Johan Dahlin  <johan@gnome.org>
6114
6115         * tools/gst-inspect.c (main): Add two new command line options: -a
6116         to print all elements and -n to print the name on each line. Also
6117         fix some error reporting.
6118         (main): Simplify, remove -n and always print names if -a is specified
6119
6120 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
6121
6122         * win32/gstconfig.h:
6123         * win32/GSTreamer.vcproj:
6124         * win32/Makefile:
6125         * gst/gstconfig.h.in:
6126         * gst/gst.h:
6127         * gst/gstbin.h:
6128         * gst/gstelement.h:
6129         * gst/gstevent.h:
6130         * gst/gstobject.h:
6131         * gst/gstpad.h:
6132         * docs/gst/gstreamer-sections.txt:
6133         * docs/gst/tmpl/gstconfig.sgml:
6134           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
6135
6136 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6137         * docs/gst/gstreamer-sections.txt:
6138         * docs/gst/tmpl/gstconfig.sgml:
6139         Add the GSTREAMER_EXPORT macro to the docs
6140
6141 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6142
6143         * tools/gst-compprep.c: (handle_xmlerror), (main):
6144         Add a check for the version that introduced SetStructuredError to fix
6145         the build on FC1
6146
6147 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6148
6149         * win32/msvc71.sln:
6150         * win32/testsuite/:
6151           prepare to compile the testsuite with MSVC
6152
6153 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6154
6155         * docs/manual/win32.xml:
6156           attempt to transform the Win32 README into an XML doc
6157
6158 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6159
6160         * gst/gst.c:
6161         * gst/gstbin.*:
6162         * gst/config.h.in:
6163         * gst/gstelement.*:
6164         * gst/gstevent.h:
6165         * gst/gstobject.*:
6166         * gst/gstpad.h:
6167         * tools/gst-register.c:
6168         * win32/gstreamer.def:
6169           extern symbols are now exported for the Windows DLL
6170
6171 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6172
6173         * gst/gstinfo.h:
6174           fix a problem to enable/disable DEBUG under MSVC
6175
6176 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6177
6178         * win32/:
6179           enable more debug code in DEBUG build
6180
6181 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6182
6183         * win32/config.h:
6184         * gst/gst-i18n-app.h:
6185           enable NLS under Windows
6186
6187 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
6188         * tools/gst-compprep.c: (handle_xmlerror), (main):
6189           Make an error that baffled me a bit clearer
6190
6191 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6192
6193         * gst/gstqueue.c:
6194           don't use g_queue_get_length () because it's 2.4, use ->length
6195
6196 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
6197
6198         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
6199
6200         * tools/gst-inspect.c: (print_signal_info):
6201           don't free random data twice. (fixes #144185)
6202
6203 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6204
6205         * gst/gstqueue.c:
6206         * gst/gstqueue.h:
6207           fix removing from the wrong queue on event timeout
6208           fix disposing of the event queue by casting correctly
6209           add mutexes for handling the event queue
6210           someone was sleeping when fixing queue last time around :)
6211
6212 2004-06-10  Johan Dahlin  <johan@gnome.org>
6213
6214         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
6215         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
6216
6217 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6218
6219         * docs/random/gdp:
6220         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
6221         * libs/gst/dataprotocol/dataprotocol.c:
6222         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6223         (gst_dp_buffer_from_header):
6224         * libs/gst/dataprotocol/dataprotocol.h:
6225         * libs/gst/dataprotocol/dp-private.h:
6226           rev version to 0.1, add buffer flags and copy them
6227
6228 2004-06-09  Johan Dahlin  <johan@gnome.org>
6229
6230         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
6231         the flags from the buffer we're copying.
6232
6233 2004-06-09  Wim Taymans  <wim@fluendo.com>
6234
6235         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
6236         * gst/elements/gstidentity.c: (gst_identity_init),
6237         (gst_identity_chain):
6238         Print more buffer info in fakesink.
6239         Make identity output similar to fakesink.
6240
6241 2004-06-07  Daniel Gazard  <dany42@free.fr>
6242
6243         reviewed by Benjamin Otte  <otte@gnome.org>
6244
6245         * configure.ac:
6246           fix cross compiling not working. (fixes #143741)
6247
6248 2004-06-07  Benjamin Otte  <otte@gnome.org>
6249
6250         * gst/gstelement.c: (gst_element_set_time_delay):
6251           add failure check
6252         * gst/gstinfo.h:
6253           put brackets around macro arguments of GST_TIME_ARGS, add note to
6254           move it to correct header in 0.9
6255
6256 2004-06-07  Benjamin Otte  <otte@gnome.org>
6257
6258         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
6259         (gst_file_index_load), (_file_index_id_save_entries),
6260         (gst_file_index_commit), (gst_file_index_add_association),
6261         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
6262         (gst_file_index_plugin_init):
6263           make debugging use a default category
6264
6265 2004-06-06  David Moore  <dcm@acm.org>
6266
6267         reviewed by Benjamin Otte  <otte@gnome.org>
6268
6269         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6270         (gst_fdsrc_change_state):
6271           reset offset counter when going READY => PAUSED. (fixes #142903)
6272
6273 2004-06-06  ed@catmur.co.uk
6274
6275         reviewed by Benjamin Otte  <otte@gnome.org>
6276
6277         * gst/registries/gstxmlregistry.c:
6278         (gst_xml_registry_rebuild_recurse):
6279           don't rely on g_dir_open to figure out if a file is a directory, use
6280           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
6281           directories. (fixes #142850)
6282
6283 2004-06-06  Benjamin Otte  <otte@gnome.org>
6284
6285         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
6286           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
6287         * libs/gst/bytestream/adapter.c:
6288         * libs/gst/bytestream/adapter.h:
6289           fix copyright in header and typo in debugging category name
6290
6291 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6292
6293         * configure.ac:
6294           bump nano to cvs
6295
6296 === release 0.8.3 ===
6297
6298 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6299
6300         * configure.ac:
6301           update libtool versioning
6302           do a new release
6303         * docs/gst/tmpl/gstelement.sgml:
6304         * docs/gst/tmpl/gsttypes.sgml:
6305         * gst/gstinfo.c: (_gst_debug_init):
6306           put back GST_CAT_DATAFLOW to fix API breakage
6307
6308 2004-06-04  David Schleef  <ds@schleef.org>
6309
6310         * autogen.sh: Add a temporary 'env' to test buildbot problems.
6311
6312 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6313
6314         * configure.ac:
6315           bump nano to cvs
6316
6317 === release 0.8.2 ===
6318
6319 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6320
6321         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
6322           check GST_DEBUG environment variable which is parsed the same way
6323           as --gst-debug=
6324
6325 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6326
6327         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
6328                             gstmd5sink.c gstshaper.c gsttee.c
6329                             gsttypefindelement.c
6330         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
6331
6332           - removing trailing commas at end of enums
6333             it is correct C99 code but C90 compilers would complain
6334             (AIX, Forte, ...)
6335             ('should' fix #143290, at least partially)
6336
6337 2004-05-27  Wim Taymans  <wim@fluendo.com>
6338
6339         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
6340         (chain_group_set_enabled), (create_group), (add_to_group),
6341         (merge_groups), (setup_group_scheduler), (group_elements),
6342         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
6343         Don't try to follow the pad connections with other groups
6344         when a loop based element is added to the scheduler because
6345         the bin will inform the scheduler about the pad links a little
6346         later.
6347
6348 2004-05-27  Wim Taymans  <wim@fluendo.com>
6349
6350         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6351         (remove_from_chain), (chain_group_set_enabled),
6352         (setup_group_scheduler), (group_element_set_enabled),
6353         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
6354         (gst_opt_scheduler_show):
6355         Elements without a group can do a state change as well, just wait
6356         with the setup of the scheduling function when it is added to a
6357         chain.
6358
6359 2004-05-27  Wim Taymans  <wim@fluendo.com>
6360
6361         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6362         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
6363         (merge_groups), (setup_group_scheduler),
6364         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
6365         (gst_opt_scheduler_show):
6366         Fixes to maintain internal consistency of the scheduler data
6367         structures. 
6368          - adding an enabled group to a chain should increment the
6369            number of enabled elements in that chain.
6370          - removing an enabled group from a chain could disable the
6371            chain.
6372          - removing a disabled group from a chain could enable the
6373            chain.
6374          - add g_assert when internal inconsistency is detected.
6375          - adding an element to a group could increase the number of
6376            links this group has with other groups.
6377          - merging two groups also merges the chains.
6378          - also show group links in the _show method.
6379            
6380
6381 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6382
6383         * gst/gstcaps.c: (gst_caps_structure_simplify):
6384           don't print error messages when there is no error
6385         * gst/gstvalue.c: (gst_value_compare_int_range):
6386           compare the second value, too
6387         * testsuite/caps/Makefile.am:
6388         * testsuite/caps/random.c: (assert_on_error), (main):
6389           add tests to make sure the two things above are checked for
6390
6391 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6392
6393         * configure.ac:
6394         * libs/gst/dataprotocol/Makefile.am:
6395         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
6396         * libs/gst/dataprotocol/dataprotocol.h:
6397           wrap header in GST_ENABLE_NEW.  make code use it
6398
6399 2004-05-23  Johan Dahlin  <johan@gnome.org>
6400
6401         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
6402         so verbose and print GstElement signal names all the time.
6403
6404 2004-05-22  David Schleef  <ds@schleef.org>
6405
6406         * gst/registries/gstxmlregistry.c:
6407         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
6408         (bug #142957)
6409
6410 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6411
6412         * configure.ac:
6413           scrub cflags for glib2 so gcc doesn't complain when glib is in
6414           /usr/local
6415
6416 2004-05-21  Johan Dahlin  <johan@gnome.org>
6417
6418         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
6419         __GNUC__, patch from Brian Cameron, fixes bug #142804
6420
6421 2004-05-20  David Schleef  <ds@schleef.org>
6422
6423         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
6424         comparison code.  (bug #142819)
6425
6426 2004-05-20  Wim Taymans  <wim@fluendo.com>
6427
6428         * gst/gstbuffer.c: (gst_buffer_default_copy):
6429         * gst/gstbuffer.h:
6430         Added Comment to a flag.
6431         copy relevant flags in _buffer_copy.
6432
6433 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6434
6435         reviewed by: Wim Taymans <wim at fluendo dot com>
6436
6437         * gst/gstbuffer.h:
6438           add GST_BUFFER_IN_CAPS buffer flag
6439         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6440         (gst_structure_parse_any_list), (gst_structure_parse_list),
6441         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
6442         * gst/gstvalue.c: (gst_value_serialize_any_list),
6443         (gst_value_transform_any_list_string),
6444         (gst_value_list_prepend_value), (gst_value_list_append_value),
6445         (gst_value_list_get_size), (gst_value_list_get_value),
6446         (gst_value_transform_list_string),
6447         (gst_value_transform_fixed_list_string),
6448         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
6449         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
6450         (_gst_value_initialize):
6451         * gst/gstvalue.h:
6452           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
6453           < , > as a format.
6454         * testsuite/caps/string-conversions.c: (main):
6455           add regression tests for < >
6456
6457 2004-05-20  Johan Dahlin  <johan@gnome.org>
6458
6459         * docs/gst/Makefile.am (all-local): Re-add
6460
6461 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6462
6463         * docs/gst/Makefile.am:
6464         * docs/gst/gstreamer-docs.sgml:
6465         * docs/libs/Makefile.am:
6466         * docs/libs/gstreamer-libs-docs.sgml:
6467           fix distcheck issues
6468
6469 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6470
6471         * libs/gst/dataprotocol/Makefile.am:
6472           add to autotest
6473
6474 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6475
6476         * libs/gst/dataprotocol/Makefile.am:
6477         * libs/gst/dataprotocol/dataprotocol.c:
6478         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6479         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
6480         * libs/gst/dataprotocol/dp-private.h:
6481           use GST macros to read/write fixed length ints
6482           add some more asserts
6483
6484 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6485
6486         * docs/libs/gstreamer-libs-docs.sgml:
6487         * docs/libs/gstreamer-libs-sections.txt:
6488           remove idct and putbits
6489         * configure.ac:
6490         * docs/libs/tmpl/gstdataprotocol.sgml:
6491         * libs/gst/Makefile.am:
6492         * libs/gst/dataprotocol/Makefile.am:
6493         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
6494         (buffer_test), (caps_test), (event_test), (main):
6495         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6496         (gst_dp_dump_byte_array), (gst_dp_init),
6497         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
6498         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6499         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
6500         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
6501         (gst_dp_validate_header), (gst_dp_validate_payload),
6502         (gst_dp_validate_packet), (plugin_init):
6503         * libs/gst/dataprotocol/dataprotocol.h:
6504         * libs/gst/dataprotocol/dp-private.h:
6505           add dataprotocol
6506
6507 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6508
6509         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6510           fix int variable deserialization and add a helper so we can actually
6511           debug this.
6512
6513 2004-05-18  David Schleef  <ds@schleef.org>
6514
6515         * testsuite/debug/commandline.c: (main): Call ./commandline, not
6516           argv[0].  Calling yourself is probably not the best way to
6517           construct a test like this, btw.
6518
6519 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6520
6521         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
6522           don't claim to be more intelligent than a scheduler when the
6523           scheduler claims the pipeline is stopped
6524         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
6525         (safe_cothread_destroy),
6526         (gst_entry_scheduler_remove_all_cothreads),
6527         (gst_entry_scheduler_reset), (_remove_cothread),
6528         (gst_entry_scheduler_state_transition):
6529           hold off cothread destruction if we're not in main cothread
6530         * configure.ac:
6531         * testsuite/Makefile.am:
6532           add new test dir
6533         * testsuite/schedulers/.cvsignore:
6534         * testsuite/schedulers/Makefile.am:
6535           add tests
6536         * testsuite/schedulers/relink.c: (cb_handoff), (main):
6537           check relinking and adding/removing elements from a running pipeline
6538         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
6539           check unlinking in a running pipeline
6540         * testsuite/schedulers/unref.c: (cb_handoff), (main):
6541           check unreffing a running pipeline
6542         * testsuite/schedulers/useless_iteration.c: (main):
6543           check iterating a pipeline that contains running threads works
6544
6545 2004-05-18  David Schleef  <ds@schleef.org>
6546
6547         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
6548           is false.
6549
6550 2004-05-18  Wim Taymans  <wim@fluendo.com>
6551
6552         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6553         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
6554         Fixed an error introduced with patch for 1.63. When setting
6555         a get based element as the entry point in a group, make sure
6556         to mark the group as GET based.
6557
6558 2004-05-18  Wim Taymans  <wim@fluendo.com>
6559
6560         * gst/schedulers/gstoptimalscheduler.c: (create_group),
6561         (setup_group_scheduler), (loop_group_schedule_function),
6562         (gst_opt_scheduler_pad_link):
6563         Added some more debug info and fixed a bug where the group
6564         type was set to LOOP but it was in fact unknown.
6565
6566 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6567
6568         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
6569           make resetting scheduler work twice in a row
6570
6571 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6572
6573         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
6574         (CREATE_USERIALIZATION), (_gst_value_initialize),
6575         (gst_value_compare_float), (gst_value_serialize_float),
6576         (gst_value_deserialize_float), (gst_value_compare_enum),
6577         (gst_value_serialize_enum), (gst_value_deserialize_enum):
6578           add serialization and comparison functions for long, int64, enum and
6579           float values
6580         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
6581           use best serialization function in type hierarchy instead of only a
6582           matching one. This is required for enums to work.
6583         * gst/parse/grammar.y:
6584           use gst_caps_deserialize
6585         * testsuite/parse/Makefile.am:
6586           parse1 now works
6587         * testsuite/parse/parse1.c: (main):
6588           remove aggregator check, aggregator is broken, this test works now
6589           but fails because of bug #138012
6590         * testsuite/parse/parse2.c: (main):
6591           s/xvideosink/xvimagesink - this test looks a lot like we should
6592           disable it
6593
6594 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6595
6596         * gst/gstelement.c: (gst_element_class_init):
6597           whoops, store the signal id correctly
6598         * gst/schedulers/gstbasicscheduler.c:
6599         (gst_basic_scheduler_chain_wrapper):
6600           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
6601           chain function isn't linked
6602
6603 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
6604         * configure.ac:
6605         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
6606         support until we decide where the flags should be used
6607         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
6608         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
6609         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6610         Output refused caps in the debug info
6611
6612 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6613
6614         * gst/elements/gstidentity.c: (gst_identity_chain):
6615           add duration debug
6616         * gst/gstinfo.c: (gst_debug_log_default):
6617           add timestamp
6618
6619 2004-05-13  Benjamin Otte  <otte@gnome.org>
6620
6621         * gst/gstpipeline.c: (gst_pipeline_dispose),
6622         (gst_pipeline_change_state):
6623           call gst_scheduler_reset on dispose (fixes #141416)
6624
6625 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6626
6627         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6628           compute mapsize correctly
6629         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6630           use correct datatypes when calling a varargs function
6631         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6632           push a DISCONT event as first thing
6633         * gst/gst_private.h:
6634         * gst/gstinfo.c: (_gst_debug_init):
6635           remove GST_DATAFLOW debugging category
6636         * gst/gstbin.c: (gst_bin_iterate):
6637           use GST_SCHEDULING category
6638         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
6639         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
6640         (gst_pad_call_get_function):
6641           add GST_DATAFLOW to easily track flow of buffers or events.
6642         * gst/gstqueue.c: (gst_queue_get_type),
6643         (gst_queue_handle_pending_events), (gst_queue_chain),
6644         (gst_queue_get), (gst_queue_handle_src_event):
6645           use own static debugging category GST_DATAFLOW for dataflow,
6646           use DEBUG category for showing which path events go, use LOG
6647           category for buffers.
6648
6649 2004-05-10  David Schleef  <ds@schleef.org>
6650
6651         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
6652
6653 2004-05-10  David Schleef  <ds@schleef.org>
6654
6655         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
6656         symbols, because otherwise we don't know what they are.  Thanks,
6657         the GStreamer team.
6658         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
6659
6660 2004-05-10  David Schleef  <ds@schleef.org>
6661
6662         (from Steve Lhomme)
6663         * win32/Makefile: When using make clean the MS Visual Studio makefiles
6664         are deleted.  Fix.
6665         * win32/Makefile.inspect:
6666         * win32/Makefile.launch:
6667         * win32/Makefile.register:
6668
6669 2004-05-10  David Schleef  <ds@schleef.org>
6670
6671         * gst/gstinfo.h: Add missing inline function.
6672         * gst/gsttrace.c: add include
6673         * gst/parse/grammar.y: remove unused code
6674         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
6675         more portable.
6676         * tools/gst-register.c: wrap unistd.h
6677         
6678         More additions/fixes from Steve for the MSVC build.
6679         * win32/GStreamer.vcproj:
6680         * win32/Makefile:
6681         * win32/Makefile.inspect:
6682         * win32/Makefile.launch:
6683         * win32/Makefile.register:
6684         * win32/README.txt:
6685         * win32/gst-inspect.vcproj:
6686         * win32/gst-launch.vcproj:
6687         * win32/gst-register.vcproj:
6688         * win32/gstbytestream.def:
6689         * win32/gstbytestream.vcproj:
6690         * win32/gstconfig.h:
6691         * win32/gstelements.def:
6692         * win32/gstelements.vcproj:
6693         * win32/gstenumtypes.c:
6694         * win32/gstenumtypes.h:
6695         * win32/gstoptimalscheduler.def:
6696         * win32/gstoptimalscheduler.vcproj:
6697         * win32/gstreamer.def:
6698         * win32/gstspider.def:
6699         * win32/gstspider.vcproj:
6700         * win32/gstversion.h:
6701         * win32/msvc71.sln:
6702
6703 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6704
6705         * gst/gstelement.c: (gst_element_class_init),
6706         (gst_element_no_more_pads):
6707         * gst/gstelement.h:
6708           add gst_element_no_more_pads and the "no-more-pads" signal
6709
6710 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6711
6712         * gst/gstregistry.c: (gst_registry_add_plugin):
6713           refuse to add plugins when a plugin with same name is already
6714           registered. Fixes a bunch of "How to remove plugins?" issues.
6715           May lead to other problems though, let's test
6716
6717 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6718
6719         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
6720         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
6721         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
6722
6723 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6724
6725         * tests/Makefile.am: fix am16 issue
6726
6727 2004-05-09  Benjamin Otte  <otte@gnome.org>
6728
6729         * libs/gst/bytestream/Makefile.am:
6730           we should indeed add .c files to makefiles or they won't be built
6731           (d'oh)
6732
6733 2004-05-08  Benjamin Otte  <otte@gnome.org>
6734
6735         * gst/gstpad.c: (gst_pad_proxy_fixate):
6736           really reduce the set of caps
6737
6738 2004-05-08  Benjamin Otte  <otte@gnome.org>
6739
6740         * tests/Makefile.am:
6741         * tests/spidey_bench.c: (handoff), (main):
6742           add benchmark to test how long spider needs to create a pipeline
6743
6744 2004-05-08  Benjamin Otte  <otte@gnome.org>
6745
6746         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
6747           mark links as unengaged when unnegotiating instead of deactivating.
6748           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
6749
6750 2004-05-08  Benjamin Otte  <otte@gnome.org>
6751
6752         * docs/manual/helloworld.xml:
6753           s/audiosink/osssink (patch by Patrick Guimond)
6754
6755 2004-05-07  David Schleef  <ds@schleef.org>
6756
6757         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
6758         since it contains important stuff.
6759
6760 2004-05-07  David Schleef  <ds@schleef.org>
6761
6762         * testsuite/caps/caps.c: (test3), (main): A check for appending
6763         ANY caps.
6764
6765 2004-05-07  David Schleef  <ds@schleef.org>
6766
6767         * common/m4/as-compiler-flag.m4: Properly quote arguments,
6768         which may contain commas.  Fixes detection of -Wa,-mregnames
6769
6770 2004-05-06  David Schleef  <ds@schleef.org>
6771
6772         Changes to handle compilers that don't have variadic macro
6773         support.  In particular, glib headers define some inlines
6774         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
6775         builds.
6776         * gst/Makefile.am:
6777         * gst/cothreads.c:
6778         * gst/elements/gstfdsink.c:
6779         * gst/elements/gstfdsrc.c:
6780         * gst/elements/gstfilesink.c:
6781         * gst/elements/gstfilesrc.c:
6782         * gst/gst_private.h:
6783         * gst/gstatomic.c:
6784         * gst/gstcaps.c: (gst_caps_append):
6785         * gst/gstcpu.c: (gst_cpuid_i386):
6786         * gst/gstelement.c:
6787         * gst/gsterror.c:
6788         * gst/gstfilter.c:
6789         * gst/gstinfo.h:
6790         * gst/gstprobe.c:
6791         * gst/gstquery.c:
6792         * gst/gstregistry.c:
6793         * gst/gststructure.c:
6794         * gst/gsttaginterface.c:
6795         * gst/gsttrace.c: (gst_trace_new):
6796         * gst/gsttrashstack.c:
6797         * gst/gsturi.c:
6798         * gst/gstvalue.c:
6799         * gst/parse/grammar.y:
6800         * gst/parse/parse.l:
6801         * tools/gst-inspect.c: (main):
6802         * tools/gst-launch.c: (main):
6803         * tools/gst-xmlinspect.c: (PUT_STRING):
6804
6805 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6806
6807         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
6808         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
6809         * gst/elements/gstfilesrc.h:
6810           send NEW_MEDIA events correctly
6811         * gst/elements/gsttypefindelement.c: (start_typefinding),
6812         (gst_type_find_element_handle_event):
6813           restart typefinding when we get a NEW_MEDIA event
6814         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
6815         (gst_bin_dispose):
6816           don't die when someone removes elements in callbacks
6817         * gst/gstelement.c: (gst_element_change_state):
6818           improve debugging
6819         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
6820           we need a NEW_MEDIA event to engage a link
6821         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
6822           don't g_print debugging stuff
6823         * testsuite/caps/simplify.c: (check_caps):
6824
6825 2004-05-04  Benjamin Otte  <otte@gnome.org>
6826
6827         * gst/parse/grammar.y:
6828           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
6829
6830 2004-05-04  Benjamin Otte  <otte@gnome.org>
6831
6832         * testsuite/caps/renegotiate.c: (main):
6833           improve output in error case
6834
6835 2004-05-04  Benjamin Otte  <otte@gnome.org>
6836
6837         * gst/parse/grammar.y:
6838           fix assert to not trigger when there's no error argument
6839         * gst/parse/parse.l:
6840           fix definition of caps to allow more than two structures
6841         * testsuite/caps/Makefile.am:
6842         * testsuite/caps/renegotiate.c: (main):
6843           it's sinesrc and works in that case
6844
6845 2004-05-04  Wim Taymans  <wim@fluendo.com>
6846
6847         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6848         (group_dec_link), (gst_opt_scheduler_pad_unlink):
6849         when removing an element from a group, we always need to
6850         decrement the link count that this group had with other 
6851         groups through the element.
6852         added an extra assert to catch inconsistencies when decrementing
6853         the link count.
6854
6855 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6856
6857         * configure.ac:
6858         * docs/gst/Makefile.am:
6859         * docs/gst/gstreamer-sections.txt:
6860         * docs/gst/tmpl/gstcompat.sgml:
6861         * examples/appreader/Makefile.am:
6862         * examples/cutter/Makefile.am:
6863         * examples/events/Makefile.am:
6864         * examples/helloworld/Makefile.am:
6865         * examples/helloworld2/Makefile.am:
6866         * examples/launch/Makefile.am:
6867         * examples/manual/Makefile.am:
6868         * examples/mixer/Makefile.am:
6869         * examples/pingpong/Makefile.am:
6870         * examples/plugins/Makefile.am:
6871         * examples/queue/Makefile.am:
6872         * examples/queue2/Makefile.am:
6873         * examples/queue3/Makefile.am:
6874         * examples/queue4/Makefile.am:
6875         * examples/retag/Makefile.am:
6876         * examples/thread/Makefile.am:
6877         * examples/typefind/Makefile.am:
6878         * examples/xml/Makefile.am:
6879         * gst/Makefile.am:
6880         * gst/autoplug/Makefile.am:
6881         * gst/elements/Makefile.am:
6882         * gst/gstcompat.h:
6883         * gst/indexers/Makefile.am:
6884         * gst/parse/Makefile.am:
6885         * gst/registries/Makefile.am:
6886         * gst/schedulers/Makefile.am:
6887         * libs/gst/bytestream/Makefile.am:
6888         * libs/gst/control/Makefile.am:
6889         * libs/gst/getbits/Makefile.am:
6890         * po/af.po:
6891         * po/az.po:
6892         * po/en_GB.po:
6893         * po/fr.po:
6894         * po/nl.po:
6895         * po/sr.po:
6896         * po/sv.po:
6897         * po/tr.po:
6898         * po/uk.po:
6899         * tests/Makefile.am:
6900         * tests/bufspeed/Makefile.am:
6901         * tests/instantiate/Makefile.am:
6902         * tests/memchunk/Makefile.am:
6903         * tests/muxing/Makefile.am:
6904         * tests/negotiation/Makefile.am:
6905         * tests/probes/Makefile.am:
6906         * tests/sched/Makefile.am:
6907         * tests/seeking/Makefile.am:
6908         * tests/threadstate/Makefile.am:
6909         * testsuite/caps/Makefile.am:
6910         * testsuite/cleanup/Makefile.am:
6911         * testsuite/dlopen/Makefile.am:
6912         * testsuite/dynparams/Makefile.am:
6913         * testsuite/plugin/Makefile.am:
6914         * testsuite/states/Makefile.am:
6915         * tools/Makefile.am:
6916           reorganize compile/link flags to be consistent
6917           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
6918
6919 2004-05-04  David Schleef  <ds@schleef.org>
6920
6921         The "once more, with feeling" check-in.
6922         * testsuite/caps/Makefile.am: dist caps_strings
6923         * testsuite/caps/renegotiate.c: (main): This test triggers a
6924           segfault in the core.  Marking as failing.
6925
6926 2004-05-03  David Schleef  <ds@schleef.org>
6927
6928         * testsuite/caps/deserialize.c: (main): Fix problems noticed
6929           by the build bots.
6930         * testsuite/caps/renegotiate.c: (main): Same.
6931
6932 2004-05-03  David Schleef  <ds@schleef.org>
6933
6934         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
6935
6936 2004-05-03  David Schleef  <ds@schleef.org>
6937
6938         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
6939           variable to find our source file.
6940
6941 2004-05-03  David Schleef  <ds@schleef.org>
6942
6943         * configure.ac:  Link plugins with libgstreamer and dependent
6944           libraries
6945         * testsuite/caps/Makefile.am:
6946         * testsuite/caps/caps_strings:
6947         * testsuite/caps/deserialize.c: (main): Add a little test to slog
6948           through a file of caps strings and test each one
6949
6950 2004-05-04  Benjamin Otte  <otte@gnome.org>
6951
6952         * libs/gst/bytestream/Makefile.am:
6953         * libs/gst/bytestream/adapter.c: 
6954         * libs/gst/bytestream/adapter.h:
6955           add GstAdapter, similar to bytestream, but doesn't require ugly event
6956           handling or uglier loopbased elements
6957
6958 2004-05-03  David Schleef  <ds@schleef.org>
6959
6960         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
6961         * testsuite/caps/erathostenes.c:
6962         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
6963
6964 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6965
6966         * docs/pwg/pwg.xml:
6967           remove hardcoded stylesheet path (duh)
6968         * docs/random/release:
6969         * docs/gst/gstreamer-sections.txt:
6970         * gst/Makefile.am:
6971         * gst/gst.h:
6972         * gst/gst_private.h:
6973         * gst/gstcaps.c:
6974         * gst/gstevent.c:
6975         * gst/gstformat.c:
6976         * gst/gstinfo.c:
6977         * gst/gstinfo.h:
6978         * gst/gstinterface.c:
6979         * gst/gstmemchunk.c:
6980         * gst/gstprobe.c:
6981         * gst/gstquery.c:
6982         * gst/gstregistry.c:
6983         * gst/gstregistrypool.c:
6984         * gst/gststructure.c:
6985         * gst/gsttaginterface.c:
6986         * gst/gstthread.c:
6987         * gst/gsttrace.c:
6988         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
6989         * gst/gsturi.c:
6990         * gst/gstvalue.c:
6991           deprecate gst_info; remove gstlog.h
6992    
6993
6994 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6995
6996         * Makefile.am:
6997         * po/en_GB.po:
6998         * po/sv.po:
6999         * po/uk.po:
7000           updated translations
7001
7002 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7003
7004         * gst/gstbin.c: (gst_bin_dispose):
7005           better debugging
7006
7007 2004-05-03  Johan Dahlin  <johan@gnome.org>
7008
7009         * gst/schedulers/gstoptimalscheduler.c
7010         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
7011         really is a GstElement. Avoids critical when running gst-launch -v
7012         and a oggdemux/decoding pipeline.
7013
7014 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7015
7016         * docs/gst/tmpl/gstpipeline.sgml :
7017         * docs/manual/elements-api.xml :
7018                 doc fix by Patrick Guimond (Protector) from devel ML
7019                 reviewed by ronald
7020
7021 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7022
7023         * docs/gst/Makefile.am :
7024         * docs/libs/Makefile.am :
7025                 apply a patch from Arwed v. Merkatz so that gtk-doc
7026                 generated docs install (same for .devhelp file)
7027                 (fixes part 1 of #138836)
7028
7029 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7030
7031         * docs/faq/dependencies.xml: typo
7032         * docs/faq/getting.xml :
7033             - fix download URL for new gstreamer site
7034             - hide sf.net download page as latest version aren't there
7035             - fix apt URLs
7036             - fill "get via CVS" paragraph (link to dev page on the site)
7037         * docs/faq/general.xml:
7038             hide status tables as they no more exists
7039             change case on plugins license file to reflect reality
7040         * docs/faq/troubleshooting.xml:
7041             remove the wiki question/answer as there is no more wiki
7042
7043 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7044
7045         * gst/gsterror.h:
7046           include the headers needed for declarations used in this header
7047
7048 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7049
7050         * docs/random/uraeus/gstreamer_and_midi.txt :
7051           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
7052           (fixes #132288)
7053
7054 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
7055
7056         reviewed by Benjamin Otte  <otte@gnome.org>
7057
7058         * gst/schedulers/gthread-cothreads.h:
7059           free allocated data for main cothread, too when destroying context
7060           (fixes #141417)
7061
7062 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7063
7064         * docs/manual/goals.xml : remove duplicated paragraph at end 
7065         of doc page (fixes #141448)
7066
7067 2004-04-29  David Schleef  <ds@schleef.org>
7068
7069         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7070         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
7071
7072 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7073
7074         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7075           fix property
7076         * gst/gstcaps.c:
7077           fix doc string
7078         * po/POTFILES.in:
7079           rename typefind source file
7080
7081 2004-04-28  David Schleef  <ds@schleef.org>
7082
7083         Several new files from Steve Lhomme's MSVC patch (bug #141317):
7084         * win32/GStreamer.vcproj:
7085         * win32/Makefile:
7086         * win32/config.h:
7087         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7088         (_trewinddir), (_ttelldir), (_tseekdir):
7089         * win32/dirent.h:
7090         * win32/gst-inspect.vcproj:
7091         * win32/gst-launch.vcproj:
7092         * win32/gst-register.vcproj:
7093         * win32/gstbytestream.vcproj:
7094         * win32/gstelements.vcproj:
7095         * win32/gstoptimalscheduler.vcproj:
7096         * win32/gstspider.vcproj:
7097         * win32/gtchar.h:
7098         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
7099         * win32/mman.h:
7100         * win32/mman.inl:
7101         * win32/msvc71.sln:
7102
7103 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7104
7105         * gst/gst.c: (init_post):
7106         * gst/gstinfo.c:
7107           remove useless _gst_progname stuff
7108         * tools/gst-inspect.c: (print_field), (print_caps):
7109           improve caps output
7110
7111 2004-04-28  David Schleef  <ds@schleef.org>
7112
7113         Disable parsing of a lot of files that aren't part of the
7114         exported API.  Move corresponding template files to old/,
7115         waiting for removal when they don't contain anything
7116         interesting.
7117         * docs/gst/Makefile.am:
7118         * docs/gst/gstreamer-sections.txt:
7119         * docs/gst/tmpl/cothreads.sgml:
7120         * docs/gst/tmpl/cothreads_compat.sgml:
7121         * docs/gst/tmpl/gettext.sgml:
7122         * docs/gst/tmpl/gobject2gtk.sgml:
7123         * docs/gst/tmpl/grammar.tab.sgml:
7124         * docs/gst/tmpl/gst-i18n-app.sgml:
7125         * docs/gst/tmpl/gst-i18n-lib.sgml:
7126         * docs/gst/tmpl/gst_private.sgml:
7127         * docs/gst/tmpl/gstaggregator.sgml:
7128         * docs/gst/tmpl/gstarch.sgml:
7129         * docs/gst/tmpl/gstatomic_impl.sgml:
7130         * docs/gst/tmpl/gstbufferstore.sgml:
7131         * docs/gst/tmpl/gstdata_private.sgml:
7132         * docs/gst/tmpl/gstdisksink.sgml:
7133         * docs/gst/tmpl/gstdisksrc.sgml:
7134         * docs/gst/tmpl/gstelementfactory.sgml:
7135         * docs/gst/tmpl/gstextratypes.sgml:
7136         * docs/gst/tmpl/gstfakesink.sgml:
7137         * docs/gst/tmpl/gstfakesrc.sgml:
7138         * docs/gst/tmpl/gstfdsink.sgml:
7139         * docs/gst/tmpl/gstfdsrc.sgml:
7140         * docs/gst/tmpl/gstfilesink.sgml:
7141         * docs/gst/tmpl/gstfilesrc.sgml:
7142         * docs/gst/tmpl/gsthttpsrc.sgml:
7143         * docs/gst/tmpl/gstidentity.sgml:
7144         * docs/gst/tmpl/gstindexfactory.sgml:
7145         * docs/gst/tmpl/gstmarshal.sgml:
7146         * docs/gst/tmpl/gstmd5sink.sgml:
7147         * docs/gst/tmpl/gstmultidisksrc.sgml:
7148         * docs/gst/tmpl/gstmultifilesrc.sgml:
7149         * docs/gst/tmpl/gstpadtemplate.sgml:
7150         * docs/gst/tmpl/gstpipefilter.sgml:
7151         * docs/gst/tmpl/gstschedulerfactory.sgml:
7152         * docs/gst/tmpl/gstsearchfuncs.sgml:
7153         * docs/gst/tmpl/gstshaper.sgml:
7154         * docs/gst/tmpl/gstspider.sgml:
7155         * docs/gst/tmpl/gstspideridentity.sgml:
7156         * docs/gst/tmpl/gststatistics.sgml:
7157         * docs/gst/tmpl/gsttee.sgml:
7158         * docs/gst/tmpl/gsttimecache.sgml:
7159         * docs/gst/tmpl/gsttypefind.sgml:
7160         * docs/gst/tmpl/gsttypefindfactory.sgml:
7161         * docs/gst/tmpl/gstxmlregistry.sgml:
7162         * docs/gst/tmpl/gthread-cothreads.sgml:
7163         * docs/gst/tmpl/old/cothreads.sgml:
7164         * docs/gst/tmpl/old/cothreads_compat.sgml:
7165         * docs/gst/tmpl/old/gettext.sgml:
7166         * docs/gst/tmpl/old/gobject2gtk.sgml:
7167         * docs/gst/tmpl/old/grammar.tab.sgml:
7168         * docs/gst/tmpl/old/gst-i18n-app.sgml:
7169         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7170         * docs/gst/tmpl/old/gst_private.sgml:
7171         * docs/gst/tmpl/old/gstaggregator.sgml:
7172         * docs/gst/tmpl/old/gstarch.sgml:
7173         * docs/gst/tmpl/old/gstatomic_impl.sgml:
7174         * docs/gst/tmpl/old/gstbufferstore.sgml:
7175         * docs/gst/tmpl/old/gstdata_private.sgml:
7176         * docs/gst/tmpl/old/gstdisksink.sgml:
7177         * docs/gst/tmpl/old/gstdisksrc.sgml:
7178         * docs/gst/tmpl/old/gstelementfactory.sgml:
7179         * docs/gst/tmpl/old/gstextratypes.sgml:
7180         * docs/gst/tmpl/old/gstfakesink.sgml:
7181         * docs/gst/tmpl/old/gstfakesrc.sgml:
7182         * docs/gst/tmpl/old/gstfdsink.sgml:
7183         * docs/gst/tmpl/old/gstfdsrc.sgml:
7184         * docs/gst/tmpl/old/gstfilesink.sgml:
7185         * docs/gst/tmpl/old/gstfilesrc.sgml:
7186         * docs/gst/tmpl/old/gsthttpsrc.sgml:
7187         * docs/gst/tmpl/old/gstidentity.sgml:
7188         * docs/gst/tmpl/old/gstindexfactory.sgml:
7189         * docs/gst/tmpl/old/gstmarshal.sgml:
7190         * docs/gst/tmpl/old/gstmd5sink.sgml:
7191         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7192         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7193         * docs/gst/tmpl/old/gstpadtemplate.sgml:
7194         * docs/gst/tmpl/old/gstpipefilter.sgml:
7195         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7196         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7197         * docs/gst/tmpl/old/gstshaper.sgml:
7198         * docs/gst/tmpl/old/gstspider.sgml:
7199         * docs/gst/tmpl/old/gstspideridentity.sgml:
7200         * docs/gst/tmpl/old/gststatistics.sgml:
7201         * docs/gst/tmpl/old/gsttee.sgml:
7202         * docs/gst/tmpl/old/gsttimecache.sgml:
7203         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7204         * docs/gst/tmpl/old/gstxmlregistry.sgml:
7205         * docs/gst/tmpl/old/gthread-cothreads.sgml:
7206         * docs/gst/tmpl/old/types.sgml:
7207         * docs/gst/tmpl/types.sgml:
7208
7209         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
7210         gtkdoc-scan doesn't like files with the same name in different
7211         directories.
7212         * gst/elements/Makefile.am:
7213         * gst/elements/gstelements.c:
7214         * gst/elements/gsttypefind.c: 
7215         * gst/elements/gsttypefind.h:
7216         * gst/elements/gsttypefindelement.c:
7217         * gst/elements/gsttypefindelement.h:
7218
7219 2004-04-28  David Schleef  <ds@schleef.org>
7220
7221         A bunch of portability fixes, derived from Steve Lhomme's MSVC
7222         patch (bug #141317):
7223         * gst/gst-i18n-lib.h: Allow disabling gettext.
7224         * gst/gstatomic_impl.h: disable warning when it's dumb.
7225         * gst/gstclock.c: fix include
7226         * gst/gstcompat.h: fix variadic macro
7227         * gst/gstinfo.c: fix include
7228         * gst/gstmacros.h: add defines for inlines on MSVC
7229         * gst/gstplugin.c: fix includes
7230         * gst/gstregistry.c: fix includes
7231         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
7232         * gst/gstsystemclock.c: fix include
7233         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
7234         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
7235         * gst/registries/gstxmlregistry.c:
7236         (gst_xml_registry_parse_element_factory): fix use of non-portable
7237         functions
7238         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
7239         * libs/gst/control/dparammanager.h: same
7240
7241 2004-04-28  David Schleef  <ds@schleef.org>
7242
7243         Move a bunch of unused files to old/ with names that are
7244         not case-insensitive-unique.  These files still contain some
7245         useful information that needs to be merged into gstbin.sgml,
7246         etc., so they shouldn't be deleted yet.
7247         * docs/gst/tmpl/GstBin.sgml:
7248         * docs/gst/tmpl/GstBuffer.sgml:
7249         * docs/gst/tmpl/GstCaps.sgml:
7250         * docs/gst/tmpl/GstClock.sgml:
7251         * docs/gst/tmpl/GstCompat.sgml:
7252         * docs/gst/tmpl/GstData.sgml:
7253         * docs/gst/tmpl/GstElement.sgml:
7254         * docs/gst/tmpl/GstEvent.sgml:
7255         * docs/gst/tmpl/GstIndex.sgml:
7256         * docs/gst/tmpl/GstStructure.sgml:
7257         * docs/gst/tmpl/GstTag.sgml:
7258         * docs/gst/tmpl/old/GstBin.sgml:
7259         * docs/gst/tmpl/old/GstBuffer.sgml:
7260         * docs/gst/tmpl/old/GstCaps.sgml:
7261         * docs/gst/tmpl/old/GstClock.sgml:
7262         * docs/gst/tmpl/old/GstCompat.sgml:
7263         * docs/gst/tmpl/old/GstData.sgml:
7264         * docs/gst/tmpl/old/GstElement.sgml:
7265         * docs/gst/tmpl/old/GstEvent.sgml:
7266         * docs/gst/tmpl/old/GstIndex.sgml:
7267         * docs/gst/tmpl/old/GstStructure.sgml:
7268         * docs/gst/tmpl/old/GstTag.sgml:
7269
7270 2004-04-28  David Schleef  <ds@schleef.org>
7271
7272         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7273         (gst_caps_append), (gst_caps_append_structure),
7274         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
7275         (gst_caps_set_simple), (gst_caps_set_simple_valist),
7276         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
7277         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
7278         (gst_caps_intersect), (gst_caps_normalize),
7279         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
7280         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
7281         * gst/gstcaps.h: use GST_IS_CAPS().
7282
7283 2004-04-26  David Schleef  <ds@schleef.org>
7284
7285         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
7286         assembly.  gcc doesn't handle it correctly. (bug #141083)
7287         * gst/gsttrashstack.h: same
7288
7289 2004-04-25  Benjamin Otte  <otte@gnome.org>
7290
7291         * gst/gstelement.c: (gst_element_change_state):
7292           fix assertion to do an int comparison
7293
7294 2004-04-25  Benjamin Otte  <otte@gnome.org>
7295
7296         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7297           better debugging output on error
7298
7299 2004-04-25  Benjamin Otte  <otte@gnome.org>
7300
7301         * gst/gstcaps.c: (gst_caps_subtract):
7302           fix memleak
7303
7304 2004-04-23  Benjamin Otte  <otte@gnome.org>
7305
7306         * gst/gstvalue.c: (gst_value_compare_buffer),
7307         (_gst_value_initialize):
7308           add comparison function for buffers
7309
7310 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7311
7312         * docs/pwg/pwg.xml:
7313           Just found out that this so-called "ima-wav" format is really
7314           just "dvi adpcm" (according to the MS WAV documentation). So
7315           renaming it. We didn't use it yet anyway.
7316
7317 2004-04-23  Benjamin Otte  <otte@gnome.org>
7318
7319         * gst/gstcaps.c: (gst_caps_is_always_compatible):
7320           call gst_caps_is_subset
7321
7322 2004-04-23  Benjamin Otte  <otte@gnome.org>
7323
7324         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
7325         (gst_caps_is_subset):
7326           add documentation
7327
7328 2004-04-23  Benjamin Otte  <otte@gnome.org>
7329           
7330         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
7331         (gst_caps_structure_subtract), (gst_caps_subtract),
7332         (gst_caps_structure_figure_out_union),
7333         (gst_caps_structure_simplify), (gst_caps_do_simplify):
7334           fix simplifying and subtracting not working correctly with optional
7335           properties
7336           solve assorted problems that make it now simplify ebven more
7337         * docs/gst/tmpl/gstcaps.sgml:
7338         * gst/gstcaps.h:
7339           make gst_caps_do_simplify return a bool to indicate if it simplified
7340         * testsuite/caps/simplify.c: (main):
7341           add more checks. The tests is quite a bit useless right now because
7342           the core is heavily simplifying itself.
7343         * testsuite/caps/caps.h:
7344           fix caps to contain all optional properties
7345
7346 2004-04-22  Benjamin Otte  <otte@gnome.org>
7347
7348         * docs/gst/tmpl/gstcaps.sgml:
7349         * docs/gst/tmpl/gstfilesrc.sgml:
7350         * docs/gst/tmpl/gststructure.sgml:
7351         * docs/gst/tmpl/gstvalue.sgml:
7352           update for recent API changes
7353         * gst/gstcaps.c: (gst_caps_do_simplify):
7354           fix to stop trying with a freed structure
7355         * gst/gstpad.c: (gst_pad_link_fixate):
7356           simplify caps
7357         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
7358           remove C++ comment
7359         * gst/gstpad.h:
7360           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
7361         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7362         (gst_structure_to_string):
7363           keep the correct type when using lists of ranges
7364         * gst/gstvalue.c: (gst_value_list_prepend_value),
7365         (gst_value_list_append_value):
7366           copy the value before adding to the list (d'oh)
7367         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
7368         (gst_value_subtract_int_range_int_range):
7369           handle overflows correctly
7370         * gst/gstvalue.c: (gst_value_subtract_from_list):
7371           fix memleak
7372         * testsuite/caps/caps.h:
7373           add a caps that caused segfaults
7374
7375 2004-04-22  Benjamin Otte  <otte@gnome.org>
7376
7377         * testsuite/refcounting/pad.c: (main):
7378           fix test
7379
7380 2004-04-22  Benjamin Otte  <otte@gnome.org>
7381
7382         * gst/gstcaps.c: (gst_caps_subtract):
7383           allow subtracting ANY and EMPTY from ANY caps
7384
7385 2004-04-22  Benjamin Otte  <otte@gnome.org>
7386
7387         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
7388         (gst_caps_union):
7389           only simplify in functions that create new caps. Simplifying in
7390           gst_caps_append breaks tests.
7391
7392 2004-04-22  Benjamin Otte  <otte@gnome.org>
7393
7394         * gst/gstcaps.c: (gst_caps_structure_simplify):
7395           unset GValue after use
7396         * gst/gstcaps.c: (gst_caps_append), 
7397         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
7398           use gst_caps_simplify (reduces registry size by 30%)
7399         * gst/gstpad.c: (gst_pad_template_new):
7400           don't allow NULL caps
7401
7402 2004-04-22  Benjamin Otte  <otte@gnome.org>
7403
7404         * docs/gst/gstreamer-sections.txt:
7405           add gst_caps_do_simplify
7406         * gst/gstcaps.c:
7407           add documentation for gst_caps_do_simplify
7408         * gst/gstvalue.h:
7409           fix typo in gst_value_register_subtract_func declaration for gst-doc
7410
7411 2004-04-22  Benjamin Otte  <otte@gnome.org>
7412
7413         * gst/gstcaps.c: (gst_caps_from_string_inplace):
7414           fix bug when converting from empty string.
7415         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
7416         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
7417           use gst_caps_new_empty to allocate a new caps. Only that function
7418           allocates memory for caps now.
7419         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
7420         (gst_caps_remove_structure):
7421           add ability to remove one structure (but not to header yet)
7422         * gst/gstcaps.c: (gst_caps_compare_structures),
7423         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
7424         (gst_caps_structure_simplify), (gst_caps_do_simplify),
7425         * gst/gstcaps.h:
7426           add gst_caps_do_simplify that tries to simplify a caps in place.
7427           Deprecate old gst_caps_simplify function.
7428         * testsuite/caps/caps.h:
7429           add caps.h containing a common set of caps to test against.
7430         * testsuite/caps/sets.c: (check_caps), (main):
7431           use it.
7432         * testsuite/caps/.cvsignore:
7433         * testsuite/caps/Makefile.am:
7434         * testsuite/caps/simplify.c: (check_caps), (main):
7435           add test to check correctness and efficency of caps simplification.
7436
7437 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
7438
7439         reviewed by Benjamin Otte  <otte@gnome.org>
7440
7441         * gst/gstparse.c: (_gst_parse_escape):
7442           Free the GString used in _gst_parse_escape()
7443
7444 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7445
7446         * gst/gstpad.c: (gst_pad_link_negotiate):
7447           refuse to link if the link is not possible
7448         * configure.ac:
7449         * testsuite/Makefile.am:
7450         * testsuite/negotiation/.cvsignore:
7451         * testsuite/negotiation/Makefile.am:
7452         * testsuite/negotiation/pad_link.c: (main):
7453           add test that checks the above behaviour
7454
7455 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7456
7457         * docs/gst/gstreamer-sections.txt:
7458           add newly added API
7459
7460 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7461
7462         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
7463         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
7464         (gst_filesrc_open_file), (gst_filesrc_close_file),
7465         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
7466         * gst/elements/gstfilesrc.h:
7467           add support for non-regular files (#140734)
7468
7469 2004-04-21  Benjamin Otte  <otte@gnome.org>
7470
7471         * gst/gstpad.c: (gst_pad_link_fixate):
7472           add sophisticated error checking code to see if fixation functions
7473           did their fixation right
7474
7475 2004-04-21  Benjamin Otte  <otte@gnome.org>
7476
7477         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
7478           check for ANY caps before appending/unioning
7479         * gst/gstcaps.c: (gst_caps_is_subset),
7480         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
7481         (gst_caps_structure_subtract), (gst_caps_subtract):
7482         * gst/gstcaps.h:
7483           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
7484           the API. deprecate gst_caps_is_equal_fixed
7485         * gst/gstpad.c: (gst_pad_try_set_caps):
7486         * gst/gstqueue.c: (gst_queue_link):
7487           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
7488         * gst/gststructure.c: (gst_structure_get_name_id):
7489         * gst/gststructure.h:
7490           add function gst_structure_get_name_id
7491         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
7492         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7493         (gst_value_subtract_int_range_int_range),
7494         (gst_value_subtract_double_double_range),
7495         (gst_value_subtract_double_range_double),
7496         (gst_value_subtract_double_range_double_range),
7497         (gst_value_subtract_from_list), (gst_value_subtract_list),
7498         (gst_value_can_intersect), (gst_value_subtract),
7499         (gst_value_can_subtract), (gst_value_register_subtract_func),
7500         (_gst_value_initialize):
7501         * gst/gstvalue.h:
7502           add support for subtracting values from each other. Note that
7503           subtracting means subtracting as in set theory. Required for caps
7504           stuff above.
7505         * testsuite/caps/.cvsignore:
7506         * testsuite/caps/Makefile.am:
7507         * testsuite/caps/erathostenes.c: (erathostenes), (main):
7508         * testsuite/caps/sets.c: (check_caps), (main):
7509         * testsuite/caps/subtract.c: (check_caps), (main):
7510           add tests for subtraction and equality code.
7511
7512 2004-04-20  David Schleef  <ds@schleef.org>
7513
7514         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
7515         * gst/indexers/Makefile.am:
7516         * gst/schedulers/Makefile.am:
7517         * libs/gst/bytestream/Makefile.am:
7518         * libs/gst/control/Makefile.am:
7519         * libs/gst/getbits/Makefile.am:
7520
7521 2004-04-20  David Schleef  <ds@schleef.org>
7522
7523         * common/as-libtool.mak: Fine-tune DLL building.
7524         * configure.ac: Link plugins against libgstreamer.  Define plugindir
7525         (like gst-plugins)
7526         * examples/plugins/Makefile.am: remove plugindir
7527         * gst/autoplug/Makefile.am: DLL building fixes
7528         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
7529         Windows.
7530         * gst/elements/gstelements.c: Conditionally disable pipefilter.
7531         * gst/indexers/Makefile.am: DLL building fixes
7532         * gst/schedulers/Makefile.am: DLL building fixes.
7533         * libs/gst/bytestream/Makefile.am: DLL building fixes.
7534         * libs/gst/control/Makefile.am: same
7535         * libs/gst/getbits/Makefile.am: same
7536         * testsuite/Makefile.am: New dlopen directory
7537         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
7538         when dlopened.
7539         * testsuite/dlopen/dlopen_gst.c: (main): same
7540         * testsuite/dlopen/loadgst.c: (do_test): same
7541
7542 2004-04-20  David Schleef  <ds@schleef.org>
7543
7544         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
7545         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
7546
7547 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7548
7549         * gst/gstelement.c: (gst_element_wait),
7550         (gst_element_set_time_delay), (gst_element_change_state):
7551           Use GST_TIME_*
7552
7553 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7554
7555         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
7556         (gst_spider_identity_plug):
7557           improve debugging messages
7558         * gst/gstbin.c: (gst_bin_remove_func):
7559           make sure the state_change function is only called with simple state
7560           transitions
7561
7562 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7563
7564         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
7565         (gst_fakesink_set_property), (gst_fakesink_chain):
7566         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
7567         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
7568         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
7569         * gst/elements/gstidentity.c: (gst_identity_chain),
7570         (gst_identity_set_property):
7571         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
7572         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
7573           add warnings to _set_property for unknown arguments
7574           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
7575
7576 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7577
7578         * Makefile.am:
7579         * docs/manuals.mak:
7580           add .po file download snippet
7581           fix a bug in the doc makefile
7582
7583 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7584
7585         * Makefile.am:
7586         * po/LINGUAS:
7587         * po/en_GB.po:
7588           Added en_GB translation (Gareth Owen)
7589
7590 2004-04-20  Johan Dahlin  <johan@gnome.org>
7591
7592         * gst/gstpad.c (_invent_event): Clean up
7593
7594 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7595
7596         * testsuite/caps/filtercaps.c: (main):
7597           fix test to test things correctly (caps are complicated)
7598
7599 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7600
7601         * testsuite/caps/Makefile.am:
7602         * testsuite/caps/filtercaps.c: (main):
7603           add test (that doesn't work right now, but should)
7604
7605 2004-04-19  David Schleef  <ds@schleef.org>
7606
7607         * configure.ac: Add test for allowing unaligned access.  Add define
7608         to put in gstconfig.h.
7609         * docs/gst/gstreamer-sections.txt: New symbols
7610         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
7611         * docs/gst/tmpl/gstfilesrc.sgml:
7612         * docs/gst/tmpl/gstparse.sgml:
7613         * docs/gst/tmpl/gsttypes.sgml:
7614         * docs/gst/tmpl/gstutils.sgml:
7615         * docs/gst/tmpl/gstvalue.sgml:
7616         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
7617         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
7618         on most !i386/!powerpc architectures.  From Daniel Gazard
7619         <daniel.gazard@free.fr>.  (bug #140156)
7620         * po/af.po: Check in changes made by gettext.
7621         * po/az.po:
7622         * po/fr.po:
7623         * po/nl.po:
7624         * po/sr.po:
7625         * po/sv.po:
7626
7627 2004-04-20  Benjamin Otte  <otte@gnome.org>
7628
7629         * gst/schedulers/entryscheduler.c: 
7630         (gst_entry_scheduler_yield):
7631           refuse to yield when decoupled elements insist on doing that.
7632           At least it's better than crashing
7633
7634 2004-04-19  David Schleef  <ds@schleef.org>
7635
7636         * docs/libs/Makefile.am: Change sinclude to include
7637         * docs/gst/Makefile.am: same
7638         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
7639
7640 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7641
7642         * po/LINGUAS:
7643         * po/uk.po:
7644           Added Ukrainian translation (Maxim V. Dziumanenko)
7645
7646 2004-04-19  Johan Dahlin  <johan@gnome.org>
7647
7648         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
7649         checking here, do it before calling the function.
7650         Clean up, use for loops instead of while loops while iterating
7651         over lists.
7652
7653         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
7654         in debug message.
7655         (gst_spider_create_and_plug): Improve debug message.
7656         General: Replace while loops which iterates over GLists with for
7657         loops. Which are much cleaner, improves readability, especially
7658         for gst_spider_identity_plug
7659
7660         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
7661         fixes bug 140477
7662
7663 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7664
7665         * po/LINGUAS:
7666         * po/tr.po:
7667           Added Turkish translation (Baris Cicek)
7668
7669 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7670
7671         * docs/faq/troubleshooting.xml:
7672           Mention gst-register in the FAQ (fixes 139045).
7673
7674 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7675
7676         * docs/gst/gstreamer-sections.txt:
7677
7678 2004-04-17  Benjamin Otte  <otte@gnome.org>
7679
7680         * gst/gstelement.c: (gst_element_dispose):
7681           simplify
7682         * gst/gstpad.c: (gst_pad_call_chain_function):
7683           don't create loads of events due to bad macro usage
7684
7685 2004-04-16  David Schleef  <ds@schleef.org>
7686
7687         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
7688         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
7689         * gst/gstvalue.c: (gst_value_serialize_buffer),
7690         (gst_value_deserialize_buffer), (gst_type_is_fixed),
7691         (_gst_value_initialize): Create a new function gst_type_is_fixed()
7692         to indicate types that are fixed wrt caps or not.  Switching to
7693         this function fixes (bug #140298).
7694         * gst/gstvalue.h:
7695
7696 2004-04-16  David Schleef  <ds@schleef.org>
7697
7698         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
7699         for GST_UNALIGNED_ACESS, since we essentially know which archs
7700         are ok.
7701
7702 2004-04-17  Benjamin Otte  <otte@gnome.org>
7703
7704         * docs/gst/Makefile.am:
7705           ignore gst/parse directory when building docs (fixes #140205)
7706
7707 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7708
7709         * testsuite/refcounting/mem.c: (vmsize):
7710           do error checking
7711
7712 2004-04-16  Johan Dahlin  <johan@gnome.org>
7713
7714         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
7715         and gst_pad_call_get_function.
7716
7717 2004-04-15  David Schleef  <ds@schleef.org>
7718
7719         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
7720         checks if we can access unaligned memory.
7721         * configure.ac: Use it.
7722
7723 2004-04-16  Benjamin Otte  <otte@gnome.org>
7724
7725         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
7726         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
7727         * gst/elements/gstfilesrc.h:
7728           s/seek_happened/need_discont/ and require discont before sending any
7729           data
7730
7731 2004-04-15  David Schleef  <ds@schleef.org>
7732
7733         * gst/gstvalue.c: (gst_value_serialize_buffer),
7734         (gst_value_deserialize_buffer), (_gst_value_initialize):
7735         Register these types as fundamental types. (bug #140015)
7736
7737 2004-04-16  Benjamin Otte  <otte@gnome.org>
7738
7739         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
7740         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
7741         (gst_pad_pull):
7742           implement enforcing discont events before buffers are passed. This
7743           allows state changes of only some elements and later correctly going
7744           on where they left off (or in short: you can now set audio sinks to
7745           NULL to release the device when the pipeline is paused)
7746         * gst/gstpad.c: (gst_pad_call_chain_function),
7747         (gst_pad_call_get_function):
7748         * gst/gstpad.h:
7749           add gst_pad_call_chain_function and gst_pad_call_get_function for
7750           scheduler interaction. They are required because of the changes
7751           above.
7752         * gst/schedulers/entryscheduler.c: (get_buffer),
7753         (gst_entry_scheduler_chain_wrapper),
7754         (gst_entry_scheduler_get_wrapper),
7755         (gst_entry_scheduler_state_transition),
7756         (gst_entry_scheduler_pad_link):
7757         * gst/schedulers/gstbasicscheduler.c:
7758         (gst_basic_scheduler_chain_wrapper),
7759         (gst_basic_scheduler_src_wrapper),
7760         (gst_basic_scheduler_chainhandler_proxy),
7761         (gst_basic_scheduler_gethandler_proxy),
7762         (gst_basic_scheduler_cothreaded_chain),
7763         (gst_basic_scheduler_chain_elements):
7764         * gst/schedulers/gstoptimalscheduler.c:
7765         (get_group_schedule_function), (pad_clear_queued),
7766         (gst_opt_scheduler_pad_link):
7767           use the new functions instead of calling get/chain-functions
7768           directly.
7769
7770 2004-04-15  David Schleef  <ds@schleef.org>
7771
7772         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
7773         * docs/gst/tmpl/gstinfo.sgml: same
7774         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
7775         gtk-doc put here.
7776         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
7777         * examples/queue/queue.c: (main):  We iterate pipelines, not
7778         bins.  (bug #139996)
7779
7780 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7781
7782         * docs/pwg/advanced-types.xml:
7783           Add MS RLE support. Also document Qt RLE although I have no sample
7784           files for that yet. And document an extra property for ADPCM.
7785
7786 2004-04-15  David Schleef  <ds@schleef.org>
7787
7788         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
7789         (_gst_plugin_fault_handler_setup):  Disable more stuff on
7790         Windows.
7791
7792 2004-04-15  David Schleef  <ds@schleef.org>
7793
7794         * gst/gstinfo.c: (_gst_debug_init): Change some internal
7795         symbol names to not conflict with new gstinfo.h symbols.
7796         * gst/gstinfo.h: Add inline functions for all those crazy
7797         compilers that don't know how to handle variadic macros (MSVC).
7798
7799 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7800
7801         * configure.ac: bump nano to 1
7802
7803 === release 0.8.1 ===
7804
7805 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7806
7807         * NEWS:
7808         * RELEASE:
7809         * configure.ac:
7810           releasing 0.8.1, "Snow Brigade"
7811
7812 2004-04-14  David Schleef  <ds@schleef.org>
7813
7814         * testsuite/Makefile.am: define tests_ignore
7815         * testsuite/Rules: Added new tests_ignore, which get compiled,
7816         but not run (generally because they're inconsistent or have
7817         heisenbugs).  Now we can ensure all the .c files compile in
7818         testsuite/.
7819         * testsuite/bins/Makefile.am: define tests_ignore
7820         * testsuite/bytestream/Makefile.am:
7821         * testsuite/caps/Makefile.am:
7822         * testsuite/clock/Makefile.am:
7823         * testsuite/debug/Makefile.am:
7824         * testsuite/debug/global.c: (gst_debug_log_one),
7825         (gst_debug_log_two): Fix compilation problem.
7826         * testsuite/dynparams/Makefile.am:
7827         * testsuite/elements/Makefile.am:
7828         * testsuite/ghostpads/Makefile.am:
7829         * testsuite/indexers/Makefile.am:
7830         * testsuite/parse/Makefile.am:
7831         * testsuite/plugin/Makefile.am:
7832         * testsuite/refcounting/Makefile.am:
7833         * testsuite/refcounting/element_pad.c: (main): Don't return leak
7834         results, because it's not calculated correctly.
7835         * testsuite/refcounting/pad.c: (main): same
7836         * testsuite/states/Makefile.am:
7837         * testsuite/tags/Makefile.am:
7838         * testsuite/threads/Makefile.am:
7839
7840 2004-04-14  David Schleef  <ds@schleef.org>
7841
7842         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
7843         generating bad code around the cpu detection asm code.
7844
7845 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7846
7847         * tools/gst-inspect.c: (print_element_info):
7848           print numeric version of rank as well, since we added some - 1
7849           rank values to elements
7850
7851 2004-04-13  David Schleef  <ds@schleef.org>
7852
7853         * configure.ac:  Disable various code when compiling for MinGW.
7854         * gst/elements/Makefile.am:
7855         * gst/elements/gstelements.c:
7856         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
7857         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
7858         * gst/registries/gstxmlregistry.c: (make_dir):
7859
7860 2004-04-13  David Schleef  <ds@schleef.org>
7861
7862         * gst/Makefile.am:
7863         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
7864         assembly.
7865         * gst/gstcpuid_i386.s: remove
7866
7867 2004-04-13  David Schleef  <ds@schleef.org>
7868
7869         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
7870         seems to think it needs to be done.
7871         * docs/gst/tmpl/gstfakesink.sgml:
7872         * docs/gst/tmpl/gstfakesrc.sgml:
7873         * docs/gst/tmpl/gstfdsink.sgml:
7874         * docs/gst/tmpl/gstfdsrc.sgml:
7875         * docs/gst/tmpl/gstfilesink.sgml:
7876         * docs/gst/tmpl/gstfilesrc.sgml:
7877         * docs/gst/tmpl/gstidentity.sgml:
7878         * docs/gst/tmpl/gstmd5sink.sgml:
7879         * docs/gst/tmpl/gstmultifilesrc.sgml:
7880         * docs/gst/tmpl/gstpipefilter.sgml:
7881         * docs/gst/tmpl/gstshaper.sgml:
7882         * docs/gst/tmpl/gstspider.sgml:
7883         * docs/gst/tmpl/gstspideridentity.sgml:
7884         * docs/gst/tmpl/gststatistics.sgml:
7885         * docs/gst/tmpl/gsttee.sgml:
7886         * docs/gst/tmpl/gsttypefind.sgml:
7887         * docs/gst/tmpl/gstutils.sgml:
7888
7889 2004-04-13  David Schleef  <ds@schleef.org>
7890
7891         * configure.ac: Changes to remove POSIXisms (mmap in this case)
7892         and to build DLLs on Windows.
7893         * gst/Makefile.am:
7894         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
7895         (gst_filesrc_open_file):
7896         * gst/schedulers/Makefile.am:
7897
7898 2004-04-13  David Schleef  <ds@schleef.org>
7899
7900         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
7901         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
7902         fixating lists.
7903
7904 2004-04-12  David Schleef  <ds@schleef.org>
7905
7906         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
7907         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
7908         to using it.
7909         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
7910         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
7911         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
7912         * gst/gststructure.c: (gst_structure_set_valist),
7913         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
7914         support for buffers.
7915         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
7916         intended to be const.
7917         * gst/gsttag.h: same
7918         * gst/gstvalue.c: (gst_value_serialize_buffer),
7919         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
7920         to (de)serialize buffers.
7921         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
7922         * testsuite/caps/string-conversions.c: (main):
7923         * testsuite/caps/value_serialize.c: add new test
7924
7925 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7926
7927         * docs/pwg/advanced-types.xml:
7928           Document MS video 1 (video/x-msvideocodec) mimetype/format.
7929
7930 2004-04-11  Benjamin Otte  <otte@gnome.org>
7931
7932         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7933           rename categories to basic_*
7934         * gst/schedulers/gstbasicscheduler.c: 
7935         (gst_basic_scheduler_chain_wrapper),
7936         (gst_basic_scheduler_chainhandler_proxy),
7937         (gst_basic_scheduler_gethandler_proxy),
7938         (gst_basic_scheduler_eventhandler_proxy):
7939           debugging category fixes - put common stuff in log category
7940         * gst/schedulers/gstbasicscheduler.c: 
7941         (gst_basic_scheduler_chain_elements):
7942           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
7943           active and linking two active chains
7944
7945 2004-04-10  Benjamin Otte  <otte@gnome.org>
7946
7947         * docs/pwg/intro-preface.xml:
7948           fix dead links and remove reference to Wiki
7949
7950 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7951
7952         * gst/schedulers/gstbasicscheduler.c:
7953           make sure we can switch back to the main function if we're still in
7954           the main function (supposed to fix #139617)
7955         * gst/schedulers/gthread-cothreads.h:
7956           don't throw an error when switching to the same cothread
7957
7958 2004-04-09  Benjamin Otte  <otte@gnome.org>
7959
7960         * gst/gstbin.c: (gst_bin_get_type):
7961         * gst/gstclock.c: (gst_clock_get_type):
7962         * gst/gstindex.c: (gst_index_get_type):
7963         * gst/gstobject.c: (gst_object_get_type),
7964         (gst_signal_object_get_type):
7965         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
7966         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
7967         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
7968         * gst/gstqueue.c: (gst_queue_get_type):
7969         * gst/gstregistry.c: (gst_registry_get_type):
7970         * gst/gstsystemclock.c: (gst_system_clock_get_type):
7971         * gst/gstthread.c: (gst_thread_get_type):
7972           don't use memchunks for these objects, use malloc instead
7973
7974 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7975
7976         * docs/gst/.cvsignore:
7977         * docs/gst/Makefile.am:
7978         * docs/gst/gstreamer-sections.txt:
7979         * docs/gst/tmpl/gstaggregator.sgml:
7980         * docs/gst/tmpl/gstbuffer.sgml:
7981         * docs/gst/tmpl/gstclock.sgml:
7982         * docs/gst/tmpl/gstelement.sgml:
7983         * docs/gst/tmpl/gstfakesink.sgml:
7984         * docs/gst/tmpl/gstfakesrc.sgml:
7985         * docs/gst/tmpl/gstfdsink.sgml:
7986         * docs/gst/tmpl/gstfdsrc.sgml:
7987         * docs/gst/tmpl/gstfilesink.sgml:
7988         * docs/gst/tmpl/gstfilesrc.sgml:
7989         * docs/gst/tmpl/gstidentity.sgml:
7990         * docs/gst/tmpl/gstindex.sgml:
7991         * docs/gst/tmpl/gstinfo.sgml:
7992         * docs/gst/tmpl/gstmd5sink.sgml:
7993         * docs/gst/tmpl/gstmultifilesrc.sgml:
7994         * docs/gst/tmpl/gstpad.sgml:
7995         * docs/gst/tmpl/gstpipefilter.sgml:
7996         * docs/gst/tmpl/gstpipeline.sgml:
7997         * docs/gst/tmpl/gstpluginfeature.sgml:
7998         * docs/gst/tmpl/gstqueue.sgml:
7999         * docs/gst/tmpl/gstregistry.sgml:
8000         * docs/gst/tmpl/gstscheduler.sgml:
8001         * docs/gst/tmpl/gstshaper.sgml:
8002         * docs/gst/tmpl/gstspider.sgml:
8003         * docs/gst/tmpl/gstspideridentity.sgml:
8004         * docs/gst/tmpl/gststatistics.sgml:
8005         * docs/gst/tmpl/gstsystemclock.sgml:
8006         * docs/gst/tmpl/gsttee.sgml:
8007         * docs/gst/tmpl/gstthread.sgml:
8008         * docs/gst/tmpl/gsttypefind.sgml:
8009         * docs/gst/tmpl/gstutils.sgml:
8010           further doc build fixes
8011
8012 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8013
8014         * docs/gst/Makefile.am:
8015           make docs exit on scanning problems
8016           fix nonsrcdir build issues
8017         * docs/gst/gstreamer-sections.txt:
8018           adding stuff from -unused
8019         * gst/gstqueue.h:
8020           create GstQueueSize
8021         * gst/schedulers/cothreads_compat.h:
8022           fix cothread warnings
8023
8024 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8025
8026         * docs/gst/gstreamer-sections.txt:
8027           remove defines deprecated by Benjamin
8028
8029 2004-04-07  Benjamin Otte  <otte@gnome.org>
8030
8031         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8032           when the buffer is complete, don't check if other buffers are needed
8033         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
8034           check that the offset is >0 so we don't try to read before the
8035           beginning of the file
8036         * gst/gstpad.c: (gst_pad_set_pad_template):
8037           sink the template, so we don't end up with 130k pad templates
8038
8039 2004-04-06  Benjamin Otte  <otte@gnome.org>
8040
8041         * gst/autoplug/gstspider.c: (gst_spider_link_add):
8042           don't ref the element, adding already reffed it. And we didn't unref
8043           it later anyway... (huge memleak when you used many spider elements)
8044         * gst/gstelement.c: (gst_element_base_class_finalize):
8045         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
8046         (gst_element_register):
8047         * gst/gsturi.c: (gst_element_make_from_uri):
8048           use gst_object_(un)ref instead of g_object(un)ref
8049
8050 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8051
8052         * gst/gstbuffer.h:
8053           remove macro that wouldn't work anymore because struct member has
8054           been removed.
8055         * gst/schedulers/entryscheduler.c: (schedule_forward):
8056           fix segfault for unconnected pads
8057         
8058 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8059
8060         reviewed by David Schleef <ds@schleef.org>
8061
8062         * gst/gstinfo.h:
8063           *_FORMAT modifiers should require putting a % in front of them for
8064           consistency reasons.
8065
8066 2004-04-05  Colin Walters  <walters@redhat.com>
8067
8068         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
8069         space.
8070
8071 2004-04-05  Benjamin Otte  <otte@gnome.org>
8072
8073         * configure.ac:
8074         * gst/Makefile.am:
8075         * gst/gst_private.h:
8076         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
8077           add support for detecting if GStreamer runs inside valgrind.
8078           requires valgrind (d'oh) and --enable-debug for correct cdetection.
8079           print a big message in valgrind that GStreamer has detected it's
8080           running inside and might now use different code.
8081         * gst/gstmemchunk.c: (populate), (free_area),
8082         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
8083         (gst_mem_chunk_free):
8084           flag memchunks for valgrind, so it can detect leaking of chunks.
8085           This allows detecting leaks of GstBuffer and GstEvent correctly
8086           inside valgrind.
8087
8088 2004-04-05  David Schleef  <ds@schleef.org>
8089
8090         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
8091           jensgr@gmx.net (Jens Granseuer)
8092
8093 2004-04-05  David Schleef  <ds@schleef.org>
8094
8095         * gst/gstbuffer.c: (_gst_buffer_sub_free),
8096         (gst_buffer_default_free), (gst_buffer_default_copy),
8097         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
8098         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
8099         structures in one place.
8100
8101 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8102
8103         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
8104           (GST_TIME_FORMAT, GST_TIME_ARGS)
8105
8106 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8107
8108         * testsuite/elements/Makefile.am:
8109           disable test until it stops breaking make distcheck
8110
8111 2004-04-05  Johan Dahlin  <johan@gnome.org>
8112
8113         * po/sv.po: Updated translation
8114
8115 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8116
8117         * gst/gstplugin.c: (gst_plugin_load_file):
8118           fix segfault for when original plugin was loaded statically
8119
8120 2004-04-05  Benjamin Otte  <otte@gnome.org>
8121
8122         * testsuite/debug/category.c: (main):
8123         * testsuite/debug/commandline.c: (main):
8124         * testsuite/debug/output.c: (main):
8125           fix tests to work again with debugging enabled
8126
8127 2004-04-05  Benjamin Otte  <otte@gnome.org>
8128
8129         * gst/schedulers/gstbasicscheduler.c:
8130         (gst_basic_scheduler_pad_link):
8131           fix to work with recent scheduling changes
8132
8133 2004-04-05  Benjamin Otte  <otte@gnome.org>
8134
8135         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
8136         prepareChangeLog doesn't work when cvs indents):
8137           don't throw an error when no element can be scheduled, there's too
8138           many weird reasons why it doesn't work. Return STOPPED instead.
8139           decoupled elemts' schedulability doesn't depend on bufpens.
8140
8141 2004-04-04  Benjamin Otte  <otte@gnome.org>
8142
8143         * gst/schedulers/gstbasicscheduler.c:
8144         (gst_basic_scheduler_pad_select):
8145           fix uninitialized variable warnings
8146
8147 2004-04-04  Benjamin Otte  <otte@gnome.org>
8148
8149         * gst/gstpad.c: (gst_pad_collect_valist):
8150           fix uninitialized variable warning
8151         * gst/schedulers/entryscheduler.c: (schedule_forward):
8152           fix shadowed variable
8153
8154 2004-04-04  Benjamin Otte  <otte@gnome.org>
8155
8156         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
8157         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
8158         (gst_pad_select):
8159         * gst/gstpad.h:
8160         * gst/gstscheduler.c: (gst_scheduler_pad_select),
8161         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
8162         * gst/gstscheduler.h:
8163           implement gst_pad_collect as replacement for gst_pad_select.
8164           deprecate gst_pad_select and gst_scheduler_(un)lock_element
8165           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
8166           new pad_select, lock and unlock calls.
8167         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
8168         * gst/cothreads.h:
8169         * gst/schedulers/cothreads_compat.h:
8170         * gst/schedulers/gthread-cothreads.h:
8171           remove unused cothread_lock and cothread_unlock calls
8172         * gst/schedulers/entryscheduler.c:
8173         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
8174         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
8175         (gst_entry_scheduler_pad_select):
8176           update to new API
8177         * gst/schedulers/gstbasicscheduler.c:
8178         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
8179         (gst_basic_scheduler_pad_select):
8180           remove useless lock and unlock calls, update pad_select to new API
8181           (untested)
8182         * gst/schedulers/gstoptimalscheduler.c:
8183         (gst_opt_scheduler_class_init):
8184           remove useless select, lock and unlock function calls
8185         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
8186           use gst_pad_collect instead of gst_pad_select
8187
8188 2004-04-04  Benjamin Otte  <otte@gnome.org>
8189
8190         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
8191         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
8192         (schedule_next_element), (print_entry):
8193           add can_schedule_pad to handle element states.
8194           add schedule_forward to select the correct entry to schedule next
8195
8196 2004-04-03  Benjamin Otte  <otte@gnome.org>
8197
8198         * gst/schedulers/entryscheduler.c: 
8199           remove unused variable, fix error inside Rb, fix compile warning in
8200           unreachable code
8201
8202 2004-04-03  Benjamin Otte  <otte@gnome.org>
8203
8204         * gst/schedulers/entryscheduler.c:
8205           completely revamp the inner workings, so it's a lot easier to
8206           understand and extend
8207
8208 2004-04-03  Andy Wingo  <wingo@pobox.com>
8209
8210         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
8211         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
8212         This allows better introspection of pipeline topology.
8213         (add_to_chain): Don't do trickery to put loop elements first;
8214         rather, queue a chain sort by marking the chain as dirty.
8215         (remove_from_chain): Mark the chain dirty.
8216         (sort_chain): New function. Sorts the group list so that terminal
8217         sinks are first. This means elements on the sink side will be
8218         preferentially sscheduled before elements on the src side of the
8219         pipeline.
8220         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
8221         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
8222         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
8223         (group_inc_link): Change argument and variable names to match the
8224         new link structure member names (src and sink).
8225         (group_dec_link): Add some description
8226
8227 2004-04-03  Benjamin Otte  <otte@gnome.org>
8228
8229         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
8230         * gst/gstinfo.h:
8231         * testsuite/debug/category.c: (main):
8232         * testsuite/debug/commandline.c: (main):
8233         * testsuite/debug/output.c: (main):
8234         * testsuite/debug/printf_extension.c: (main):
8235           fix to successfully build and test with --disable-gst-debug
8236           configure switch (fixes #138705)
8237
8238 2004-04-03  Benjamin Otte  <otte@gnome.org>
8239
8240         * docs/pwg/building-boiler.xml:
8241           add cvs login line and s/anonymous/anoncvs/
8242
8243 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
8244
8245         reviewed by Benjamin Otte  <otte@gnome.org>
8246
8247         * gst/gststructure.c: (gst_structure_free):
8248           memleak fix: free fields array (partial fix for #134839)
8249
8250 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8251
8252         * docs/random/ds/0.9-suggested-changes:
8253           Add a note to change handoff use in fakesrc to be usable in
8254           a more generic way (fakesrc should be renamed to appsrc or so).
8255         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8256           Change signal type to scope, so we can fill the buffer in the
8257           handoff handler (that's the whole use of this signal...).
8258
8259 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8260
8261         * docs/pwg/other-ntoone.xml:
8262           Document muxers and n-to-1 elements.
8263
8264 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
8265
8266         * gst/registries/gstxmlregistry.c
8267         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
8268         determine if a file is a G_MODULE. The old one discards paths
8269         containing "so" somewhere in the middle. My home directory is
8270         called "soto". Go figure...
8271
8272 2004-03-31  David Schleef  <ds@schleef.org>
8273
8274         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
8275         to eventually deprecate gst_buffer_merge().  (bug: #136408)
8276         * gst/gstbuffer.h:
8277
8278 2004-03-31  David Schleef  <ds@schleef.org>
8279
8280         * gst/gstvalue.c: (gst_value_union_int_int_range),
8281         (gst_value_union_int_range_int_range), (gst_value_can_union),
8282         (gst_value_union), (_gst_value_initialize):  Add some union
8283         implementations.  We didn't have any previously.
8284         * testsuite/caps/Makefile.am:
8285         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
8286         (gst_audioscale_getcaps), (test_caps), (main): A little test
8287         that is the same as the caps manipulation in audioscale.
8288
8289 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8290
8291         * docs/faq/general.xml:
8292           add entry about "does gst support format X?"
8293
8294 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8295
8296         * gst/gstthread.c:
8297           fix docs
8298         * gst/gstutils.h:
8299           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
8300
8301 2004-03-30  Benjamin Otte  <otte@gnome.org>
8302
8303         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8304           set the offset of the buffer to the requested offset
8305         * gst/elements/gsttypefind.c: (stop_typefinding):
8306           revert patch 1.18 (which I unfortunately don't know the reason for).
8307           This is needed to allow downstream elements to seek. Otherwise
8308           typefind might overwrite a previous seek by downstream elements.
8309           This lead to errors with id3tag and typefind on some mp3s.
8310         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8311         (gst_entry_scheduler_iterate):
8312           be more verbose when debugging
8313
8314 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8315
8316         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8317           make sure we don't get NULL strings
8318
8319 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8320
8321         * gst/gstcaps.c:
8322         * gst/gstelement.c:
8323         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8324         * gst/gstindex.c: (gst_index_resolver_get_type),
8325         (gst_index_get_type), (gst_index_factory_get_type):
8326         * gst/gstinfo.c:
8327         * gst/gstpad.c:
8328         * gst/gstplugin.c:
8329         * gst/gsturi.c: (gst_uri_handler_get_type):
8330         * gst/gstvalue.c:
8331           first batch of documentation fixes
8332
8333 2004-03-29  David Schleef  <ds@schleef.org>
8334
8335         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
8336         * docs/gst/gstreamer-docs.sgml:  More hacking
8337         * docs/gst/gstreamer-sections.txt:
8338         * docs/gst/tmpl/cothreads_compat.sgml:
8339         * docs/gst/tmpl/gstcaps.sgml:
8340         * docs/gst/tmpl/gstclock.sgml:
8341         * docs/gst/tmpl/gstelement.sgml:
8342         * docs/gst/tmpl/gstevent.sgml:
8343         * docs/gst/tmpl/gstpad.sgml:
8344         * docs/gst/tmpl/gstutils.sgml:
8345         * docs/gst/tmpl/gstxml.sgml:
8346         * docs/gst/tmpl/gthread-cothreads.sgml:
8347         * docs/random/ds/0.9-suggested-changes:
8348         * gst/elements/gstfakesink.h: doc fixes
8349         * gst/elements/gstfakesrc.h: doc fixes
8350         * gst/gstcaps.c: doc fixes
8351         * gst/gstcaps.h: doc fixes
8352         * gst/gstelement.c: doc fixes
8353         * gst/gstelement.h: doc fixes
8354         * gst/gstindex.c: doc fixes
8355         * gst/gstinfo.c: doc fixes
8356         * gst/gstpad.c: doc fixes
8357         * gst/gstpad.h: doc fixes
8358         * gst/gstplugin.c: doc fixes
8359         * gst/gsttypefind.h: doc fixes
8360         * gst/gsturi.c: doc fixes
8361         * gst/gstvalue.c: doc fixes
8362
8363 2004-03-29  Colin Walters  <walters@redhat.com>
8364
8365         * gst/registries/gstxmlregistry.c (get_time)
8366         (plugin_times_older_than_recurse):
8367         Use the result of stat to determine whether a path is a file,
8368         so we don't attempt to opendir() files.
8369
8370 2004-03-29  Benjamin Otte  <otte@gnome.org>
8371
8372         * gst/gstpad.c: (gst_pad_set_explicit_caps):
8373           print caps in debugging output when setting caps failed
8374         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8375         (schedule_next_element), (get_buffer), (run_chainhandler),
8376         (element_may_start), (gst_entry_scheduler_chain_handler),
8377         (gst_entry_scheduler_get_handler),
8378         (gst_entry_scheduler_state_transition),
8379         (gst_entry_scheduler_pad_link):
8380           make this scheduler a testcase for mandatory
8381           discont-before-first-buffer which is needed if we want to allow apps
8382           to release the sound device.
8383           add SCHED_ASSERT macro to print scheduler state before an assertion
8384           triggers.
8385
8386 2004-03-29  Benjamin Otte  <otte@gnome.org>
8387
8388         * COPYING:
8389           replace by LGPL (former COPYING.LIB). The core is completely
8390           licensed LGPL.
8391         * COPYING.LIB:
8392           remove
8393
8394 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8395
8396         * po/af.po:
8397         * po/sv.po:
8398           updated Afrikaans and Swedish
8399
8400 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8401
8402         * po/LINGUAS:
8403         * po/az.po:
8404           adding Azerbaijani (Mətin Əmirov)
8405
8406 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
8407
8408         * gst/gstelement.h: 
8409         * gst/gstelement.c (gst_element_set_time_delay): New function for
8410         setting element time taking into account a hardware buffering
8411         delay.
8412         (gst_element_set_time): Now just an invocation of
8413         gst_element_set_time_delay.
8414         * gst/gstclock.h: 
8415         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
8416         allowing to set event times in the future.
8417         (gst_clock_get_event_time): Now just an invocation of
8418         gst_clock_get_event_time_delay.
8419
8420 2004-03-28  Benjamin Otte  <otte@gnome.org>
8421
8422         * gst/gstbin.c: (gst_bin_set_element_sched),
8423         (gst_bin_unset_element_sched):
8424           don't add decoupled elements to schedulers - otherwise it's
8425           impossible to control if a link to a decoupled element was already
8426           removed from a scheduler or not.
8427         * gst/schedulers/cothreads_compat.h:
8428         * gst/schedulers/gthread-cothreads.h:
8429           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
8430           is no "unused" warning.
8431         * gst/schedulers/Makefile.am:
8432         * gst/schedulers/entryscheduler.c:
8433           add new scheduler, based on ideas from talking to David and Martin.
8434           It's supposed to be small and correct. Currently it's also slow (but
8435           it's not noticable)
8436         * examples/retag/retag.c: (main):
8437         * testsuite/bytestream/test1.c: (main):
8438           fix missing NULLs at end of variadic functions
8439         * testsuite/elements/.cvsignore:
8440           update
8441
8442 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
8443
8444         * gst/gstevent.h:
8445         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
8446
8447 2004-03-25  David Schleef  <ds@schleef.org>
8448
8449         * docs/gst/gstreamer-sections.txt:  More doc hacking.
8450         * docs/gst/tmpl/gstaggregator.sgml:
8451         * docs/gst/tmpl/gstautoplugfactory.sgml:
8452         * docs/gst/tmpl/gstbin.sgml:
8453         * docs/gst/tmpl/gstbuffer.sgml:
8454         * docs/gst/tmpl/gstbufferstore.sgml:
8455         * docs/gst/tmpl/gstfakesink.sgml:
8456         * docs/gst/tmpl/gstfakesrc.sgml:
8457         * docs/gst/tmpl/gstmd5sink.sgml:
8458         * docs/gst/tmpl/gstreamer-unused.sgml:
8459         * docs/gst/tmpl/gstsearchfuncs.sgml:
8460         * docs/gst/tmpl/gstshaper.sgml:
8461         * docs/gst/tmpl/gstspider.sgml:
8462         * docs/gst/tmpl/gsttee.sgml:
8463         * docs/gst/tmpl/gstutils.sgml:
8464         * docs/gst/tmpl/gstvalue.sgml:
8465         * docs/gst/tmpl/gstxml.sgml:
8466         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
8467         and we don't support it.
8468         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8469         (gst_use_threads), (gst_has_threads): same
8470         * gst/gstthreaddummy.c: same
8471         * gst/autoplug/gstspider.c: Make gst_spider_details static.
8472         * gst/autoplug/gstspider.h: same
8473         * gst/elements/gstaggregator.h: Remove bogus function from header
8474         * gst/elements/gstfakesink.h: same
8475         * gst/elements/gstfakesrc.h: same
8476         * gst/elements/gstmd5sink.h: same
8477         * gst/elements/gstshaper.h: same
8478         * gst/elements/gsttee.h: same
8479         * gst/gstbin.c: doc fixes
8480         * gst/gstbin.h: Remove unused definition.
8481         * gst/gstbuffer.c: doc fixes
8482         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
8483         * gst/gstfilter.c: doc fixes
8484         * gst/gsttag.c: doc fixes
8485         * gst/gstvalue.c: doc fixes
8486
8487 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8488
8489         * docs/pwg/advanced-types.xml:
8490           Document typefinding.
8491         * docs/pwg/other-oneton.xml:
8492           Document one-to-n elements, demuxers and parsers.
8493
8494 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
8495
8496         reviewed by: David Schleef  <ds@schleef.org>
8497
8498         * configure.ac: Check bison version (bug #127838)
8499
8500 2004-03-25  David Schleef  <ds@schleef.org>
8501
8502         * docs/gst/gstreamer-docs.sgml: More fine tuning.
8503         * docs/gst/gstreamer-sections.txt:
8504         * docs/gst/tmpl/gstautoplug.sgml:
8505         * docs/gst/tmpl/gststaticautoplug.sgml:
8506         * docs/gst/tmpl/gststaticautoplugrender.sgml:
8507         * docs/gst/tmpl/gstutils.sgml:
8508         * docs/gst/tmpl/gstxml.sgml:
8509
8510 2004-03-24  David Schleef  <ds@schleef.org>
8511
8512         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
8513         manual being such complete crap, that I decided to do major
8514         hacking of it.  This checkin replaces any fine tuning that
8515         may have been done previously, with the benefit of actually
8516         being complete for much of the API that was changed since
8517         0.6.  Further fine tuning will occur shortly.  (bug #134721)
8518         * docs/gst/gstreamer-sections.txt:
8519         * docs/gst/tmpl/GstBin.sgml:
8520         * docs/gst/tmpl/GstBuffer.sgml:
8521         * docs/gst/tmpl/GstCaps.sgml:
8522         * docs/gst/tmpl/GstClock.sgml:
8523         * docs/gst/tmpl/GstCompat.sgml:
8524         * docs/gst/tmpl/GstData.sgml:
8525         * docs/gst/tmpl/GstElement.sgml:
8526         * docs/gst/tmpl/GstEvent.sgml:
8527         * docs/gst/tmpl/GstIndex.sgml:
8528         * docs/gst/tmpl/GstStructure.sgml:
8529         * docs/gst/tmpl/GstTag.sgml:
8530         * docs/gst/tmpl/cothreads.sgml:
8531         * docs/gst/tmpl/cothreads_compat.sgml:
8532         * docs/gst/tmpl/gettext.sgml:
8533         * docs/gst/tmpl/grammar.tab.sgml:
8534         * docs/gst/tmpl/gst-i18n-app.sgml:
8535         * docs/gst/tmpl/gst-i18n-lib.sgml:
8536         * docs/gst/tmpl/gst.sgml:
8537         * docs/gst/tmpl/gst_private.sgml:
8538         * docs/gst/tmpl/gstaggregator.sgml:
8539         * docs/gst/tmpl/gstarch.sgml:
8540         * docs/gst/tmpl/gstatomic.sgml:
8541         * docs/gst/tmpl/gstatomic_impl.sgml:
8542         * docs/gst/tmpl/gstbin.sgml:
8543         * docs/gst/tmpl/gstbuffer.sgml:
8544         * docs/gst/tmpl/gstbufferstore.sgml:
8545         * docs/gst/tmpl/gstcaps.sgml:
8546         * docs/gst/tmpl/gstclock.sgml:
8547         * docs/gst/tmpl/gstcompat.sgml:
8548         * docs/gst/tmpl/gstconfig.sgml:
8549         * docs/gst/tmpl/gstcpu.sgml:
8550         * docs/gst/tmpl/gstdata.sgml:
8551         * docs/gst/tmpl/gstdata_private.sgml:
8552         * docs/gst/tmpl/gstelement.sgml:
8553         * docs/gst/tmpl/gstenumtypes.sgml:
8554         * docs/gst/tmpl/gsterror.sgml:
8555         * docs/gst/tmpl/gstevent.sgml:
8556         * docs/gst/tmpl/gstfakesink.sgml:
8557         * docs/gst/tmpl/gstfakesrc.sgml:
8558         * docs/gst/tmpl/gstfilesink.sgml:
8559         * docs/gst/tmpl/gstfilter.sgml:
8560         * docs/gst/tmpl/gstindex.sgml:
8561         * docs/gst/tmpl/gstinfo.sgml:
8562         * docs/gst/tmpl/gstinterface.sgml:
8563         * docs/gst/tmpl/gstlog.sgml:
8564         * docs/gst/tmpl/gstmacros.sgml:
8565         * docs/gst/tmpl/gstmarshal.sgml:
8566         * docs/gst/tmpl/gstmd5sink.sgml:
8567         * docs/gst/tmpl/gstmultifilesrc.sgml:
8568         * docs/gst/tmpl/gstobject.sgml:
8569         * docs/gst/tmpl/gstpad.sgml:
8570         * docs/gst/tmpl/gstparse.sgml:
8571         * docs/gst/tmpl/gstpipeline.sgml:
8572         * docs/gst/tmpl/gstplugin.sgml:
8573         * docs/gst/tmpl/gstpluginfeature.sgml:
8574         * docs/gst/tmpl/gstqueue.sgml:
8575         * docs/gst/tmpl/gstreamer-unused.sgml:
8576         * docs/gst/tmpl/gstregistry.sgml:
8577         * docs/gst/tmpl/gstregistrypool.sgml:
8578         * docs/gst/tmpl/gstscheduler.sgml:
8579         * docs/gst/tmpl/gstsearchfuncs.sgml:
8580         * docs/gst/tmpl/gstshaper.sgml:
8581         * docs/gst/tmpl/gstspider.sgml:
8582         * docs/gst/tmpl/gstspideridentity.sgml:
8583         * docs/gst/tmpl/gststructure.sgml:
8584         * docs/gst/tmpl/gstsystemclock.sgml:
8585         * docs/gst/tmpl/gsttag.sgml:
8586         * docs/gst/tmpl/gsttaginterface.sgml:
8587         * docs/gst/tmpl/gsttee.sgml:
8588         * docs/gst/tmpl/gstthread.sgml:
8589         * docs/gst/tmpl/gsttrace.sgml:
8590         * docs/gst/tmpl/gsttrashstack.sgml:
8591         * docs/gst/tmpl/gsttypefind.sgml:
8592         * docs/gst/tmpl/gsttypes.sgml:
8593         * docs/gst/tmpl/gsturi.sgml:
8594         * docs/gst/tmpl/gsturitype.sgml:
8595         * docs/gst/tmpl/gstutils.sgml:
8596         * docs/gst/tmpl/gstvalue.sgml:
8597         * docs/gst/tmpl/gstversion.sgml:
8598         * docs/gst/tmpl/gstxml.sgml:
8599         * docs/gst/tmpl/gstxmlregistry.sgml:
8600         * docs/gst/tmpl/gthread-cothreads.sgml:
8601         * docs/gst/tmpl/types.sgml:
8602
8603 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8604
8605         * docs/pwg/other-sink.xml:
8606         * docs/pwg/other-source.xml:
8607           Documentation on how to write source and sink elements. Other
8608           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
8609           manager, autoplugger) are all still pending.
8610
8611 2004-03-25  Benjamin Otte  <otte@gnome.org>
8612
8613         * testsuite/elements/Makefile.am:
8614         * testsuite/elements/gst-compprep-check:
8615           add check to make sure gst-compprep works
8616         * testsuite/elements/gst-inspect-check.in:
8617           improve initialization output
8618         * testsuite/Makefile.am:
8619         * testsuite/gst-inspect-check:
8620           remove old file
8621
8622 2004-03-24  David Schleef  <ds@schleef.org>
8623
8624         * testsuite/elements/Makefile.am:
8625         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
8626         to the testsuite.
8627
8628 2004-03-24  Benjamin Otte  <otte@gnome.org>
8629
8630         * libs/gst/control/dparam.c: (gst_dparam_attach),
8631         (gst_dparam_detach):
8632         * libs/gst/control/dparammanager.c: (gst_dpman_init):
8633           fix lvalue casts for real
8634
8635 2004-03-24  Benjamin Otte  <otte@gnome.org>
8636
8637         * gst/schedulers/gstbasicscheduler.c:
8638         (gst_basic_scheduler_src_wrapper):
8639         * gst/schedulers/gstoptimalscheduler.c:
8640         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8641         (pad_clear_queued), (gst_opt_scheduler_add_element),
8642         (gst_opt_scheduler_remove_element):
8643           fix GStreamer to not have issues with lvalue casts anymore (fixes
8644           #136841)
8645
8646 2004-03-24  Benjamin Otte  <otte@gnome.org>
8647
8648         * gst/gstelement.c:
8649           add documentation about a gobject quirk where the object hasn't the
8650           correct class pointer set on initialization
8651         * gst/schedulers/gstbasicscheduler.c:
8652         (gst_basic_scheduler_src_wrapper):
8653           make sure to not run into an infinite loop
8654
8655 2004-03-22  Benjamin Otte  <otte@gnome.org>
8656
8657         * gst/gstutils.c: (gst_util_dump_mem):
8658         * gst/gstutils.h:
8659           first argument of gst_util_dump_mem should be const
8660
8661 2004-03-22  Johan Dahlin  <johan@gnome.org>
8662
8663         * gst/gstvalue.h: Clean up a little bit.
8664
8665 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
8666
8667         reviewed by Benjamin Otte  <otte@gnome.org>
8668
8669         * gst/autoplug/gstspider.c: (gst_spider_dispose):
8670         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
8671         (gst_aggregator_class_init), (gst_aggregator_init):
8672         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8673         (gst_filesrc_dispose), (gst_filesrc_set_location):
8674         * gst/elements/gstidentity.c: (gst_identity_finalize),
8675         (gst_identity_class_init), (gst_identity_chain):
8676         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
8677         * gst/elements/gststatistics.c: (gst_statistics_finalize),
8678         (gst_statistics_class_init):
8679         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
8680         (gst_tee_get_property):
8681           clean up used memory in this elements correctly on teardown (closes
8682           #137279)
8683
8684 2004-03-20  Colin Walters  <walters@redhat.com>
8685
8686         * gst/registries/gstxmlregistry.c:
8687         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
8688         registry saving atomic.
8689
8690 2004-03-20  Colin Walters  <walters@redhat.com>
8691
8692         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
8693         Just use
8694         access() instead of actually creating and deleting files.
8695
8696 2004-03-18  David Schleef  <ds@schleef.org>
8697
8698         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
8699         (bug #137625)
8700
8701 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8702
8703         * po/sv.po: updated translation (Christian Rose)
8704
8705 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8706
8707         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
8708         (gst_filesink_get_query_types), (_do_init),
8709         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
8710           return FALSE silently
8711         * po/af.po: updated translation (Petri Jooste)
8712
8713 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8714
8715         * Makefile.am:
8716         * configure.ac:
8717           dist common properly
8718         * po/af.po:
8719         * po/fr.po:
8720         * po/nl.po:
8721         * po/sr.po:
8722         * po/sv.po:
8723           refreshing translations
8724
8725 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8726
8727         * po/LINGUAS:
8728         * po/sv.po:
8729         * po/af.po:
8730           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
8731
8732 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8733
8734         * Makefile.am: use common/release.mak
8735
8736 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8737
8738         * docs/faq/gst-uninstalled:
8739           adding gst-monkeysaudio to the list of possible plugin dirs
8740
8741 2004-03-16  David Schleef  <ds@schleef.org>
8742
8743         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
8744         (gst_init_check_with_popt_table):  Fix some gettext strings to
8745         make them easier to translate.  Required making the strings
8746         non-const.
8747
8748 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8749
8750         * configure.ac: bump nano to 1
8751
8752 === release 0.8.0 ===
8753
8754 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8755
8756         * configure.ac: release 0.8.0, "Executive Slacks"
8757
8758 2004-03-16  Johan Dahlin  <johan@gnome.org>
8759
8760         * gst/schedulers/gstoptimalscheduler.c
8761         (gst_opt_scheduler_pad_unlink): Remove double ;,
8762         spotted by Scott Wheeler
8763
8764 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8765
8766         * configure.ac: bump libtool version
8767
8768 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8769
8770         * gst/gstcaps.h:
8771         * gst/gststructure.h:
8772           add reserved padding
8773
8774 2004-03-15  Benjamin Otte  <otte@gnome.org>
8775
8776         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8777           set the first parameter for select call correctly.
8778           (fixes #137230)
8779
8780 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8781
8782         * *.c,*.h: don't mix tabs and spaces
8783
8784 2004-03-15  Johan Dahlin  <johan@gnome.org>
8785
8786         * gst/schedulers/gstoptimalscheduler.c
8787         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
8788         crash on MPEG playback. My boolean arithmetic is a bit rusty.
8789
8790         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
8791         
8792 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8793
8794         * testsuite/Rules:
8795           fix gst-register rules
8796
8797 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8798
8799         * testsuite/Rules:
8800           use versioned gst-register
8801
8802 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8803
8804         * docs/libs/gstreamer-libs-sections.txt:
8805           remove </SUBSECTION>
8806         * gst/gstplugin.c:
8807         * gst/gstregistry.c: (gst_registry_add_plugin):
8808         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
8809         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
8810           add debugging and fix some comment blocks
8811
8812 2004-03-15  Johan Dahlin  <johan@gnome.org>
8813
8814         * *.h: Revert indent changes.
8815         
8816 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8817
8818         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
8819           g_error_free the g_error
8820         * tools/gst-feedback-m.m:
8821           check for other versions of gstreamer
8822         * tools/gst-indent:
8823           use sh, not bash
8824
8825 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8826
8827         * tools/gst-register.c: do not spill paths when registries are not
8828           writable, until we fix the "user running gst-register" case.
8829
8830 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8831
8832         * *.c, *.h: commit of gst-indent run on core
8833
8834 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8835
8836         * tools/gst-indent:
8837         * tools/Makefile.am:
8838           add our indentation style as a script
8839
8840 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8841
8842         * po/sr.po:
8843         * po/LINGUAS:
8844           added Serbian translation
8845
8846 2004-03-13  Benjamin Otte  <otte@gnome.org>
8847
8848         * gst/gstelement.c:
8849           add documentation note about gst_element_found_tags_for_pad not
8850           being usable in getfunctions. (see #137042)
8851
8852 2004-03-12  David Schleef  <ds@schleef.org>
8853
8854         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
8855         change API right now!  Readd gst_caps_is_simple() macro.
8856         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
8857         uninitialized variable.  I'd bet this caused crashes.
8858         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
8859
8860 2004-03-12  Johan Dahlin  <johan@gnome.org>
8861
8862         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
8863         * gst/gstcaps.h: Clean up
8864
8865         * gst/gst.c (init_post): call gst_caps_get_type() instead of
8866         _gst_caps_initalize()
8867
8868         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
8869         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
8870
8871         * gst/gststructure.c (gst_structure_get_type): Ditto
8872
8873         * gst/gststructure.h: Ditto
8874         
8875 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8876
8877         * gst/gstqueue.c: (gst_queue_init):
8878           Reset default max. values in queues. Reason is simply to avoid
8879           braindead use. If you want wider values, use the properties. The
8880           default is supposed to always work. Wider values would make this
8881           beast a memory hog by default (250 full-PAL RGB32 video frames?
8882           That's 440 MB! No thank you).
8883
8884 2004-03-10  David Schleef  <ds@schleef.org>
8885
8886         * tools/gst-run.c: (main):  Fix crash when no relevant tools
8887         were found.  (bug #136793)
8888
8889 2004-03-10  Johan Dahlin  <johan@gnome.org>
8890
8891         * gst/schedulers/gstoptimalscheduler.c
8892         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
8893         links to elements within the same group, so we can finally remove
8894         that annoying warning. Refactor the code a little bit
8895         (group_dec_links_for_element): Split out
8896
8897 2004-03-09  David Schleef  <ds@schleef.org>
8898
8899         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
8900         (bug #134863)
8901
8902 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8903
8904         * configure.ac: first bug fix due to major/minor bump
8905
8906 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8907
8908         * configure.ac: bump nano to 1
8909
8910 === release 0.7.6 ===
8911
8912 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8913
8914         * NEWS:
8915         * RELEASE:
8916         * configure.ac:
8917           releasing 0.7.6, "Almost"
8918         * po/fr.po:
8919         * po/nl.po:
8920         * tools/Makefile.am:
8921         * tools/gst-feedback-m.m:
8922           unversioned source
8923
8924 2004-03-09  Johan Dahlin  <johan@gnome.org>
8925
8926         Reviewed by: Thomas Vander Stichele
8927
8928         * gst/gstelement.c (gst_element_class_init): register second
8929         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
8930         language bindings can (de)marshall correctly.
8931
8932         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
8933
8934         * gst/gsterror.c (gst_g_error_get_type): New function
8935
8936         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
8937         with VOID:OBJECT,OBJECT,STRING 
8938
8939 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
8940
8941         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
8942         Free a leaked g_timer on early returns.
8943
8944 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8945
8946         * docs/pwg/advanced-types.xml:
8947           Add cinepak description.
8948
8949 2004-03-07  David Schleef  <ds@schleef.org>
8950
8951         * docs/random/mimetypes:  Added cinepak description
8952
8953 2004-03-07  Andy Wingo  <wingo@pobox.com>
8954
8955         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
8956
8957         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
8958         there are no links to other groups when a group is destroyed.
8959         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
8960         removed from a group, make sure the link count to elements linked
8961         to other pads is appropriately decremented. This really fixes
8962         #135672.
8963
8964         The 1.60->1.61 patch has been reapplied in light of this fix.
8965
8966         * gst/gstelement.c (gst_element_dispose): Really protect against
8967         multiple invocations this time.
8968
8969 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8970
8971         * docs/gst/gstreamer-sections.txt:
8972         * docs/gst/tmpl/gsttag.sgml:
8973           remove some deprecated functions, document some existing ones
8974         * gst/gsttag.c: (gst_tag_get_flag):
8975         * gst/gsttag.h:
8976           add accessor function
8977
8978 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8979
8980         * docs/gst/gstreamer-sections.txt:
8981         * docs/gst/tmpl/gsttag.sgml:
8982         * docs/gst/tmpl/gstxml.sgml:
8983         * gst/gsttag.c: (gst_tag_get_flag):
8984         * gst/gsttag.h:
8985
8986 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
8987
8988         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
8989         leak
8990
8991 2004-03-05  David Schleef  <ds@schleef.org>
8992
8993         * REQUIREMENTS: Add bison and flex.
8994         * configure.ac: Fix comment about bison.
8995         * docs/random/ds/0.9-suggested-changes: yer ma
8996         * tools/gst-inspect.c: (print_element_info):  Fix warning.
8997
8998 2004-03-05  Benjamin Otte  <otte@gnome.org>
8999
9000         * gst/gstelement.c: (gst_element_error_full):
9001           revert recent recursive state changing commit - messing with other
9002           elements' states is evil and should be done by apps only.
9003
9004 2004-03-05  Benjamin Otte  <otte@gnome.org>
9005
9006         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
9007           check for empty intersection instead of NULL caps
9008         (gst_element_get_compatible_pad_filtered):
9009           remove old workaround that is only a bug nowadays
9010
9011 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9012
9013         * gst/gstelement.c: (gst_element_error_full):
9014           make elements try to recursively change state to PAUSED on all
9015           parents after an error to suppress ensuing warnings
9016         * gst/parse/grammar.y:
9017           make it check if it was able to sync the state, and throw an error
9018           if not, so stuff like
9019           oggdemux ! vorbisdec ! osssink gets caught
9020
9021 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9022
9023         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
9024           it contains lib64; use AS_AC_EXPAND to handle it properly
9025
9026 2004-03-05  David Schleef  <ds@schleef.org>
9027
9028         * gst/gstcpuid_i386.s:  Remove unused code
9029         * libs/gst/getbits/getbits.c: (gst_getbits_init),
9030         (gst_getbits_newbuf): Remove MMX code
9031         * libs/gst/getbits/getbits.h: Remove MMX code
9032
9033 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
9034
9035         * debian/.cvsignore:
9036         * debian/README.Debian:
9037         * debian/changelog:
9038         * debian/control:
9039         * debian/control.in:
9040         * debian/copyright:
9041         * debian/gstreamer-core-libs-dev.files:
9042         * debian/gstreamer-core-libs.files:
9043         * debian/gstreamer-core.files:
9044         * debian/gstreamer-core.postinst:
9045         * debian/gstreamer-core.postrm:
9046         * debian/gstreamer-doc.files:
9047         * debian/gstreamer-doc.links:
9048         * debian/gstreamer-doc.lintian:
9049         * debian/gstreamer-runtime.files:
9050         * debian/gstreamer-runtime.manpages:
9051         * debian/gstreamer-runtime.postinst:
9052         * debian/gstreamer-runtime.postrm:
9053         * debian/gstreamer-tools.files:
9054         * debian/gstreamer-tools.manpages:
9055         * debian/libgstreamer-dev.files:
9056         * debian/libgstreamer0.4.1.files:
9057         * debian/libgstreamerVERSION.files:
9058         * debian/rules:
9059         Debian package info not maintained here.
9060
9061 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9062
9063         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9064         * gst/gstbin.c: (gst_bin_class_init):
9065         * gst/gstelement.c: (gst_element_class_init):
9066         * gst/gstindex.c: (gst_index_class_init):
9067         * gst/gstobject.c: (gst_object_class_init),
9068         (gst_signal_object_class_init):
9069         * gst/gstpad.c: (gst_pad_template_class_init):
9070         * gst/gstregistry.c: (gst_registry_class_init):
9071         * gst/gsturi.c: (gst_uri_handler_base_init):
9072         * gst/gstxml.c: (gst_xml_class_init):
9073         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9074         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
9075           make all signal names use dashes instead of underscore
9076
9077 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9078
9079         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
9080
9081 2004-03-03  Benjamin Otte  <otte@gnome.org>
9082
9083         * gst/schedulers/gstoptimalscheduler.c:
9084           revert last commit by Andy Wingo. It causes segfaults on unreffing
9085           in Rhythmbox. (see bug #135672)
9086
9087 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9088
9089         * po/fr.po: fix typo
9090
9091 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9092
9093         * tools/gst-inspect.c: (main): 
9094         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
9095
9096 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9097
9098         * configure.ac:
9099           get GLIB_ONLY and POPT flags for the nonversioned binaries
9100         * tools/Makefile.am:
9101           use them
9102
9103 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9104
9105         * gst/gst.c: (init_post):
9106           change so that GST_REGISTRY now is where the global registry gets
9107           saved, since that is where plugins now get attached to first, and
9108           spilled over to the user registry.  Note that in the case of using
9109           GST_REGISTRY env var, we don't want to affect any real registries
9110           beyond the one given by this var, and thus we don't set a user
9111           registry to spill to.  So make sure GST_REGISTRY is writable.
9112
9113 2004-03-01  David Schleef  <ds@schleef.org>
9114
9115         * AUTHORS:  Added some names.  Add yourself if you're missing.
9116
9117 2004-03-01  David Schleef  <ds@schleef.org>
9118
9119         * MAINTAINERS: Add
9120
9121 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9122
9123         * configure.ac:
9124           remove whitespace
9125         * docs/gst/tmpl/gstbuffer.sgml:
9126         * docs/gst/tmpl/gstdata.sgml:
9127         * docs/gst/tmpl/gstreamer-unused.sgml:
9128         * docs/gst/tmpl/gstxml.sgml:
9129           doc update
9130         * docs/manuals.mak:
9131           add a FIXME
9132         * docs/pwg/intro-preface.xml:
9133         * docs/pwg/pwg.xml:
9134           remove GNOME
9135         * gst/gst.c: (init_post):
9136           try GST_PLUGIN_PATH paths for the _global_registry first
9137         * gst/gstelement.h:
9138           add the error message as well, otherwise (null) debug info doesn't
9139           make much sense
9140         * tools/gst-register.c: (main):
9141           spill paths to next registry if this registry is not writable
9142         * po/fr.po:
9143         * po/nl.po:
9144           translation updates
9145
9146 2004-03-01  Johan Dahlin  <johan@gnome.org>
9147
9148         * gst/gstbuffer.c (_gst_buffer_initialize): 
9149         * gst/gstdata.c (gst_data_get_type): 
9150         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
9151         instead of ref, since some applications that uses GBoxed
9152         routines depends on a function that actually returns a copy.
9153
9154 2004-02-27  Benjamin Otte  <otte@gnome.org>
9155
9156         * gst/gstbuffer.h:
9157           remove gst_buffer_free, use gst_data_unref
9158         * gst/gstdata.c: (gst_data_get_type):
9159           use refcounting in GstData GBoxed registration
9160         * gst/gstdata.h:
9161           remove gst_data_free, use gst_data_unref
9162
9163 2004-02-27  Johan Dahlin  <johan@gnome.org>
9164
9165         * gst/gstdata.c (gst_data_get_type): New function, register
9166         GstData as a GBoxed type.
9167
9168         * gst/gstdata.h (GST_TYPE_DATA): New macro
9169
9170 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9171
9172         * Makefile.am:
9173         * gstreamer.spec.in:
9174           put back RELEASE
9175         * gst/Makefile.am:
9176           clean up non-disting of built files
9177         * testsuite/debug/commandline.c:
9178           test fix for option rename
9179
9180 2004-02-26  David Schleef  <ds@schleef.org>
9181
9182         * configure.ac:  We don't really need glib-2.3.  Also remove
9183         some unneeded checks for library functions.
9184         * gst/Makefile.am:  Instead, we need to not dist files created
9185         by glib-genmarshal.
9186
9187 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9188
9189         * configure.ac:
9190           bump glib required version to 2.3.0 for g_value_takes_boxed
9191
9192  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
9193
9194         * common/m4/gst-docs.m4
9195         change flavour text from enable to disable as enable is our default
9196         closes bug Bug 135304
9197
9198 === release 0.7.5 ===
9199  
9200  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9201  
9202         * NEWS:
9203           instate NEWS file
9204         * Makefile.am:
9205         * gstreamer.spec.in:
9206         * RELEASE:
9207           put back release
9208         * configure.ac:
9209         * docs/random/release:
9210           more updates
9211
9212 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9213
9214         * gst/gsttag.c: (_gst_tag_initialize):
9215         * po/fr.po:
9216         * po/nl.po:
9217           remove hyphen from codec tags
9218
9219 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9220
9221         * gst/parse/Makefile.am:
9222           fix dependency so that a make from a clean build works the first
9223           time
9224
9225 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9226
9227         * docs/random/release:
9228           update release strategy
9229         * po/fr.po:
9230           auto-update po file
9231         * po/nl.po:
9232           update dutch translation
9233
9234 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9235
9236         * docs/manual/debugging.xml:
9237         fix manual for new debugging system
9238
9239 2004-02-25  Andy Wingo  <wingo@pobox.com>
9240
9241         * gst/gstpad.c (gst_pad_link_prepare): Re-add
9242         gst_pad_link_prepare. Please email the list with specific reasons
9243         for reverting.
9244
9245 2004-02-24  Andy Wingo  <wingo@pobox.com>
9246
9247         * gst/gstelement.c (gst_element_dispose): Protect against multiple
9248         invocations.
9249
9250         * gst/schedulers/gstoptimalscheduler.c:
9251         I added a mess of prototypes at the top of the file by way of
9252         documentation. Some of the operations on chains and groups were
9253         re-organized.
9254
9255         (create_group): Added a type argument so if the group is enabled,
9256         the setup_group_scheduler knows what to do.
9257         (group_elements): Added a type argument here, too, to be passed on
9258         to create_group.
9259         (group_element_set_enabled): If an unlinked PLAYING element is
9260         added to a bin, we have to create a new group to hold the element,
9261         and this function will be called before the group is added to the
9262         chain. Thus we have a valid case for group->chain==NULL. Instead
9263         of calling chain_group_set_enabled, just set the flag on the group
9264         (the chain's status will be set when the group is added to it).
9265         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
9266         Setup the group scheduler when the group is enabled, not
9267         specifically when an element goes PAUSED->PLAYING. This means
9268         PLAYING elements can be added, linked, and scheduled into a
9269         PLAYING pipeline, as was intended.
9270         (add_to_group): Don't ref the group twice. I don't know when this
9271         double-ref got in here. Removing it has the potential to cause
9272         segfaults if other parts of the scheduler are buggy. If you find
9273         that the scheduler is segfaulting for you, put in an extra ref
9274         here and see if that hacks over the underlying issue. Of course,
9275         then find out what code is unreffing a group it doesn't own...
9276         (create_group): Make the extra refcount floating, and remove it
9277         after adding the element. This means that...
9278         (unref_group): Destroy when the refcount reaches 0, not 1, like
9279         every other refcounted object in the known universe.
9280         (remove_from_group): When a group becomes empty, set it to be not
9281         active, and remove it from its chain. Don't unref it again,
9282         there's no floating reference any more.
9283         (destroy_group): We have to remove the group from the chain in
9284         remove_from_group (rather than here) to break refcounting cycles
9285         (the chain always has a ref on the group). So assert that
9286         group->chain==NULL.
9287         (ref_group_by_count): Removed, it was commented out anyway.
9288         (merge_chains): Use the remove_from_chain and add_to_chain
9289         primitives to do the reparenting, instead of rolling our own
9290         implementation.
9291         (add_to_chain): The first non-disabled group in the chain's group
9292         list will be the entry point for the chain. Because buffers can
9293         accumulate in loop elements' peer bufpens, we preferentially
9294         schedule loop groups before get groups to avoid unnecessary
9295         execution of get-based groups when the bufpens are already full.
9296         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
9297         (get_group_schedule_function): Ditto.
9298         (loop_group_schedule_function): Ditto.
9299         (gst_opt_scheduler_loop_wrapper): Ditto.
9300         (gst_opt_scheduler_iterate): Ditto.
9301
9302         I understand the opt scheduler now, yippee!
9303
9304         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
9305         (gst_pad_get_name, gst_pad_set_chain_function) 
9306         (gst_pad_set_get_function, gst_pad_set_event_function) 
9307         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
9308         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
9309         (gst_pad_set_query_function, gst_pad_get_query_types) 
9310         (gst_pad_get_query_types_default) 
9311         (gst_pad_set_internal_link_function) 
9312         (gst_pad_set_formats_function, gst_pad_set_link_function) 
9313         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
9314         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
9315         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
9316         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
9317         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
9318         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
9319         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
9320         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
9321         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
9322         (gst_pad_event_default_dispatch, gst_pad_event_default) 
9323         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
9324         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
9325         (gst_pad_get_formats_default, gst_pad_get_formats): Better
9326         argument checks, and some doc fixes.
9327
9328         (gst_pad_custom_new_from_template): Um, does anyone
9329         use these functions? Actually make a custom pad instead of a
9330         normal one.
9331         (gst_pad_try_set_caps): Transpose some checks.
9332         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
9333         the pad is in negotiation.
9334         (gst_pad_try_relink_filtered): Use pad_link_prepare.
9335         
9336         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
9337
9338         * gst/gstelement.h: 
9339         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
9340         on the list.
9341
9342 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9343
9344         * gst/gstbin.c: (gst_bin_add):
9345           add error for not being able to add elements
9346
9347 2004-02-22  Julien MOUTTE <julien@moutte.net>
9348
9349         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
9350         audio-codec and video-codec.
9351
9352 2004-02-22  Benjamin Otte  <otte@gnome.org>
9353
9354         reported by: Padraig O'Briain <padraig.obriain@sun.com>
9355
9356         * autogen.sh:
9357           replace test -e with test -x for mkinstalldirs to be more portable.
9358           (fixes #134816)
9359
9360 2004-02-22  Benjamin Otte  <otte@gnome.org>
9361
9362         * gst/gstpad.c:
9363           revert last patch from Andy, it makes gst_pad_can_link_filtered much
9364           too noisy
9365         * gst/gsttag.c: (_gst_tag_initialize):
9366         * gst/gsttag.h:
9367           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
9368         * libs/gst/control/dparam.c: (gst_dparam_attach):
9369         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
9370           check that types for attached dparams match
9371
9372 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9373
9374         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
9375         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9376         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
9377           fix errors
9378
9379 2004-02-20  Andy Wingo  <wingo@pobox.com>
9380
9381         * gst/gstbin.c:
9382         * gst/gstbuffer.c:
9383         * gst/gstplugin.c:
9384         * gst/registries/gstxmlregistry.c: 
9385         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
9386
9387         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
9388         (gst_element_add_pad): DEBUG->INFO, some fixes.
9389         (gst_element_get_compatible_pad_template): Just see if the
9390         templates' caps intersect, not if one is a strict subset of the
9391         other. This conforms more to what gst_pad_link_intersect() does.
9392         (gst_element_class_add_pad_template): Don't memcpy the pad
9393         template, just ref it.
9394         (gst_element_get_compatible_pad_filtered): Clean up debug messages
9395
9396         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
9397         (gst_pad_link_filtered): Debug changes.
9398         (gst_pad_link_prepare): New function, consolidated from
9399         can_link_filtered and link_filtered.
9400
9401         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
9402         look more like that of the functions in gstelement.c
9403
9404         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
9405         object, and return the empty string if object is NULL.
9406
9407         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
9408         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
9409         LOG, not DEBUG. We still get flex info on debug.
9410
9411         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
9412         debug string more verbose.
9413         (plugin_times_older_than): DEBUG->LOG.
9414
9415 2004-02-20  Julien MOUTTE <julien@moutte.net>
9416
9417         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
9418         will emit found_tag for each stream they demux with the codec.
9419
9420 2004-02-20  Benjamin Otte  <otte@gnome.org>
9421
9422         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
9423           copy navigation event correctly. Check freeing tag lists. 
9424         * gst/gstthread.c: (gst_thread_change_state):
9425           don't abort() on state changing mess - it might happen because of
9426           bugs.
9427         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
9428           use boxed functions
9429         * gst/gstvalue.h:
9430           fix GST_VALUE_HOLDS_CAPS
9431
9432 2004-02-19  David Schleef  <ds@schleef.org>
9433
9434         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
9435         and use it for GST_FUNCTION.  (bug #134750)
9436
9437 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9438
9439         * po/fr.po:
9440         * po/nl.po:
9441           updating translations
9442
9443 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9444
9445         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
9446
9447 2004-02-18  kost@imn.htwk-leipzig.de
9448
9449         reviewed by: David Schleef  <ds@schleef.org>
9450
9451         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
9452         for libgstcontrol.
9453
9454 2004-02-18  David Schleef  <ds@schleef.org>
9455
9456         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9457         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9458         (gst_dpsmooth_new): Additional fixes to get double dparams working.
9459         * tools/gst-inspect.c: (print_element_info): Support dumping of
9460         double dparam information.
9461
9462 2004-02-17  David Schleef  <ds@schleef.org>
9463
9464         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9465         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
9466         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
9467         Use GST_TYPE_CAPS in signal prototype.
9468         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
9469         Convert GST_TYPE_CAPS to boxed.
9470         * gst/gstelement.c: (gst_element_class_init):
9471         Use GST_TYPE_TAG_LIST in signal prototype.
9472         * gst/gstindex.c: (gst_index_class_init):
9473         * gst/gstindex.h:
9474         Add GST_TYPE_INDEX_ENTRY type.
9475         * gst/gstmarshal.list:
9476         Add necessary marshal types.
9477         * gst/gstpad.c: (gst_real_pad_class_init),
9478         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
9479         (gst_pad_recover_caps_error):
9480         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
9481         * gst/gststructure.c: (_gst_structure_initialize),
9482         (gst_structure_copy), (_gst_structure_copy_conditional):
9483         * gst/gststructure.h:
9484         Convert GST_TYPE_STRUCTURE to boxed.
9485         * gst/gsttag.c: (gst_tag_list_get_type):
9486         * gst/gsttag.h:
9487         Add GST_TYPE_TAG_LIST type.
9488
9489 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9490
9491         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
9492         to what we agreed with david.
9493         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
9494
9495 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9496
9497         * po/nl.po: update translation
9498
9499 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9500
9501         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9502           throw an error if spider is trying to play a mime type there is
9503           no decoder for
9504         * po/POTFILES.in:
9505           add gst/autoplug/gstspider.c for translation
9506
9507 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9508
9509         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
9510         silently when the pad is negotiating.
9511
9512 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9513
9514         * docs/faq/Makefile.am:
9515           add script to run gstreamer uninstalled 
9516         * docs/faq/faq.xml:
9517         * docs/faq/developing.xml:
9518         * docs/faq/gst-uninstalled:
9519           extract script to run gstreamer uninstalled
9520         * docs/manuals.mak:
9521           add EXTRA_SOURCES variable for Makefile.am's to set to
9522           use additional SOURCE files for the doc build
9523
9524 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9525
9526         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
9527
9528 2004-02-15  Julien MOUTTE  <julien@moutte.net>
9529
9530         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
9531         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
9532         an error was thrown by osssink. Basically a state change failure for
9533         an element in a different scheduling group was considered as
9534         successful, which means that caps nego was going on and weird stuff
9535         happened. Like I wrote in the comment there, if someone wants to
9536         revert that please drop me a mail explaining why because I really see
9537         no point in keeping that broken behaviour there.
9538         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
9539         be empty, we then return NULL which will trigger a nice error when 
9540         pulling from the pad.
9541
9542 2004-02-13  David Schleef  <ds@schleef.org>
9543
9544         * libs/gst/control/dparam.c: (gst_dparam_class_init),
9545         (gst_dparam_get_property), (gst_dparam_set_property),
9546         (gst_dparam_do_update_default):
9547         * libs/gst/control/dparam.h:
9548         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9549         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
9550         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
9551         (gst_dpsmooth_do_update_double):
9552         * libs/gst/control/dparam_smooth.h:
9553         * libs/gst/control/dparammanager.c:
9554         (gst_dpman_inline_direct_update):
9555         Add support for double dparams.
9556
9557 2004-02-13  David Schleef  <ds@schleef.org>
9558
9559         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
9560         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
9561
9562 2004-02-13  Mattias Wadman  <mattias@sudac.org>
9563
9564         reviewed by: David Schleef  <ds@schleef.org>
9565
9566         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9567         (gst_fdsrc_init), (gst_fdsrc_set_property),
9568         (gst_fdsrc_get_property), (gst_fdsrc_get):
9569         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
9570         and sends an EOS event if file descriptor reading times out.
9571
9572 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9573
9574         * configure.ac:
9575           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
9576
9577 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9578
9579         * configure.ac: pass required libxml version as argument
9580         (bug reported by Christophe Fergeau)
9581
9582 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9583   
9584         * docs/gst/gstreamer-docs.sgml:
9585         * docs/gst/tmpl/gstxml.sgml:
9586         * docs/libs/gstreamer-libs-docs.sgml:
9587           version API docs
9588
9589 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9590
9591         * gst/gstinfo.c:
9592         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
9593         (gst_registry_pool_feature_filter):
9594         * gst/gstthread.c: (gst_thread_class_init):
9595         * gst/gstvalue.c:
9596           add includes exposed by building without libxml
9597         * gst/indexers/Makefile.am:
9598           do not build fileindex when LOADSAVE disabled; we should have
9599           a better libxml check later since fileindex depends on xml, not
9600           LOADSAVE or REGISTRY
9601         * libs/gst/control/Makefile.am:
9602           link with m
9603         * tools/Makefile.am:
9604           fix wrong source code for gst-xmlinspect
9605
9606 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9607
9608         * configure.ac:
9609           fix gcov help output
9610           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
9611         * docs/random/release:
9612           some updated releasing notes
9613         * gstreamer.spec.in:
9614           more updates
9615
9616 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9617
9618         * docs/faq/faq.xml:
9619         * docs/manual/manual.xml:
9620         * docs/pwg/pwg.xml:
9621         * docs/pwg/titlepage.xml:
9622           put version in documentation
9623
9624 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9625
9626         * tools/Makefile.am: fix man page installation
9627
9628 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9629
9630         * configure.ac:
9631           don't check for libxml when load/save and registry disabled (#105844)
9632         * gstreamer.spec.in:
9633           sync with fedora candidate spec
9634
9635 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9636
9637         * po/fr.po:
9638         * po/nl.po:
9639           replace multidisksrc with multifilesrc
9640
9641 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9642
9643         * po/POTFILES.in:
9644           update to multidisksrc => multifilesrc file renaming (#134145)
9645
9646 2004-02-11  David Schleef  <ds@schleef.org>
9647
9648         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
9649         * docs/gst/tmpl/gstpadtemplate.sgml: same
9650         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
9651         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
9652         fixing dance.
9653         * gst/gstutils.c: Remove disabled code that uses GstProps.
9654         * gst/registries/gstxmlregistry.h: same
9655         * docs/random/ds/0.9-suggested-changes: random notes
9656
9657 2004-02-11  kost@imn.htwk-leipzig.de
9658
9659         reviewed by: David Schleef  <ds@schleef.org>
9660
9661         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
9662         initialisation of clock (bug #134128)
9663
9664 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9665
9666         * configure.ac:
9667         * gst/elements/Makefile.am:
9668         * gst/elements/gstelements.c:
9669         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
9670         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
9671         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
9672         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
9673         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
9674         * gst/elements/gstmultifilesrc.h:
9675           rename multidisksrc to multifilesrc (part of #122200)
9676
9677 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9678
9679         * docs/manuals.mak:
9680           fix automake complaints
9681         * gst-element-check.m4:
9682           fix unquotedness
9683
9684 2004-02-11  David Schleef  <ds@schleef.org>
9685
9686         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
9687         * gst/gstatomic_impl.h: Disable sparc implementation.
9688
9689 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9690
9691         * gst-element-check.m4:
9692           fix underquoted macros as reported by automake 1.8.x (#133800)
9693         * configure.ac:
9694           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
9695           by autopoint (fixes #132996)
9696
9697 2004-02-10  Andy Wingo  <wingo@pobox.com>
9698
9699         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
9700         way to do inheritance.
9701         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
9702         (gst_pad_get_query_types, gst_pad_get_query_types_default):
9703         Routine docs.
9704         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
9705         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
9706         doc.
9707         (gst_pad_unlink, gst_pad_is_linked): Docs.
9708         (gst_pad_renegotiate): A brief description of capsnego.
9709         (gst_pad_try_set_caps): Document.
9710         (gst_pad_try_set_caps_nonfixed): Document.
9711         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
9712         (gst_pad_set_parent): Deprecated (although not out of the API).
9713         (gst_pad_get_parent): Deprecated, although many plugins use this.
9714         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
9715         are private and will go away in 0.9.
9716         (gst_pad_perform_negotiate): Doc.
9717         (gst_pad_link_unnegotiate): I think this is meant to be static.
9718         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
9719         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
9720         (gst_pad_get_peer): Doc updates.
9721         (gst_pad_caps_change_notify): Doc.
9722         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
9723         (gst_ghost_pad_new): Doc fixes.
9724
9725         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
9726         (gst_object_check_uniqueness): 
9727
9728         * gst/gstelement.c (gst_element_add_pad) 
9729         (gst_element_add_ghost_pad, gst_element_remove_pad) 
9730         (gst_element_remove_ghost_pad, gst_element_get_pad) 
9731         (gst_element_get_static_pad, gst_element_get_pad_list) 
9732         (gst_element_class_get_pad_template_list) 
9733         (gst_element_class_get_pad_template): Work on the docs.
9734         (gst_element_get_pad_template_list): Uses the class method.
9735         (gst_element_get_compatible_pad_template): Docs, and consolidate
9736         some test conditions. 
9737         (gst_element_get_pad_from_template): New static function.
9738         (gst_element_request_compatible_pad): Docs, and work with
9739         non-request compatible templates. 
9740         (gst_element_get_compatible_pad_filtered): Docs and remove
9741         redundant checks.
9742         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
9743         (gst_element_link_filtered, gst_element_link_many) 
9744         (gst_element_link, gst_element_link_pads) 
9745         (gst_element_unlink_many): Docs.
9746
9747 2004-02-05  Andy Wingo  <wingo@pobox.com>
9748
9749         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
9750         s/pointer/boxed/.
9751
9752         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
9753
9754         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
9755         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
9756         with the type=GST_TYPE_CAPS. This allows language bindings to know
9757         what kind of data they're dealing with.
9758
9759         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
9760         to NULL when g_value_init is called. GstCaps, which rolls its own
9761         type implementation, now does the same instead of allocating empty
9762         caps.
9763         (_gst_caps_initialize, _gst_caps_collect_value,
9764         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
9765         table methods. This allows G_VALUE_COLLECT to work.
9766
9767 2004-02-05  Andy Wingo  <wingo@pobox.com>
9768
9769         * configure.ac:
9770         * testsuite/Makefile.am (SUBDIRS): 
9771         * testsuite/ghostpads/Makefile.am: 
9772         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
9773
9774         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
9775         These two routines are the only ones that set
9776         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
9777         pad template. They should be made static, depending on ABI needs.
9778         (gst_real_pad_dispose): Handle the case of ghost pads without a
9779         parent. Assert after dealing with ghost pads that the ghost pad
9780         list is empty.
9781         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
9782         set after creation.
9783         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
9784         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
9785         functions. set_property will call add_ghost_pad/remove_ghost_pad
9786         as appropriate.
9787         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
9788
9789         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
9790         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
9791         (gst_element_remove_pad): Handle ghost pads as well.
9792         (gst_element_remove_ghost_pad): Deprecated (could be removed,
9793         depending on API-stability needs).
9794
9795 2004-02-05  Andy Wingo  <wingo@pobox.com>
9796
9797         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
9798         of course they're const
9799
9800 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9801
9802         * tools/Makefile.am:
9803         * tools/gst-feedback:
9804         * tools/gst-feedback-0.7:
9805           make gst-feedback versioned too for consistency
9806
9807 2004-02-11  David Schleef  <ds@schleef.org>
9808
9809         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9810         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
9811
9812 2004-02-10  Julien MOUTTE <julien@moutte.net>
9813
9814         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
9815         the structure does not contain a valid tag list. Adding a safety check
9816         to remove a noisy warning in that case.
9817
9818 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9819
9820         * gst/gst.c: fix name to be in line with others
9821
9822 2004-02-09  Julien MOUTTE <julien@moutte.net>
9823
9824         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
9825         not shout that loud when len is 0. Just return 0 silently.
9826
9827 2004-02-09  Julien MOUTTE  <julien@moutte.net>
9828
9829         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
9830         because data_unref has one and I prefer the debug to be symetric.
9831         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
9832         were refed when added to the queue and unrefed only once when the queue
9833         was flushed. Now the flush handler unref the buffers two times : first
9834         unref for the ref added when pushing in the queue's tail and second
9835         unref to destroy the flushed buffer.
9836
9837 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9838
9839         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
9840
9841 2004-02-06  David Schleef  <ds@schleef.org>
9842
9843         * docs/random/ds/0.9-suggested-changes: Random ramblings
9844         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
9845         to int before printing.
9846         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
9847         * gst/parse/parse.l: same.  See bug #129600
9848
9849 2004-02-06  David Schleef  <ds@schleef.org>
9850
9851         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
9852         (gst_index_add_entry), (gst_index_add_associationv),
9853         (gst_index_add_association): Add gst_index_add_associationv()
9854         and clean up gst_index_add_association(). #127133
9855
9856 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9857
9858         * autogen.sh: check out common with right tag if CVS/Tag exists
9859
9860 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9861
9862         * testsuite/ghostpads/ghostpads.c: (main):
9863           fix testsuite from segfaulting
9864
9865 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9866
9867         * Makefile.am: add release target
9868         * configure.ac: bump nano to 1
9869         * docs/random/release:
9870
9871 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9872
9873         * gst/gstcaps.h:
9874         * gst/gstelement.c: (gst_element_base_class_init),
9875         (gst_element_class_set_details), (gst_element_clear_pad_caps):
9876         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9877         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
9878         (gst_real_pad_dispose):
9879         * gst/gststructure.c: (gst_structure_free),
9880         (gst_structure_from_string):
9881           put reverted patch back in
9882         * gst/gstelement.c: (gst_element_remove_pad):
9883           free explicit caps if they're set
9884         * gst/gstpad.c: (_gst_pad_default_fixate_func):
9885           copy the structure when fixating
9886
9887 2004-02-05  David Schleef  <ds@schleef.org>
9888
9889         * gst/gstmarshal.list:
9890         * gst/gstpad.c: (gst_real_pad_class_init),
9891         (_gst_real_pad_fixate_accumulator):
9892         Revert POINTER->BOXED change in signal marshaller.
9893
9894 === release 0.7.4 ===
9895                                                                                 
9896 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9897                                                                                 
9898         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
9899         * configure.ac: changed for release
9900
9901 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9902
9903         * gstreamer.spec.in:
9904           bump required version of gtk-doc
9905
9906 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9907
9908         * gst/gstcaps.h:
9909         * gst/gstelement.c: (gst_element_base_class_init),
9910         (gst_element_class_set_details), (gst_element_clear_pad_caps):
9911         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9912         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
9913         (gst_real_pad_dispose):
9914         * gst/gststructure.c: (gst_structure_free),
9915         (gst_structure_from_string):
9916           revert patch that breaks applications, reapply after release
9917           to get this fixed properly
9918
9919 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9920
9921         * gst/gsttag.c: (_gst_tag_initialize):
9922         * gst/gsttag.h:
9923           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
9924
9925 2004-02-04  David Schleef  <ds@schleef.org>
9926
9927         Fix some memleaks:
9928         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
9929         (gst_spider_plug_from_srcpad):
9930         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
9931
9932 2004-02-04  David Schleef  <ds@schleef.org>
9933
9934         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
9935         a GstRealPad before accessing its structure members.
9936
9937 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9938
9939         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
9940         (gst_clock_get_speed):
9941         * gst/gstclock.h:
9942           reset padding, remove unused fields
9943
9944 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9945
9946         * gst/autoplug/gstspideridentity.c:
9947         (gst_spider_identity_sink_loop_type_finding):
9948           use get_allowed_caps, not get_caps (fixes #132519)
9949         * gst/elements/gsttypefind.c: (stop_typefinding):
9950           use correct order when sending buffers and seeking
9951
9952 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9953
9954         * configure.ac:
9955         * gst/gstelement.h:
9956         * gst/gstpad.h:
9957         * gst/gstqueue.h:
9958           upgrade libtool CURRENT, reset padding
9959
9960 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9961
9962         * configure.ac:
9963           bump to prerelease
9964           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
9965
9966 2004-02-04  David Schleef  <ds@schleef.org>
9967
9968         * docs/random/ds/0.9-suggested-changes: random notes
9969         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
9970         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
9971         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
9972         expansion.
9973         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
9974         (gst_filesink_get_query_types): same
9975         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
9976         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
9977         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
9978         to use new GST_PTR_FORMAT.
9979         * gst/gstelement.h: deprecate function factory macros
9980         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
9981         These are our last variadic macros that can't be replaced with
9982         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
9983         attempting to deprecate gst_element_clock_wait().
9984         * gst/gstevent.h: same
9985         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9986         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
9987         * gst/gstpad.h: deprecate function factory macros similar to above.
9988
9989 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9990
9991         * configure.ac:
9992         * tools/Makefile.am:
9993         * tools/gst-run.c: (popt_callback), (hash_print_key),
9994         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
9995         (get_candidates), (main):
9996           add new source file to generate non-versioned wrapper binaries
9997           for our tools.
9998
9999 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10000
10001         * gst/gstevent.c: (_gst_event_free):
10002           actually break; inside the switch statement
10003         * gst/parse/grammar.y:
10004           fix memleak where GValues weren't unset
10005
10006 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10007
10008         * gst/gststructure.c: (gst_structure_from_string):
10009           fix huge memleak
10010         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10011         (new_entry), (gst_type_find_element_chain):
10012         * gst/gstelement.c: (gst_element_base_class_init),
10013         (gst_element_class_set_details):
10014         * gst/gstpad.c: (gst_pad_can_link_filtered):
10015           fix smaller memleaks
10016         * gst/gstpad.c: (gst_real_pad_dispose):
10017           check that explicit caps are gone
10018         * gst/gststructure.c: (gst_structure_free):
10019           actually free the structure
10020         * gst/gstelement.c: (gst_element_clear_pad_caps):
10021           unset explicit caps
10022
10023 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10024
10025         * tools/Makefile.am:
10026           use AM_CFLAGS since all the CFLAGS are the same
10027           use AM_LDFAGS
10028
10029 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10030
10031         * docs/manual/gnome.xml:
10032           expand example a little
10033         * gst/gst.c: (gst_init_with_popt_table),
10034         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
10035           make sure popt option displays are done with right textdomain
10036           use GstPoptOption type
10037         * gst/gst.h:
10038           create GstPoptOption type
10039
10040 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10041
10042         * gst/gsterror.c: (_gst_stream_errors_init):
10043         * gst/gsterror.h:
10044           adding error type for no codec
10045         * po/POTFILES.in:
10046           add gst-inspect
10047         * po/nl.po:
10048           update dutch translation
10049         * tools/gst-inspect.c: (print_element_list), (main):
10050           do proper internationalization
10051         * tools/gst-launch.c: (idle_func):
10052           remove commented out function call
10053
10054 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10055
10056         * docs/README:
10057           add some error fixing notes
10058         * docs/gst/gstreamer-sections.txt:
10059           remove double entries
10060         * docs/gst/tmpl/gstbin.sgml:
10061         * docs/gst/tmpl/gstclock.sgml:
10062           remove override
10063         * docs/gst/tmpl/gstelement.sgml:
10064         * docs/gst/tmpl/gstindex.sgml:
10065         * docs/gst/tmpl/gstobject.sgml:
10066         * docs/gst/tmpl/gstpadtemplate.sgml:
10067         * docs/gst/tmpl/gstreamer-unused.sgml:
10068         * docs/gst/tmpl/gsttag.sgml:
10069         * docs/gst/tmpl/gstthread.sgml:
10070         * docs/gst/tmpl/gstxml.sgml:
10071         * gst/gsttag.h:
10072           sync header prototypes with c decls
10073         * gst/gsttaginterface.c:
10074           fix doc headers
10075
10076 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10077
10078         * gst/parse/Makefile.am:
10079         * gst/gstobject.h:
10080           get rid of gstmarshal.h dependency. It's not needed.
10081         * gst/gst.h:
10082         * gst/elements/gstfakesink.c:
10083         * gst/elements/gstfakesrc.c:
10084         * gst/elements/gstidentity.c:
10085         * gst/gstbin.c:
10086         * gst/gstelement.c:
10087         * gst/gstindex.c:
10088         * gst/gstobject.c:
10089         * gst/gstpad.c:
10090         * gst/gstthread.c:
10091         * gst/gstxml.c:
10092         * libs/gst/control/dparam.c:
10093         * libs/gst/control/dparammanager.c:
10094           include gstmarshal.h.
10095         Fixes #132045
10096
10097 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10098
10099         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10100         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
10101         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
10102         * gst/elements/gstfilesrc.h:
10103           don't ref the filesrc when creating mmaped buffers. Don't keep a
10104           list of not-yet-destroyed buffers.
10105         * gst/gstbuffer.h:
10106           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
10107
10108 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10109
10110         * gst/gst.c: (init_pre):
10111           remove textdomain
10112
10113 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10114
10115         * docs/pwg/advanced-events.xml:
10116         * docs/pwg/advanced-scheduling.xml:
10117         * docs/pwg/intro-basics.xml:
10118         * docs/pwg/other-manager.xml:
10119         * docs/pwg/other-nton.xml:
10120         * docs/pwg/other-ntoone.xml:
10121         * docs/pwg/other-oneton.xml:
10122         * docs/pwg/pwg.xml:
10123           All sort of documentation... Forgot what. Point is that I want this
10124           in before I leave. The 'other-*' will be the last section and will
10125           explain issues specific to these type of elements.
10126
10127 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10128
10129         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10130         (gst_filesrc_get_read):
10131           set all the values on buffers that we can
10132
10133 2004-02-02  David Schleef  <ds@schleef.org>
10134
10135         Change usage of isblah() to g_ascii_isblah() to be more locale
10136         independent.  (#133076)
10137         * gst/gsturi.c: (gst_uri_protocol_check_internal):
10138         * gst/gstutils.c:
10139         * gst/parse/parse.l:
10140
10141 2004-02-02  Jon Trowbridge  <trow@gnu.org>
10142
10143         reviewed by: David Schleef  <ds@schleef.org>
10144
10145         Fix memory leaks:
10146         * gst/gstcaps.c: (gst_caps_to_string):
10147         * gst/registries/gstxmlregistry.c:
10148         (gst_xml_registry_add_path_list_func),
10149         (gst_xml_registry_parse_padtemplate):
10150
10151 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10152
10153         * gst/gstelement.c: (gst_element_default_error):
10154           suffix error messages with period
10155
10156 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10157
10158         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10159         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10160         * gst/gsterror.c: (gst_error_get_message):
10161           Suffix with dots
10162         * po/fr.po:
10163         * po/nl.po:
10164           Update translation files
10165
10166 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10167
10168         * gst/autoplug/gstspideridentity.c:
10169         (gst_spider_identity_sink_loop_type_finding):
10170         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10171         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10172         (gst_filesink_close_file), (gst_filesink_handle_event),
10173         (gst_filesink_chain):
10174         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10175         (gst_filesrc_get_read), (gst_filesrc_open_file):
10176         * gst/elements/gstidentity.c: (gst_identity_chain):
10177         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10178         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10179         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10180         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10181         * gst/gsterror.c: (_gst_core_errors_init),
10182         (_gst_library_errors_init), (_gst_resource_errors_init),
10183         (_gst_stream_errors_init), (gst_error_get_message):
10184         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10185         (gst_pad_recover_caps_error), (gst_pad_pull):
10186         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10187         * gst/schedulers/gstbasicscheduler.c:
10188         (gst_basic_scheduler_chainhandler_proxy),
10189         (gst_basic_scheduler_gethandler_proxy),
10190         (gst_basic_scheduler_cothreaded_chain):
10191           Suffix error messages with period.
10192           Use (NULL) instead of NULL
10193
10194 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10195
10196         * docs/gst/tmpl/gstelement.sgml:
10197         * docs/gst/tmpl/gstxml.sgml:
10198         * gst/gstelement.c: (gst_element_error_full):
10199           add element path to error
10200
10201 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10202
10203         * docs/random/mimetypes:
10204           update raw int/float info
10205         * gst/gsttag.c: (_gst_tag_initialize):
10206         * gst/gsttag.h:
10207           add GST_TAG_ENCODER
10208
10209 2004-01-30  David Schleef  <ds@schleef.org>
10210
10211         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
10212           missing (#132991)
10213
10214 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
10215
10216         reviewed by Benjamin Otte 
10217           parts of the patch submitted in bug #113913
10218
10219         * configure.ac:
10220           use AC_C_INLINE. Use = instead of == with test
10221         * examples/plugins/example.c:
10222         * gst/autoplug/gstspideridentity.c:
10223         * gst/elements/gstfdsrc.c:
10224         * gst/elements/gstfilesrc.c:
10225         * gst/elements/gstidentity.c:
10226         * gst/elements/gstmultidisksrc.c:
10227         * gst/elements/gststatistics.c:
10228         * gst/gstelement.c:
10229         * gst/gstobject.c:
10230         * gst/gstpad.c:
10231         * gst/gstpipeline.c:
10232         * gst/gstthread.c:
10233           don't end enums with a comma
10234         * gst/gstindex.c: (gst_index_compare_func):
10235           do explicit casting to gint
10236         * gst/gsttrace.c: (gst_trace_text_flush):
10237           #define strsize as a macro
10238
10239 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10240
10241         * docs/README:
10242         * docs/gst/gstreamer-docs.sgml:
10243         * docs/gst/gstreamer-sections.txt:
10244         * docs/gst/tmpl/gstelement.sgml:
10245         * docs/gst/tmpl/gsterror.sgml:
10246         * docs/gst/tmpl/gstinterface.sgml:
10247         * docs/gst/tmpl/gstreamer-unused.sgml:
10248         * docs/gst/tmpl/gststructure.sgml:
10249         * docs/gst/tmpl/gsttag.sgml:
10250         * docs/gst/tmpl/gsttaginterface.sgml:
10251         * docs/gst/tmpl/gstvalue.sgml:
10252         make sure all API ends up in the built docs
10253         * gst/gstinterface.c:
10254         * gst/gststructure.c: (gst_structure_id_set_value),
10255         (gst_structure_set_value), (gst_structure_id_get_value):
10256         * gst/gststructure.h:
10257         * gst/gstvalue.h:
10258         sync .h with .c declarations
10259
10260 2004-01-30  Julien Moutte  <julien@moutte.net>
10261
10262         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
10263         Ronald will fix riffread.
10264
10265 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10266
10267         * docs/pwg/advanced-interfaces.xml:
10268           Added tuner interface docs.
10269
10270 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10271
10272         * docs/random/mimetypes:
10273           correct Theora information
10274         * gst/gstelement.h:
10275           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
10276
10277 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10278
10279         * gst/gstelement.c: (gst_element_error_full):
10280         * gst/gstelement.h:
10281           GST_ELEMENT_ERROR in enum -> _IN_ERROR
10282
10283 2004-01-29  Julien MOUTTE  <julien@moutte.net>
10284
10285         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10286         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
10287         again and even before DISCONT.
10288         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
10289         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
10290         bytestream so that it's not stopping to fill the bytestream if events
10291         different than EOS or DISCONT are received. Instead it process them so
10292         that they go downstream.
10293
10294 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10295
10296         * docs/gst/tmpl/gstelement.sgml:
10297         * docs/gst/tmpl/gstreamer-unused.sgml:
10298         * docs/gst/tmpl/gstxml.sgml:
10299         * gst/autoplug/gstspideridentity.c:
10300         (gst_spider_identity_sink_loop_type_finding):
10301         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10302         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10303         (gst_filesink_close_file), (gst_filesink_handle_event),
10304         (gst_filesink_chain):
10305         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10306         (gst_filesrc_get_read), (gst_filesrc_open_file):
10307         * gst/elements/gstidentity.c: (gst_identity_chain):
10308         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10309         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10310         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10311         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10312         * gst/gstelement.h:
10313         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10314         (gst_pad_recover_caps_error), (gst_pad_pull):
10315         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10316         * gst/schedulers/gstbasicscheduler.c:
10317         (gst_basic_scheduler_chainhandler_proxy),
10318         (gst_basic_scheduler_gethandler_proxy),
10319         (gst_basic_scheduler_cothreaded_chain):
10320           gst_element_error -> GST_ELEMENT_ERROR
10321
10322 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10323
10324         * docs/Makefile.am:
10325         * docs/gst/tmpl/gstelement.sgml:
10326         * docs/gst/tmpl/gstxml.sgml:
10327         * docs/manuals.mak:
10328         * docs/pwg/advanced-request.xml:
10329         * docs/pwg/advanced-scheduling.xml:
10330         * docs/pwg/advanced-tagging.xml:
10331           fix non-validating docbook using CDATA
10332           make sure make check-local gets run first to check if it validates
10333
10334 2004-01-29  Julien MOUTTE <julien@moutte.net>
10335
10336         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
10337         handling (up and downstream).
10338         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
10339         my_filter thing.
10340
10341 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10342
10343         * docs/pwg/advanced-tagging.xml:
10344           Add docs about tag writing.
10345
10346 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10347
10348         * docs/pwg/advanced-tagging.xml:
10349           Add a part about tag reading and application signalling... Tag
10350           writing still needs to be documented.
10351         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10352           We can set file locations in READY, too.
10353
10354 2004-01-29  Julien MOUTTE <julien@moutte.net>
10355
10356         * docs/random/ds/element-checklist: Adding some notes about src
10357         events.
10358
10359 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10360
10361         * docs/random/mimetypes:
10362           Update docs to point to correct elements for various mimetypes, and
10363           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
10364           <stephane.loeuillet@tiscali.fr>.
10365
10366 2004-01-28  David Schleef  <ds@schleef.org>
10367
10368         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
10369
10370 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10371
10372         * docs/random/mimetypes:
10373           update docs for audio/x-raw-float. Add "buffer-frames=0 means
10374           undefined"
10375         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10376           make it only work in NULL.
10377         * gst/gstcaps.c:
10378           don't posion NULL caps
10379         * gst/gstelement.c: (gst_element_set_time):
10380           add debugging statement
10381         * gst/gstelement.c: (gst_element_emit_found_tag),
10382         (gst_element_found_tag_func), (gst_element_found_tags):
10383         * gst/gstelement.h:
10384           These functions take const taglists
10385         * gst/gstpad.c: (gst_pad_proxy_getcaps):
10386           fix memleak
10387         * gst/gstpad.c: (gst_pad_event_default):
10388           make more effort on handling discont and clocks, g_warn if everything
10389           fails
10390         * gst/gststructure.c: (gst_structure_remove_fields),
10391         (gst_structure_remove_fields_valist):
10392         * gst/gststructure.h:
10393           add gst_structure_remove_fields(_valist)
10394         * gst/gsttag.c:
10395           fix doc glitch
10396
10397 2004-01-28  David Schleef  <ds@schleef.org>
10398
10399         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
10400         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
10401         Fix memory leakage of gst_caps_to_string().
10402
10403         Use GST_PTR_FORMAT instead of gst_caps_to_string():
10404         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
10405         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
10406         (gst_spider_identity_sink_loop_type_finding):
10407         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10408         (find_suggest):
10409         * gst/gstpad.c: (gst_pad_try_relink_filtered),
10410         (gst_pad_set_explicit_caps):
10411         * gst/parse/grammar.y:
10412
10413 2004-01-28  David Schleef  <ds@schleef.org>
10414
10415         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
10416         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
10417         * docs/random/ds/0.9-suggested-changes: Notes from Company.
10418         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
10419         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
10420         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
10421         (gst_debug_log_default), (_gst_info_printf_extension),
10422         (_gst_info_printf_extension_arginfo):  Add printf extension.
10423         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
10424         * gst/gststructure.c: (gst_structure_to_string),
10425         (_gst_structure_parse_value): Use gst_value_deserialize() and
10426         remove old code.
10427         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
10428         (gst_value_deserialize_boolean), (gst_strtoi),
10429         (gst_value_deserialize_int), (gst_value_deserialize_double),
10430         (gst_value_deserialize_string), (gst_value_deserialize): Implement
10431         a bunch of deserialize functions and gst_value_deserialize.
10432         * gst/gstvalue.h: er, _de_serialize, not unserialize
10433         * testsuite/caps/string-conversions.c: (main): We don't currently
10434         handle (float) in caps, so convert these to (double).
10435         * testsuite/debug/Makefile.am: Add new test for the printf extension
10436         * testsuite/debug/printf_extension.c: (main): same
10437
10438 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10439
10440         * docs/random/company/time:
10441           Add some docs about clocking and time
10442
10443 2004-01-28  Julien MOUTTE <julien@moutte.net>
10444
10445         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
10446
10447 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10448
10449         * docs/pwg/advanced-clock.xml:
10450         * docs/pwg/advanced-dparams.xml:
10451         * docs/pwg/advanced-events.xml:
10452         * docs/pwg/advanced-interfaces.xml:
10453         * docs/pwg/advanced-midi.xml:
10454         * docs/pwg/advanced-request.xml:
10455         * docs/pwg/advanced-scheduling.xml:
10456         * docs/pwg/advanced-tagging.xml:
10457         * docs/pwg/advanced-types.xml:
10458         * docs/pwg/appendix-checklist.xml:
10459         * docs/pwg/building-boiler.xml:
10460         * docs/pwg/building-chainfn.xml:
10461         * docs/pwg/building-filterfactory.xml:
10462         * docs/pwg/building-pads.xml:
10463         * docs/pwg/building-props.xml:
10464         * docs/pwg/building-signals.xml:
10465         * docs/pwg/building-state.xml:
10466         * docs/pwg/building-testapp.xml:
10467         * docs/pwg/intro-basics.xml:
10468         * docs/pwg/intro-preface.xml:
10469         * docs/pwg/other-autoplugger.xml:
10470         * docs/pwg/other-sink.xml:
10471         * docs/pwg/other-source.xml:
10472         * docs/pwg/titlepage.xml:
10473           fix up id's
10474
10475 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10476
10477         * docs/95NonPath:
10478         * docs/HACKING:
10479         * docs/README:
10480         * docs/building-the-docs-on-debian:
10481           collect relevant bits of doc info
10482
10483 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10484
10485         * docs/pwg/advanced_tagging.xml:
10486           Half-assed commit so Thomas can re-arrange document IDs here to be
10487           consistent, too.
10488
10489 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10490
10491         * docs/manual/autoplugging.xml:
10492         * docs/manual/bins-api.xml:
10493         * docs/manual/bins.xml:
10494         * docs/manual/buffers-api.xml:
10495         * docs/manual/buffers.xml:
10496         * docs/manual/clocks.xml:
10497         * docs/manual/components.xml:
10498         * docs/manual/cothreads.xml:
10499         * docs/manual/debugging.xml:
10500         * docs/manual/dparams-app.xml:
10501         * docs/manual/dynamic.xml:
10502         * docs/manual/elements-api.xml:
10503         * docs/manual/elements.xml:
10504         * docs/manual/factories.xml:
10505         * docs/manual/gnome.xml:
10506         * docs/manual/goals.xml:
10507         * docs/manual/helloworld.xml:
10508         * docs/manual/helloworld2.xml:
10509         * docs/manual/init-api.xml:
10510         * docs/manual/intro.xml:
10511         * docs/manual/links-api.xml:
10512         * docs/manual/links.xml:
10513         * docs/manual/manual.xml:
10514         * docs/manual/motivation.xml:
10515         * docs/manual/pads-api.xml:
10516         * docs/manual/pads.xml:
10517         * docs/manual/plugins-api.xml:
10518         * docs/manual/plugins.xml:
10519         * docs/manual/programs.xml:
10520         * docs/manual/queues.xml:
10521         * docs/manual/quotes.xml:
10522         * docs/manual/schedulers.xml:
10523         * docs/manual/states-api.xml:
10524         * docs/manual/states.xml:
10525         * docs/manual/threads.xml:
10526         * docs/manual/typedetection.xml:
10527         * docs/manual/xml.xml:
10528           use chapter, part, section or misc as id starts for all bits
10529
10530 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10531
10532         * docs/gst/gstreamer-sections.txt:
10533           Fix up TITLE of the sections
10534
10535 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10536
10537         * docs/pwg/advanced_interfaces.xml:
10538           Add documentation on propertyprobing.
10539         * docs/pwg/advanced_events.xml:
10540         * docs/pwg/advanced_tagging.xml:
10541         * docs/pwg/building_boiler.xml:
10542         * docs/pwg/building_filterfactory.xml:
10543         * docs/pwg/pwg.xml:
10544           Move filterfactory and tagging into their own chapter, add a chapter
10545           on events. all these are empty placeholders that will be filled in
10546           some day.
10547
10548 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10549
10550         * docs/pwg/advanced_interfaces.xml:
10551           Docs for mixer interface. Also a check for website uploading.
10552
10553 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10554
10555         * docs/HACKING:
10556         * docs/Makefile.am:
10557         * docs/faq/Makefile.am:
10558         * docs/gst/Makefile.am:
10559         * docs/gst/tmpl/gstelement.sgml:
10560         * docs/gst/tmpl/gstplugin.sgml:
10561         * docs/gst/tmpl/gstreamer-unused.sgml:
10562         * docs/libs/Makefile.am:
10563         * docs/manual/Makefile.am:
10564         * docs/manuals.mak:
10565         * docs/pwg/Makefile.am:
10566         * docs/upload.mak:
10567           Separate out upload target and make it similar for
10568           both docbook and gtk-doc docs
10569
10570 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10571
10572         * docs/manuals.mak:
10573           Fix upload target to work with freedesktop
10574
10575 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10576
10577         * docs/pwg/advanced_types.xml:
10578           Add notes on creating your own types.
10579         * docs/pwg/building_boiler.xml:
10580         * docs/pwg/building_pads.xml:
10581         * docs/pwg/building_state.xml:
10582           Add some stuff about how to retrieve values from structures, how
10583           that relates to types and change layout slightly again to be almost
10584           perfect.
10585
10586 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10587
10588         * docs/pwg/advanced_dparams.xml:
10589         * docs/pwg/advanced_scheduling.xml:
10590           Change index layout slightly.
10591
10592 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10593
10594         * docs/pwg/advanced_clock.xml:
10595         * docs/pwg/advanced_interfaces.xml:
10596         * docs/pwg/advanced_midi.xml:
10597           General placeholders for now.
10598         * docs/pwg/advanced_request.xml:
10599           Explanation about sometimes and request pads.
10600         * docs/pwg/advanced_scheduling.xml:
10601           Concept of bytestream, loopfunctions and schedulers.
10602         * docs/pwg/building_boiler.xml:
10603           Add something about plugin-init.
10604
10605 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10606
10607         * docs/pwg/building_pads.xml:
10608           Fix broken docbook
10609
10610 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10611
10612         * docs/pwg/advanced_interfaces.xml:
10613         * docs/pwg/pwg.xml:
10614           Add as a placeholder for future filling-in.
10615         * docs/pwg/basics_autoplugging.xml:
10616         * docs/pwg/basics_buffers.xml:
10617         * docs/pwg/basics_elements.xml:
10618         * docs/pwg/basics_events.xml:
10619         * docs/pwg/basics_plugins.xml:
10620         * docs/pwg/basics_types.xml:
10621           Remove, because unused (this is all in intro_basics.xml).
10622         * docs/pwg/building_signals.xml:
10623           Short intro to signals + reference to GObject docs - we really
10624           shouldn't go into these sort of things to deply because we don't
10625           use them that extensively anyway.
10626         * docs/pwg/building_state.xml:
10627           Explanation of states. Benjamin, please check.
10628         * docs/pwg/building_testapp.xml:
10629           Put everything in one page - putting only a few lines of content
10630           per page doesn't really make sense.
10631
10632           Time to get into the advanced topics. ;).
10633
10634 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10635
10636         * docs/pwg/advanced_types.xml:
10637           Finish documenting the current state of mimetypes.
10638         * docs/pwg/building_boiler.xml:
10639         * docs/pwg/building_chainfn.xml:
10640         * docs/pwg/building_pads.xml:
10641         * docs/pwg/building_props.xml:
10642         * docs/pwg/building_testapp.xml:
10643           Start documenting the "how to build a simple audio filter" part
10644           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
10645           states and (maybe?) a short introduction to capsnego in the chapter
10646           on pads (building_pads.xml). Capsnego should probably be explained
10647           fully in advanced_capsnego.xml or so.
10648
10649 2004-01-26  David Schleef  <ds@schleef.org>
10650
10651         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
10652         * gst/gstpad.h: Add new function to allow element to (somewhat)
10653         specify non-fixed caps on a pad.
10654         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
10655         that I added a few weeks ago.
10656
10657 2004-01-26  David Schleef  <ds@schleef.org>
10658
10659         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
10660           making try_set_caps() work with non-fixed caps.
10661
10662 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10663
10664         * docs/pwg/advanced_types.xml:
10665         * docs/pwg/intro_basics.xml:
10666         * docs/pwg/intro_preface.xml:
10667         * docs/pwg/pwg.xml:
10668         * docs/pwg/titlepage.xml:
10669           First try to resurrect the PWG. I'm halfway integrating the mimetypes
10670           in here (docs/random/mimetypes), and will from there on work on both
10671           updating outdated parts and adding missing parts.
10672           That doesn't mean I'll fix it completely, but I'll try at least. ;).
10673
10674 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10675
10676         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
10677           policy is set
10678
10679 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10680
10681         * gst/gstelement.h:
10682           remove gst_element_factory_get_version. It doesn't exist anymore.
10683         * gst/gstplugin.c:
10684         * gst/gstplugin.h:
10685           remove gst_plugin_set_name and change gst_plugin_get_longname to
10686           gst_plugin_get_description to match code.
10687         * gst/gsterror.h:
10688           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
10689         * gst/gstpad.c: (gst_pad_try_set_caps):
10690           make it work with nonfixed caps.
10691           Note that even in the nonfixed case the link function of the pad
10692           that tries to set caps isn't called.
10693
10694 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10695
10696         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10697           fix bug where buffer was not assembled correctly
10698         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
10699           silence by default
10700         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10701           only seek if there's no more buffers that could work without seeking
10702
10703 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10704
10705         * gst/gsttag.c: (_gst_tag_initialize):
10706         * gst/gsttag.h:
10707           Add application tag (for encoding/muxing app).
10708
10709 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10710
10711         * autogen.sh:
10712           make autopoint force, and libtoolize not copy
10713         * common/m4/as-docbook.m4:
10714           added docbook xml catalog setup check
10715         * common/m4/gst-doc.m4:
10716           use docbook check
10717
10718 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10719
10720         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10721         * gst/gsttag.h:
10722           add GstTagFlag
10723
10724 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10725
10726         * docs/gst/gstreamer-sections.txt:
10727         * docs/gst/tmpl/gst.sgml:
10728         * docs/gst/tmpl/gstbuffer.sgml:
10729         * docs/gst/tmpl/gstclock.sgml:
10730         * docs/gst/tmpl/gstelement.sgml:
10731         * docs/gst/tmpl/gstreamer-unused.sgml:
10732         * docs/gst/tmpl/gstxml.sgml:
10733           sync latest API changes to docs
10734
10735 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10736
10737         * gst/gstpluginfeature.c:
10738           fix doc snippet
10739         * tools/gst-inspect.c: (print_element_list):
10740           fix output of typefind
10741           add GPL header
10742         * tools/gst-launch.c:
10743           add GPL header
10744
10745 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10746
10747         * gst/elements/Makefile.am:
10748         * gst/elements/gstelements.c:
10749         * gst/elements/gsttypefindelement.c:
10750         * gst/elements/gsttypefindelement.h:
10751         * po/POTFILES.in:
10752         * po/fr.po:
10753         * po/nl.po:
10754           renamed gsttypefindelement to gsttypefind, conserving CVS history
10755
10756 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10757
10758         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
10759         * gst/gsttag.h:
10760           add some tags used in ogg as well
10761           fix _ in replaygain tags
10762
10763 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10764
10765         * gst/gsterror.h:
10766           fix wrong GST_LIBRARY_ERROR_ENCODE addition
10767
10768 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10769
10770         * gst/gstelement.c: (gst_element_error_full):
10771         * gst/gstelement.h:
10772           change _extended to _full
10773
10774 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10775
10776         reviewed by: <delete if not using a buddy>
10777
10778         * docs/gst/tmpl/gst.sgml:
10779         * docs/gst/tmpl/gstbuffer.sgml:
10780         * docs/gst/tmpl/gstclock.sgml:
10781         * docs/gst/tmpl/gstelement.sgml:
10782         * docs/gst/tmpl/gstreamer-unused.sgml:
10783         * docs/gst/tmpl/gstxml.sgml:
10784         * gst/gstelement.c: (gst_element_error_full):
10785         * gst/gstelement.h:
10786
10787 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10788
10789         * gst/gstelement.h: fix _gst_element_error_printf prototype
10790
10791 2004-01-20  David Schleef  <ds@schleef.org>
10792
10793         * gst/gststructure.c: (gst_structure_to_string):
10794         Convert function to use gst_value_serialize().
10795         * gst/gstvalue.c: (gst_value_serialize_list),
10796         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
10797         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
10798         (gst_value_serialize_int), (gst_value_serialize_double),
10799         (gst_string_wrap), (gst_value_serialize_string),
10800         (gst_value_serialize), (gst_value_deserialize):
10801         * gst/gstvalue.h:
10802         Add implementations for serialize.
10803
10804 2004-01-20  Julien MOUTTE  <julien@moutte.net>
10805
10806         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
10807         we want to keep that one in the future or change xvidenc.c to use 
10808         another error.
10809
10810 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10811
10812         * gst/gstelement.c: (_gst_element_error_printf):
10813         * gst/gstelement.h:
10814           privatise function
10815
10816 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10817
10818         * docs/random/error:
10819           doc explaining error system
10820         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10821           cleanup
10822
10823 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10824
10825         * gst/gst-i18n-app.h:
10826         * gst/gst-i18n-lib.h:
10827           remove inclusion of config.h
10828         * po/POTFILES.in:
10829         * po/nl.po:
10830           add gst/gstelement.c
10831
10832 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10833
10834         * po/nl.po: updated Dutch translation
10835
10836 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10837
10838         * gst/gsterror.c: (_gst_core_errors_init),
10839         (_gst_library_errors_init), (_gst_resource_errors_init),
10840         (_gst_stream_errors_init):
10841         remove ending punctuation dots
10842
10843 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10844
10845         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10846         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
10847         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10848         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10849         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10850         use GST_ERROR_SYSTEM
10851
10852 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10853
10854         * gst/gstelement.c: (gst_element_error_printf),
10855         (gst_element_error_extended):
10856         * gst/gstelement.h:
10857           add a helper printf function so we can have NULL values passed.
10858
10859 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10860
10861         * gst/gstelement.h:
10862           add G_STMT macros to gst_element_error, which isn't strictly
10863           necessary but people tell me to anyway.
10864
10865 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10866
10867         * gst/Makefile.am:
10868         * gst/autoplug/gstspideridentity.c:
10869         (gst_spider_identity_sink_loop_type_finding):
10870         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10871         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10872         (gst_filesink_close_file), (gst_filesink_handle_event),
10873         (gst_filesink_chain):
10874         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
10875         (gst_filesrc_map_region), (gst_filesrc_get_read),
10876         (gst_filesrc_open_file):
10877         * gst/elements/gstidentity.c: (gst_identity_chain):
10878         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10879         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10880         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10881         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
10882         * gst/gst.h:
10883         * gst/gst_private.h:
10884         * gst/gstelement.c: (gst_element_class_init),
10885         (gst_element_default_error), (gst_element_error_func),
10886         (gst_element_error_extended):
10887         * gst/gstelement.h:
10888         * gst/gsterror.c: (_gst_core_errors_init),
10889         (_gst_library_errors_init), (_gst_resource_errors_init),
10890         (_gst_stream_errors_init), (gst_error_get_message):
10891         * gst/gsterror.h:
10892         * gst/gstinfo.c: (_gst_debug_init):
10893         * gst/gstmarshal.list:
10894         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10895         (gst_pad_recover_caps_error), (gst_pad_pull):
10896         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10897         * gst/schedulers/gstbasicscheduler.c:
10898         (gst_basic_scheduler_chainhandler_proxy),
10899         (gst_basic_scheduler_gethandler_proxy),
10900         (gst_basic_scheduler_cothreaded_chain):
10901         * po/POTFILES.in:
10902         * po/fr.po:
10903         * po/nl.po:
10904           change error signal
10905           add error categories
10906
10907 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
10908
10909         * gst/gsttag.c: (_gst_tag_initialize):
10910         * gst/gsttag.h:
10911         Add replaygain tag
10912
10913 2004-01-18  Colin Walters  <walters@verbum.org>
10914
10915         * examples/retag/retag.c: Call gst_init before processing
10916         program args.  Add g_assert to _link_many call.
10917
10918 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10919
10920         * gst/gstpad.c: (gst_pad_alloc_buffer):
10921           Return a newly allocated buffer when the pad has no peer.
10922
10923 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10924
10925         * gst/gstclock.c: (gst_clock_get_time):
10926           make it compile with gcc 2.95 again.
10927           Patch by Scott Wheeler
10928
10929 2004-01-15  David Schleef  <ds@schleef.org>
10930
10931         * gst/gstcaps.h:
10932         Added gst_caps_is_simple() macro.
10933         * testsuite/caps/caps.c: (test1):
10934         * testsuite/caps/intersect2.c: (main):
10935         * testsuite/caps/intersection.c: (main):
10936         Fixes to make 'make check' work again after removing
10937         gst_caps_is_chained().
10938
10939 2004-01-15  Leif Johnson <leif@ambient.2y.net>
10940
10941         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
10942         and additions to the MIDI document.
10943
10944 2004-01-15  David Schleef  <ds@schleef.org>
10945
10946         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
10947         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
10948         of GST_RPAD_, since we don't know if it's a real or ghost pad.
10949
10950 2004-01-15  David Schleef  <ds@schleef.org>
10951
10952         * gst/gstqueue.c:
10953         * gst/gstqueue.h:
10954         Fix the spelling of "treshold" and make min_threshold actually
10955         affect the queue.
10956
10957 2004-01-15  David Schleef  <ds@schleef.org>
10958
10959         * gst/gstcaps.c:
10960         Add lots of documentation.
10961         * gst/gstcaps.h:
10962         Deprecate a few functions.
10963         * gst/gstpad.c:
10964         Removed use of deprecated functions.
10965
10966 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10967
10968         * gst/gstpad.c: (gst_pad_is_linked):
10969         * gst/gstpad.h:
10970           implement gst_pad_is_linked
10971         * gst/gstelement.h:
10972           reserve space for initiate_state_change
10973
10974 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10975
10976         * gst/autoplug/gstspideridentity.c:
10977         (gst_spider_identity_sink_loop_type_finding):
10978           break infinite loop by just returning instead of looping
10979         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
10980           set event time difference correctly. Set it to 1 second instead
10981           of 100ms to be more tolerant
10982         * gst/gstelement.c: (gst_element_set_time):
10983           add debugging output
10984
10985 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10986
10987         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
10988           query if buffers are inside the pool, ignore events
10989
10990 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10991
10992         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
10993         (gst_clock_set_speed), (gst_clock_set_active),
10994         (gst_clock_is_active), (gst_clock_reset),
10995         (gst_clock_handle_discont):
10996         * gst/gstclock.h:
10997           deprecate old interface and disable functions that aren't in use
10998           anymore.
10999         * gst/gstelement.h:
11000         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
11001         (gst_element_set_time), (gst_element_adjust_time):
11002           add concept of "element time" and functions to get/set this time.
11003         * gst/gstelement.c: (gst_element_change_state):
11004           update element time correctly.
11005         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11006           This is a debug message, not a g_critical.
11007         * gst/gstpad.c: (gst_pad_event_default):
11008           handle discontinuous events right with element time.
11009         * gst/gstscheduler.c: (gst_scheduler_state_transition):
11010           update to clocking fixes.
11011           set clocks on elements in READY=>PAUSED. The old behaviour caused
11012           a wrong element time on the first element that started playing.
11013         * gst/schedulers/gstbasicscheduler.c:
11014         (gst_basic_scheduler_class_init):
11015         * gst/schedulers/gstoptimalscheduler.c:
11016         (gst_opt_scheduler_class_init):
11017           remove code that just implements the default behaviour.
11018         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
11019           update to use new clocking functions
11020         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
11021         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
11022           update to test new element time.
11023         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
11024           use _get_allowed_caps instead of _get_caps. This catches filtered
11025           caps correctly.
11026         * testsuite/debug/commandline.c:
11027           update for new GST_DEBUG syntax.
11028         * testsuite/threads/Makefile.am:
11029           disable a test that only works sometimes.
11030
11031 2004-01-13  Julien MOUTTE <julien@moutte.net>
11032
11033         * po/LINGUAS: Adding fr.
11034         * po/fr.po: Adding french translation.
11035
11036 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11037
11038         * gst/parse/grammar.y:
11039         * po/POTFILES.in:
11040         * po/nl.po:
11041         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
11042           translate parsing error messages
11043
11044 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11045
11046         * po/POTFILES.in: adding gst-launch
11047         * po/nl.po: updated translation, all 99 strings translated
11048         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
11049         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
11050           fix strings for translation
11051
11052 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11053
11054         * gst/gst.c:
11055           - capitalize beginnings of popt options
11056           - fix strings for translation
11057           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
11058
11059 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11060
11061         * po/README: add some notes on how to update translations
11062
11063 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11064
11065         * ABOUT-NLS: removed, is autogenerated from autopoint
11066         * autogen.sh: add autopoint stuff
11067         * configure.ac: fix up gettext stuff
11068         * gst/Makefile.am: add i18n headers to noinst_HEADERS
11069         * gst/elements/gsttypefindelement.c: add header include
11070         * gst/gettext.h: add header, copy from system-installed header
11071         * gst/gst-i18n-app.h: to be included by each app having translations
11072         * gst/gst-i18n-lib.h: to be included by each lib having translations
11073         * gst/gst.c: (init_pre): fix up gettext calls
11074         * gst/gst_private.h: remove i18n stuff, moving to separate headers
11075         * po/LINGUAS: the new way to specify translations present
11076         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
11077         * po/Makevars: the variables filled in for GStreamer
11078         * po/POTFILES.in: added new files with translations
11079         * po/de.po: has new strings
11080         * po/nl.po: readded, has new strings
11081
11082 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11083
11084         * gst/gsttag.c: fix some strings marked for translation
11085
11086 2004-01-13  Iain <iain@prettypeople.org>
11087
11088         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
11089         group when we add an element to it, cos we unref it when we remove one
11090
11091 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11092
11093         * testsuite/debug/commandline.c: (debug_not_reached):
11094         * testsuite/debug/output.c: (check_message):
11095           fix testsuite
11096
11097 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11098
11099         * examples/cutter/.cvsignore:
11100         * examples/helloworld/.cvsignore:
11101         * examples/launch/.cvsignore:
11102         * examples/manual/.cvsignore:
11103         * examples/mixer/.cvsignore:
11104         * examples/pingpong/.cvsignore:
11105         * examples/plugins/.cvsignore:
11106         * examples/queue/.cvsignore:
11107         * examples/queue2/.cvsignore:
11108         * examples/queue3/.cvsignore:
11109         * examples/queue4/.cvsignore:
11110         * examples/retag/.cvsignore:
11111         * examples/thread/.cvsignore:
11112         * examples/typefind/.cvsignore:
11113         * examples/xml/.cvsignore:
11114         * gst/.cvsignore:
11115         * gst/autoplug/.cvsignore:
11116         * gst/elements/.cvsignore:
11117         * gst/indexers/.cvsignore:
11118         * gst/parse/.cvsignore:
11119         * gst/registries/.cvsignore:
11120         * gst/schedulers/.cvsignore:
11121         * libs/gst/bytestream/.cvsignore:
11122         * libs/gst/control/.cvsignore:
11123         * libs/gst/getbits/.cvsignore:
11124         * tests/.cvsignore:
11125         * tests/bufspeed/.cvsignore:
11126         * tests/instantiate/.cvsignore:
11127         * tests/memchunk/.cvsignore:
11128         * tests/muxing/.cvsignore:
11129         * tests/sched/.cvsignore:
11130         * tests/seeking/.cvsignore:
11131         * tests/threadstate/.cvsignore:
11132         * testsuite/.cvsignore:
11133         * testsuite/caps/.cvsignore:
11134         * testsuite/cleanup/.cvsignore:
11135         * testsuite/dynparams/.cvsignore:
11136         * testsuite/plugin/.cvsignore:
11137         * tools/.cvsignore:
11138           update - this is huge, because it includes *.bb, *.bbg and *.da files
11139           which are generated for gcov.
11140
11141 2004-01-11  David Schleef  <ds@schleef.org>
11142
11143         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
11144         a function to parse integers in ways that strto[u]l() does not.
11145
11146 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11147
11148         * tools/gst-inspect.c: (print_caps):
11149           improve output of caps a bit
11150
11151 2004-01-11  David Schleef  <ds@schleef.org>
11152
11153         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
11154         inherit correct flags (READONLY and DONTKEEP).
11155
11156 2004-01-11  David Schleef  <ds@schleef.org>
11157
11158         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
11159         (gst_filesrc_map_region):
11160         * gst/gstbuffer.c: (_gst_buffer_initialize),
11161         (_gst_buffer_sub_free), (gst_buffer_default_copy),
11162         (gst_buffer_new), (gst_buffer_create_sub),
11163         (gst_buffer_is_span_fast), (gst_buffer_span):
11164         * gst/gstbuffer.h:
11165         Change GstBuffer private structure element names. (all files)
11166         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11167         (gst_queue_link):
11168         * gst/gstqueue.h:
11169         Implement getcaps/pad_link functions that handle the case where
11170         there are data in the queue.
11171
11172 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11173
11174         * gst/elements/gstbufferstore.c:
11175           initialize debugging structure correctly
11176         * gst/elements/gsttee.c: (gst_tee_set_property):
11177           g_object_notify when property was changed
11178         * gst/elements/gsttypefindelement.c:
11179         (gst_type_find_element_change_state):
11180           clear caps correctly
11181
11182 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11183
11184         * gst/gstqueue.c: (gst_queue_init):
11185           Use better defaults for when a queue should block. This
11186           gets rid of jerky playback for quite a few files.
11187           It takes more memory.
11188
11189 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11190
11191         (gst_xml_registry_parse_padtemplate):
11192           make critical message slightly more useful
11193
11194 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11195
11196         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
11197         (gst_debug_message_get), (gst_debug_log_default):
11198         * gst/gstinfo.h:
11199           Change gst_debug_log(_valist) to take a const format string.
11200           Change prototype of log function and functions using those to 
11201           take a GstDebugMessage instead of a string that requires using
11202           gst_debug_message_get.
11203
11204 2004-01-08  David Schleef  <ds@schleef.org>
11205
11206         * Makefile.am:
11207         * configure.ac:
11208         Add option --enable-gcov to build GStreamer with -fprofile-arcs
11209         and -ftest-coverage, which allows gcov to show information about
11210         testsuite coverage.
11211
11212 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11213
11214         * gst/gstutils.h:
11215           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
11216           GST_PARENT_CALL_WITH_DEFAULT
11217         * gst/elements/gstaggregator.c: 
11218         * gst/elements/gstbufferstore.c: 
11219         * gst/elements/gstfakesink.c: 
11220         * gst/elements/gstfakesrc.c: 
11221         * gst/elements/gstfdsink.c: 
11222         * gst/elements/gstfdsrc.c: 
11223         * gst/elements/gstfilesink.c: 
11224         * gst/elements/gstfilesrc.c: 
11225         * gst/elements/gstidentity.c: 
11226         * gst/elements/gstmd5sink.c: 
11227         * gst/elements/gstmultidisksrc.c:
11228         * gst/elements/gstpipefilter.c: 
11229         * gst/elements/gstshaper.c:
11230         * gst/elements/gststatistics.c:
11231         * gst/elements/gsttee.c:
11232         * gst/elements/gsttypefindelement.c:
11233           use them.
11234
11235 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11236
11237         * docs/gst/gstreamer-docs.sgml: remove props
11238         * docs/gst/gstreamer-sections.txt: remove props
11239         * docs/gst/tmpl/gst.sgml:
11240         * docs/gst/tmpl/gstbin.sgml:
11241         * docs/gst/tmpl/gstbuffer.sgml:
11242         * docs/gst/tmpl/gstcaps.sgml:
11243         * docs/gst/tmpl/gstclock.sgml:
11244         * docs/gst/tmpl/gstelement.sgml:
11245         * docs/gst/tmpl/gstindex.sgml:
11246         * docs/gst/tmpl/gstobject.sgml:
11247         * docs/gst/tmpl/gstpad.sgml:
11248         * docs/gst/tmpl/gstpadtemplate.sgml:
11249         * docs/gst/tmpl/gstreamer-unused.sgml:
11250         * docs/gst/tmpl/gstthread.sgml:
11251         * docs/gst/tmpl/gstxml.sgml:
11252           sync with code reorganization
11253
11254 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
11255
11256         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11257         Make the 'Could not find compatible pad' message more informative.
11258
11259 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11260                                                                                 
11261         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
11262           Fix for if we pass NULL as property to location.
11263         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
11264         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
11265           Fix for instantiate-test (see below).
11266         * gst/gststructure.c: (_gst_structure_parse_value):
11267           Fix compile error on gcc-2.96.
11268         * configure.ac:
11269         * tests/Makefile.am:
11270         * tests/instantiate/Makefile.am:
11271         * tests/instantiate/create.c: (create_all_elements), (main):
11272           Add a test that instantiates all elements. This makes it easy to
11273           track dead code for old API/design (like setting event functions
11274           on sink pads and so on).
11275
11276 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
11277
11278         * gst/gstcaps.c: (gst_caps_append_structure):
11279           Move the poisoning to allow a NULL structure
11280         * gst/gstevent.c: (_gst_event_free):
11281           When freeing a navigation event, free the structure
11282           also
11283
11284 2004-01-04  David Schleef  <ds@schleef.org>
11285
11286         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11287         Remove usage of gst_pad_proxy_fixate.
11288         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
11289         (gst_caps_split_one), (gst_caps_replace):
11290         Add poisoning code.
11291         * gst/gstmarshal.list:
11292         Add pointer__pointer for fixate signal
11293         * gst/gstpad.c: (gst_real_pad_class_init),
11294         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11295         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
11296         (gst_pad_set_explicit_caps), (gst_pad_template_new):
11297         Add poisoning code. Add fixate signal on RealPad. Change
11298         set_explicit_caps() to take const GstCaps, like try_set_caps().
11299         * gst/gstpad.h:
11300         * testsuite/caps/Makefile.am:
11301         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
11302
11303 2004-01-03  David Schleef  <ds@schleef.org>
11304
11305         * gst/elements/gsttypefindelement.c:
11306         (gst_type_find_element_have_type), (gst_type_find_element_init):
11307         Use gst_pad_use_explicit_caps for src pad.
11308         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
11309         before using it.
11310
11311 2004-01-03  David Schleef  <ds@schleef.org>
11312
11313         * gst/gstelement.c: (gst_element_link_pads_filtered),
11314         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
11315         that linking was successful.
11316         * gst/gstpad.c: (gst_pad_link_free),
11317         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
11318         (gst_pad_link_try), (gst_pad_link_unnegotiate),
11319         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
11320         GstPadLinkReturn correctly between functions, and don't fail
11321         when DELAYED is used (DELAYED is very important).  Better
11322         cleanup on unlinking and unnegotiation.  Should fix some spider
11323         bugs.
11324
11325 2004-01-02  David Schleef  <ds@schleef.org>
11326
11327         * gst/gstelement.c: (gst_element_class_init),
11328         (gst_element_base_class_init): ->padtemplates should be cleared
11329         in base_init, since we need to have a fresh list for every
11330         class.  (Alternately, we chould copy the list and share the
11331         actual pad templates (not the list), but that would require
11332         changing every plugin to move pad template registration from
11333         base_init to class_init.)
11334
11335 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11336
11337         * gst/gstelement.c: (gst_element_class_add_pad_template):
11338           Refuse registering a pad template if another pad template
11339           with the same name already exists (#114715).
11340
11341 2004-01-02  David Schleef  <ds@schleef.org>
11342
11343         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
11344         (gst_caps_is_equal_fixed): Add new function.
11345         * gst/gstcaps.h: ditto.
11346         * gst/gstpad.c: (gst_real_pad_class_init),
11347         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
11348         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
11349         check new caps against existing caps -- if they're the same, return
11350         OK without renegotiating.  caps-nego-failed signal fixed so that
11351         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
11352         to save an extra caps copy.  Don't complete negotiation if a pad
11353         link function returns DELAYED.
11354
11355 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11356
11357         * gst/gstpad.c: (gst_pad_try_relink_filtered):
11358           Fix wrong g_return_if_fail
11359
11360 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
11361
11362         * gst/gstbin.c: (gst_bin_class_init):
11363         Change the marshalling of element_added/element_removed
11364         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
11365         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
11366
11367 2004-01-01  David Schleef  <ds@schleef.org>
11368
11369         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11370         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
11371         (gst_pad_use_explicit_caps):
11372         * gst/gstpad.h:
11373         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
11374         to use an internal getcaps and link fuction so that negotiation
11375         always results in the explicitly set caps.
11376         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
11377         are particularly useful for decoders.
11378
11379 2003-12-31  David Schleef  <ds@schleef.org>
11380
11381         * gst/elements/gstidentity.c: (gst_identity_class_init),
11382         (gst_identity_init), (gst_identity_chain),
11383         (gst_identity_set_property), (gst_identity_get_property):
11384         * gst/elements/gstidentity.h:
11385         * gst/gstqueue.c: (gst_queue_init):
11386           Negotiation fixes.
11387
11388 2003-12-31  David Schleef  <ds@schleef.org>
11389
11390         * gst/gstcaps.c: (gst_caps_intersect),
11391         (_gst_caps_normalize_foreach), (gst_caps_normalize):
11392           Implement gst_caps_normalize().
11393         * testsuite/caps/normalisation.c: (main):
11394           Add an additional test
11395
11396 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11397
11398         * gst/gstqueue.c: (gst_queue_init):
11399           use gst_pad_proxy_getcaps()
11400
11401 2003-12-31  David Schleef  <ds@schleef.org>
11402
11403         * gst/elements/gstshaper.c: (gst_shaper_link):
11404         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11405         * gst/gstqueue.c: (gst_queue_link):
11406           Negotiation fixes.
11407
11408 2003-12-31  David Schleef  <ds@schleef.org>
11409
11410         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
11411         * gst/gstpad.h: Add functions that are useful as default pad
11412         link and fixate functions for elements.
11413
11414 2003-12-30  David Schleef  <ds@schleef.org>
11415
11416         * gst/gstpad.c: (gst_pad_link_try):
11417           Fix segfault when attempting to return to old caps
11418
11419 2003-12-29  David Schleef  <ds@schleef.org>
11420
11421         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
11422         (gst_caps_structure_simplify), (gst_caps_simplify):
11423         * gst/gstcaps.h:
11424           Add simplify function
11425         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
11426         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
11427         * gst/gstpad.h:
11428           Copy over srcnotify, sinknotify when calling old pad_link
11429           functions.  Add new is_negotiated() function.
11430         * gst/gststructure.c: (gst_structure_copy):
11431           Fix an incredibly stupid bug that should have been noticed
11432           weeks ago.  _copy() returned the argument, not the new copy.
11433
11434 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11435
11436         * gst/gstcaps.c: (gst_caps_append):
11437           add sanity checks
11438         * gst/gstcaps.h: (gst_caps_debug):
11439           remove, it doesn't exist anymore.
11440         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
11441         (gst_element_threadsafe_properties_post_run):
11442           make debugging messages not clutter up THREAD debug category
11443         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
11444         (gst_element_change_state):
11445           update to new caps API
11446         * gst/gstinterface.c: (gst_implements_interface_cast):
11447           don't put vital code in g_return_if_fail
11448         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
11449         (gst_pad_link_filtered):
11450           add pst_pad_try_link and use it.
11451         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
11452           implement correctly, deprecate first one.
11453         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
11454           add and implement.
11455         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
11456           implement.
11457         (gst_pad_get_negotiated_caps):
11458           add and implement. Make GST_PAD_CAPS call this function.
11459         (gst_pad_get_caps):
11460           remove unneeded check..
11461         (gst_pad_recover_caps_error):
11462           disable, always return FALSE.
11463         (gst_real_pad_dispose):
11464           don't free caps and appfilter anymore, they're unused.
11465         * gst/gstpad.h:
11466           Reflect changes mentioned above.
11467         * gst/gstsystemclock.c: (gst_system_clock_wait):
11468           Make 'clock is way behind' a debugging message.
11469         * gst/gstthread.c: (gst_thread_change_state):
11470           Fix debugging message
11471
11472 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11473
11474         * gst/gstinfo.h:
11475           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
11476         * docs/gst/tmpl/gstreamer-unused.sgml:
11477           removed all traces of cvs conflicts
11478
11479 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11480
11481         * configure.ac:
11482         * gst/schedulers/cothreads_compat.h:
11483         * libs/Makefile.am:
11484           remove last instances of wingo cothread usage
11485
11486 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11487
11488         * gst/gstplugin.c:
11489         * gst/gstversion.h.in:
11490         * gst/parse/grammar.y:
11491           change comment block from /** to /* when not gtk-doc comments
11492
11493 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11494
11495         * gst/gst.c: whitespace and doc style fixes
11496
11497 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11498
11499         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
11500
11501 2003-12-24  Colin Walters  <walters@verbum.org>
11502
11503         * gst/elements/gsttypefindelement.c:
11504           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
11505           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
11506           Don't double-free caps.
11507
11508 2003-12-23  David Schleef  <ds@schleef.org>
11509
11510         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
11511           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
11512           Many little fixes and additions of debug statements to
11513           get rhythmbox working.
11514
11515 2003-12-23  Colin Walters  <walters@verbum.org>
11516
11517         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
11518         Use GST_PAD_LINK_SUCCESSFUL.
11519
11520 2003-12-23  David Schleef  <ds@schleef.org>
11521
11522         * gst/elements/gstaggregator.c:
11523         * gst/elements/gsttee.c:
11524           Use gst_pad_proxy_getcaps().
11525         * gst/gstpad.c:
11526         * gst/gstpad.h:
11527           Add gst_pad_proxy_getcaps(), which filter elements can use
11528           as a generic getcaps implementation.
11529           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
11530           was advertised.
11531
11532 2003-12-23  David Schleef  <ds@schleef.org>
11533
11534         * gst/gstpad.c:
11535           Rearrange/rewrite much of the pad negotiation code, since it
11536           resembled pasta.  This actually changes the way some
11537           negotiation works, since the previous code was inconsistent
11538           depending on how it was invoked.  Add (internal) structure
11539           GstPadLink, which is used to hold some information (more in
11540           the future) about the link between two pads.  Fixes a number
11541           of bugs, including random lossage of filter caps when the
11542           initial negotiation is delayed.  A few functions are still
11543           unimplemented.
11544         * gst/gstpad.h:
11545           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
11546           these when testing GstPadLinkReturn values instead of comparing
11547           directly.
11548
11549 2003-12-23  David Schleef  <ds@schleef.org>
11550
11551         * gst/gstvalue.c: 
11552         * gst/gstvalue.h:
11553           Rearrange lots of code.  Change registration of compare function
11554           into registration of compare/serialize/deserialize functions.
11555           Doesn't include implementation of gst_value_[de]serialize(),
11556           but that should be easy.
11557
11558 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11559
11560         * docs/gst/gstreamer-sections.txt:
11561         * docs/gst/tmpl/gstprops.sgml: removed
11562         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
11563           David removed props and caps code, so let's remove their docs as well.
11564           Removed all no longer existing symbols from gstreamer-sections.txt
11565           
11566 2003-12-22  Colin Walters  <walters@verbum.org>
11567
11568         * gst/gsttaginterface.c, gst/gsttaginterface.h,
11569           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
11570           of tags directly.
11571
11572 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11573
11574         * gst/elements/gstelements.c:
11575           Set ranks of elements to NONE, so the autoplugger doesn't use them.
11576         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
11577           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
11578           gst_caps (peer).
11579
11580 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11581
11582         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11583         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
11584         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
11585         (gst_spider_identity_sink_loop_type_finding):
11586         * gst/autoplug/gstspideridentity.h:
11587           Fix autoplugging in spider element, so it works with new caps.
11588           This was mainly caused by identifying empty caps incorrectly.
11589
11590 2003-12-22  David Schleef  <ds@schleef.org>
11591
11592         * gststructure.c, gstvalue.c, gstvalue.h: Add
11593           gst_value_init_and_copy() and use it, to avoid silly mistakes in
11594           using g_value_copy()
11595
11596 2003-12-21  David Schleef  <ds@schleef.org>
11597
11598         * many, many files: Merge CAPS branch.  This includes:
11599           - implemention of GstValue and several GstValue types
11600           - implemention of GstStructure
11601           - entire rewrite of GstCaps
11602           - removal of GstProps
11603           - many changes to GstPad to compensate for new caps paradigm
11604           - removal of GstBufferpool
11605         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
11606         gstvalue.h, gst/gstcaps[2]*.[ch]:
11607           - rename gstcaps2.[ch] to gstcaps.[ch]
11608
11609 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11610
11611         * gst/gstqueue.c: (gst_queue_handle_pending_events),
11612         (gst_queue_chain), (gst_queue_handle_src_event):
11613           implement timeout for sending events. Workaround for if the
11614           pipeline on this queue is not passing any data.
11615
11616 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
11617                                                                                 
11618         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
11619         * moved CVS to freedesktop.org
11620