tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*): New parameters, simula...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-06-28  Andy Wingo  <wingo@pobox.com>
2
3         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
4         New parameters, simulate network packet loss.
5
6         * tests/network-clock-utils.scm: Initialize the RNG.
7
8 2005-06-28  Wim Taymans  <wim@fluendo.com>
9
10         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11         (gst_basesink_event), (gst_basesink_deactivate):
12         Flushing the preroll queue always needs to unlock the waiters.
13
14 2005-06-28  Edward Hervey  <edward@fluendo.com>
15
16         * gst/gstpipeline.c: (gst_pipeline_send_event): 
17         Wheen a seek was successful on a pipeline, set the stream_time to the
18         seek offset in order to have a synchronized stream_time.
19
20 2005-06-28  Wim Taymans  <wim@fluendo.com>
21
22         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
24         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
25         (gst_proxy_pad_do_fixatecaps):
26         Call wrapper function instead of just calling the function
27         pointers. This takes care of any locking and whatmore.
28
29 2005-06-28  Wim Taymans  <wim@fluendo.com>
30
31         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
32         (gst_pad_pull_range):
33         * gst/gstpad.h:
34         CONNECTED -> LINKED.
35
36 2005-06-28  Andy Wingo  <wingo@pobox.com>
37
38         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
39         source-munging commit!!!
40
41         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
42         (gst_object_sink): Take gpointer arguments, not GstObject --
43         avoids casts. Like GLib.
44
45         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
46         activate.
47
48 2005-06-27  Andy Wingo  <wingo@pobox.com>
49
50         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
51         remaining buffer.
52
53         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
54         returns a sorted copy of the trace list.
55         (gst_alloc_trace_print_live): New API, only prints traces with
56         live objects. Sort the list.
57         (gst_alloc_trace_print_all): Sort the list.
58         (gst_alloc_trace_print): Align columns.
59
60         * gst/elements/gstttypefindelement.c:
61         * gst/elements/gsttee.c:
62         * gst/base/gstbasesrc.c:
63         * gst/base/gstbasesink.c:
64         * gst/base/gstbasetransform.c:
65         * gst/gstqueue.c: Adapt for pad activation changes.
66
67         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
68         sched.
69         (gst_pipeline_dispose): Drop ref on sched.
70
71         * gst/gstpad.c (gst_pad_init): Set the default activate func.
72         (gst_pad_activate_default): Push mode by default.
73         (pre_activate_switch, post_activate_switch): New stubs, things to
74         do before and after switching activation modes on pads.
75         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
76         the pad's activate function to choose which mode to activate.
77         Shortcut on deactivation and call the right function directly.
78         (gst_pad_activate_pull): New API, (de)activates a pad in pull
79         mode.
80         (gst_pad_activate_push): New API, same for push mode.
81         (gst_pad_set_activate_function) 
82         (gst_pad_set_activatepull_function) 
83         (gst_pad_set_activatepush_function): Setters for new API.
84
85         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
86         Trace all miniobjects.
87         (gst_mini_object_make_writable): Unref the arg if we copy, like
88         gst_caps_make_writable.
89
90         * gst/gstmessage.c (_gst_message_initialize): No trace init.
91
92         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
93         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
94         Adapt for new pad API.
95
96         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
97
98         * gst/gstelement.h:
99         * gst/gstelement.c (gst_element_iterate_src_pads) 
100         (gst_element_iterate_sink_pads): New API functions.
101         
102         * gst/gstelement.c (iterator_fold_with_resync): New utility,
103         should fold into gstiterator.c in some form.
104         (gst_element_pads_activate): Simplified via use of fold and
105         delegation of decisions to gstpad->activate.
106
107         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
108         help in debugging.
109
110         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
111         class once in init, like gstmessage. Didn't run into this issue
112         but it seems correct. Don't initialize a trace, gstminiobject does
113         that.
114
115         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
116         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
117         to the bus.
118         (assert_live_count): New util function, uses alloc traces to check
119         cleanup.
120
121         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
122         To be modified when unlink drops the internal pad.
123
124 2005-06-27  Wim Taymans  <wim@fluendo.com>
125
126         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
127         (gst_bin_change_state):
128         Cleanup the get_state() function a little, make sure it
129         iterates the same set of elements.
130         Added stub iterate_state_order().
131
132 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
133
134         * docs/gst/gstreamer-docs.sgml:
135         * docs/gst/gstreamer-sections.txt:
136         * docs/gst/gstreamer.types:
137         * docs/gst/tmpl/gstbasesink.sgml:
138         * docs/gst/tmpl/gstbasesrc.sgml:
139         * docs/gst/tmpl/gstbasetransform.sgml:
140         * docs/gst/tmpl/gstelement.sgml:
141         * docs/gst/tmpl/gstiterator.sgml:
142         * gst/base/gstbasesrc.c:
143         * gst/base/gstbasesrc.h:
144         * gst/base/gstbasetransform.h:
145         * gst/gstelement.c:
146         * gst/gstiterator.h:
147           adding basetransform and iterator docs
148
149 2005-06-27  Andy Wingo  <wingo@pobox.com>
150
151         * docs/design/part-activation.txt: Notes on how activation should
152         work -- not quite implemented yet.
153
154 2005-06-25  Wim Taymans  <wim@fluendo.com>
155
156         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
157         At least get the chain function correct, needs more
158         fixing.
159
160 2005-06-25  Wim Taymans  <wim@fluendo.com>
161
162         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
163         (gst_basesink_handle_object), (gst_basesink_event),
164         (gst_basesink_do_sync), (gst_basesink_handle_event),
165         (gst_basesink_change_state):
166         * gst/gsttask.h:
167         Right, two problems here: ghostpads don't take locks and
168         glib _rec_mutex_lock_full() with depth==0 still locks.
169         Catch illegal locking and g_warn them.
170
171 2005-06-25  Wim Taymans  <wim@fluendo.com>
172
173         * check/states/sinks.c: (START_TEST), (gst_object_suite):
174         Have to check for completion now...
175
176 2005-06-25  Wim Taymans  <wim@fluendo.com>
177
178         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
179         (gst_basesink_handle_object), (gst_basesink_event),
180         (gst_basesink_do_sync), (gst_basesink_handle_event),
181         (gst_basesink_change_state):
182         * gst/gstpad.h:
183         Unlock STREAM_LOCK whatever the recursion was.
184
185 2005-06-25  Wim Taymans  <wim@fluendo.com>
186
187         * gst/base/gstbasesink.c: (gst_basesink_set_property),
188         (gst_basesink_preroll_queue_empty),
189         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
190         (gst_basesink_event), (gst_basesink_do_sync),
191         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
192         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
193         (gst_basesink_change_state):
194         Reworked the base sink, handle event and buffer serialisation
195         correctly and removed possible deadlock.
196         Handle EOS correctly.
197
198 2005-06-25  Wim Taymans  <wim@fluendo.com>
199
200         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
201         (gst_pipeline_change_state):
202         * tools/gst-launch.c: (check_intr), (event_loop), (main):
203         Allow elements to post EOS in the state change function.
204         Fix up -launch, make it exit the poll loop when the
205         pipeline actually changed state.
206         Fix up warning parsing in -launch.
207
208 2005-06-25  Wim Taymans  <wim@fluendo.com>
209
210         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
211         (gst_tee_sink_activate):
212         Core takes STREAM_LOCK for us now.
213
214 2005-06-25  Wim Taymans  <wim@fluendo.com>
215
216         * gst/gstelement.c: (gst_element_get_state_func),
217         (gst_element_set_state):
218         * gst/gstelement.h:
219         * gst/gstmessage.c: (gst_message_parse_error),
220         (gst_message_parse_warning):
221         Keep track of current target state while performing a state
222         change so that subclasses can do something interesting.
223         Fix parsing of warning/error messages when GError is NULL.
224
225 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
226
227         * docs/gst/Makefile.am:
228         * docs/gst/gstreamer-docs.sgml:
229         * docs/gst/gstreamer-sections.txt:
230         * docs/gst/gstreamer.types:
231         * docs/gst/tmpl/gstbasesink.sgml:
232         * docs/gst/tmpl/gstbasesrc.sgml:
233         * docs/gst/tmpl/gstbin.sgml:
234         * docs/gst/tmpl/gstcompat.sgml:
235         * docs/gst/tmpl/gstfakesink.sgml:
236         * docs/gst/tmpl/gstfakesrc.sgml:
237         * docs/gst/tmpl/gstfilesink.sgml:
238         * docs/gst/tmpl/gstfilesrc.sgml:
239         * docs/gst/tmpl/gstindex.sgml:
240         * docs/manual/appendix-quotes.xml:
241         * gst/base/gstbasesrc.h:
242         * gst/elements/gstfakesrc.h:
243         * gst/gstmessage.h:
244           start pulling in base classes and elements in our docs
245
246 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
247
248         * docs/gst/Makefile.am:
249         * docs/libs/Makefile.am:
250           fixed make distcheck with gtk-doc 1.3
251
252 2005-06-23  Wim Taymans  <wim@fluendo.com>
253
254         * gst/gstelement.c: (gst_element_get_state_func),
255         (gst_element_set_state), (gst_element_change_state):
256         When the state did not change, also report NO_PREROLL
257         when it matters.
258
259 2005-06-23  Wim Taymans  <wim@fluendo.com>
260
261         * gst/gstpad.c: (gst_pad_event_default):
262         * gst/gstqueue.c: (gst_queue_loop):
263         No unsafe task pausing please.
264
265 2005-06-23  Wim Taymans  <wim@fluendo.com>
266
267         * gst/schedulers/threadscheduler.c:
268         (gst_thread_scheduler_task_start),
269         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
270         Ref the task before pushing it on the threadpool. This
271         makes sure that we have a ref when the threadfunction is
272         actually called.
273
274 2005-06-23  Andy Wingo  <wingo@pobox.com>
275
276         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
277         offset is greater than the file's size.
278
279         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
280         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
281         * gst/gstobject.c (gst_object_class_init): Make the class lock
282         recursive. Wim won't let me drop deep_notify. Decodebin works
283         again, whoopdy doo.
284
285         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
286         internal pad, and hacks accordingly. Doesn't do it on the target
287         pad because we change its caps. Probably catches all cases of
288         interest tho.
289         (gst_ghost_pad_set_property): Connect to notify::caps as
290         appropritate.
291
292         * tests/network-clock.scm (plot-simulation): Pipe data to the
293         elite python skript.
294
295         * tests/network-clock-utils.scm (define-parameter): New macro,
296         defines a parameter that can be set via the command line.
297         (set-parameter!, parse-parameter-arguments): Command line args
298         parser.
299
300         * tests/plot-data: Simple matplotlib-based plotter, takes input on
301         stdin.
302
303 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
304
305         * gst/elements/gsttypefindelement.c:
306         (gst_type_find_element_handle_event):
307           Don't restart typefinding on a discont.
308         * gst/gstelement.c: (gst_element_set_state):
309           Debug spelling fix.
310         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
311           Allow changing mode of an active pad.
312           Debug output fixes.
313         * gst/registries/gstlibxmlregistry.c: (load_feature):
314           Don't cast a static pad template to a normal pad template.
315
316 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
317
318         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
319         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
320           remove gst_strtoll completely, since it didn't actually do
321           anything more than what g_ascii_strtoull already does.
322           check for range errors when deserializing
323           do a cast for the unsigned cases; but further fixing needs
324           a decision on what the interpretation of "(int)" and
325           deserialization should be for values that fall outside the
326           type's boundaries (ie, refuse, or interpret as casting)
327
328 2005-06-23  Wim Taymans  <wim@fluendo.com>
329
330         * check/Makefile.am:
331         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
332         * docs/design/part-live-source.txt:
333         * docs/design/part-states.txt:
334         * gst/base/gstbasesrc.c: (gst_basesrc_init),
335         (gst_basesrc_set_live), (gst_basesrc_is_live),
336         (gst_basesrc_get_range), (gst_basesrc_activate),
337         (gst_basesrc_change_state):
338         * gst/base/gstbasesrc.h:
339         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
340         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
341         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
342         * gst/gstelement.c: (gst_element_get_state_func),
343         (gst_element_set_state):
344         * gst/gstelement.h:
345         * gst/gsttypes.h:
346         * tools/gst-launch.c: (event_loop), (main):
347         Added support for live sources and other elements that
348         cannot do preroll.
349         Updated design docs, added live-source design doc.
350         Implemented live source functionality in basesrc
351         Fix error condition in _bin_get_state()
352         Implement live source handling in -launch.
353         Added check for live sources.
354         Fixed case in GstBin where elements were changed state
355         multiple times.
356
357
358 2005-06-23  Andy Wingo  <wingo@pobox.com>
359
360         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
361         borken refcounting.
362
363         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
364         gst_caps_replace takes care of this for us.
365
366         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
367         gst_pad_set_caps on the target, not just its setcaps() function.
368
369         * tests/network-clock.scm: 
370         * tests/network-clock-utils.scm: A network clock simulator.
371         Something of an algorithmic testbed before doing something in C.
372
373 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
374
375         * check/Makefile.am:
376         * check/gst/capslist.h:
377           copy over from 0.8, and add two with bitmasks specified with
378           (int) 0xFF...
379         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
380           add test to parse everything from capslist.h
381         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
382         (main):
383           add test for structure deserialization
384         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
385           add tests for deserialization of strings to int types
386         * gst/gststructure.c: (gst_structure_nth_field_name):
387         * gst/gststructure.h:
388           add a way to get the name of a field referenced by index
389         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
390           instead of checking if the resulting long long lies between
391           min and max, we check if the long long would fit into
392           a number of bytes for the final type.
393           This fixes cases where a string represents 2^32 - 1, which
394           when cast to int would be the (valid) -1, but is bigger than
395           G_MAXINT
396
397 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
398
399         * gst/parse/grammar.y:
400           add a log line for type deserialization
401
402 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
403
404         * check/gst/gstvalue.c: (START_TEST):
405         * gst/gstvalue.c: (gst_value_deserialize):
406           return long long, not int, so gint64 deserialization actually
407           works.  Is there any flag that makes the compiler check this ?
408           Fixes #308559
409
410 2005-06-22  Wim Taymans  <wim@fluendo.com>
411
412         * gst/gstbuffer.h:
413         Added convenience macros for setting buffers in GValue.
414
415 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
416
417         * check/gst/.cvsignore:
418         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
419           add a test deserializing int64, and comment part out because
420           it fails, yay !
421
422 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
423
424         * check/Makefile.am:
425         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
426         * testsuite/Makefile.am:
427         * testsuite/caps/Makefile.am:
428         * testsuite/caps/value_serialize.c:
429         * testsuite/test_gst_init.c:
430           move a value_serialize test over
431
432 2005-06-20  Wim Taymans  <wim@fluendo.com>
433
434         * gst/gstpad.c:
435         Small doc updates.
436         
437         * gst/gstvalue.c: (gst_value_compare_buffer),
438         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
439         (gst_value_compare_flags), (gst_value_serialize_flags),
440         (gst_value_deserialize_flags), (_gst_value_initialize):
441         Fix serialisation of buffers, they are not boxed types anymore
442
443 2005-06-20  Wim Taymans  <wim@fluendo.com>
444
445         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
446         Testcase to show error in buffer-on-caps serialisation.
447
448 2005-06-20  Andy Wingo  <wingo@pobox.com>
449
450         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
451         will be adding to later.
452
453         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
454         if its socks fill with rocks.
455         (gst_system_clock_obtain): Set the name on object construction.
456         Avoid double-checked locking.
457
458 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
459
460         * gst/gsturi.c: (gst_element_make_from_uri):
461           Fix potential endless loop.
462
463 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
464
465         * check/Makefile.am:
466           add gsttag
467         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
468         (main):
469           move over from testsuite dir and clean up
470         * configure.ac:
471         * gst/gsttag.c:
472         * testsuite/Makefile.am:
473         * testsuite/tags/.cvsignore:
474         * testsuite/tags/Makefile.am:
475         * testsuite/tags/merge.c:
476           remove testsuite/tags
477
478 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
479
480         * docs/gst/gstreamer-sections.txt:
481         * docs/gst/tmpl/gstenumtypes.sgml:
482         * win32/gstenumtypes.c:
483           clean up documentation build a little
484
485 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
486
487         * check/gstcheck.h:
488           add macros for checking refcounts on objects and caps
489         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
490           add some more unit tests
491         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
492         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
493           fix leaked refcounts (I hope :)) so unittest works
494         * gst/gstpad.h:
495           whitespace removal
496
497 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
498
499         * configure.ac: back to HEAD
500
501 === release 0.9.1 ===
502
503 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
504
505         * NEWS:
506         * RELEASE:
507           updated
508
509 2005-06-17  Andy Wingo  <wingo@pobox.com>
510
511         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
512         assert; it's always possible that the pad gets deactivated in
513         between the checks in gstpad.c and the implementation. Rely on
514         finish_preroll() to return a FLUSHING or similar instead of on the
515         assert.
516         
517         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
518         clock and post an EOS message if we come out of finish_preroll in
519         the playing state.
520
521 2005-06-16  David Schleef  <ds@schleef.org>
522
523         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
524         (gst_capsfilter_set_property): Allow NULL as possible value
525         for filter_caps property, indicating GST_CAPS_ANY.
526
527 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
528
529         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
530           fix debug output
531         * gst/schedulers/Makefile.am:
532           use libgst prefix
533         * gstreamer.spec.in:
534           fix spec for it
535
536 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
537
538         * gstreamer.spec.in:
539           clean up
540
541 2005-06-08  Andy Wingo  <wingo@pobox.com>
542
543         * gst/gstutils.c: RPAD fixes all around.
544         (gst_element_link_pads): Refcounting fixes.
545
546         * tools/gst-inspect.c:
547         * tools/gst-xmlinspect.c:
548         * parse/grammar.y:
549         * gst/base/gsttypefindhelper.c:
550         * gst/base/gstbasesink.c:
551         * gst/gstqueue.c: RPAD fixes.
552
553         * gst/gstghostpad.h:
554         * gst/gstghostpad.c: New ghost pad implementation as full proxy
555         pads. The tricky thing is they provide both source and sink
556         interfaces, since they proxy the internal pad for the external
557         pad, and vice versa. Implement with lower-level ProxyPad objects,
558         with the interior proxy pad as a child of the exterior ghost pad.
559         Should write a doc on this.
560         
561         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
562         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
563         gst_object API.
564         
565         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
566         pads are real pads. No ghost pads in this file. Not documenting
567         the myriad s/RPAD/PAD/ and REALIZE fixes.
568         (gst_pad_class_init): Add properties for "direction" and
569         "template". Both are construct-only, so they can't change during
570         the life of the pad. Fixes properly deriving from GstPad.
571         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
572         derived objects, just set properties when creating the objects via
573         g_object_new.
574         (gst_pad_get_parent): Implement as a function, return NULL if the
575         parent is not an element.
576         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
577         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
578         
579         * gst/gstobject.c (gst_object_class_init): Make name a construct
580         property. Don't set it in the object init.
581
582         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
583         with UNKNOWN direction.
584         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
585         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
586         (gst_element_remove_pad): Remove ghost-pad special cases.
587         (gst_element_pads_activate): Remove rpad cruft.
588
589         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
590         catch the pad's-parent-not-an-element case.
591
592         * gst/gst.h: Include gstghostpad.h.
593
594         * gst/gst.c (init_post): No more real, ghost pads.
595
596         * gst/Makefile.am: Add gstghostpad.[ch].
597
598         * check/Makefile.am:
599         * check/gst/gstbin.c:
600         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
601         into a bin creates ghost pads, and that the refcounts are right.
602         Partly moved from gstbin.c.
603
604 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
605
606         * check/gst-libs/.cvsignore:
607         * check/gst/.cvsignore:
608         * check/pipelines/.cvsignore:
609           ignore more
610         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
611         (START_TEST), (cleanup_suite), (main):
612           add some tests related to cleanup after running pipelines
613
614 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
615
616         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
617           add a testsuite for GstBuffer
618
619 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
620
621         * gst/gstminiobject.h:
622           add defines for accessing the refcount
623
624 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
625
626         * Makefile.am: added support for html unit test coverage reports
627
628 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
629
630         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
631           Free existing caps if the capsfilter changes. Add a FIXME about
632           setting those caps on the pads.
633
634         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
635           Before adding a ghost pad to a parent bin, check that there isn't
636           already one for the element on the bin. Prevents infinite recursion
637           when using decodebin in parse pipelines. Andy says he'll rewrite the
638           way this works anyway, so ignore the hack.
639
640 2005-06-02  Andy Wingo  <wingo@pobox.com>
641
642         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
643         file size, pass it on to the type find helper.
644
645         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
646         segment_start and segment_end properly according to the seek
647         method. Segment_end is still a bit flaky because offset can be
648         negative for CUR and END cases, but it takes -1 as an "unset"
649         value.
650
651 2005-06-02  Wim Taymans  <wim@fluendo.com>
652
653         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
654         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
655         (gst_basesink_activate):
656         * gst/base/gstbasesink.h:
657         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
658         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
659         (gst_pad_query), (gst_pad_start_task):
660         * gst/gstpad.h:
661         * gst/gstqueue.c: (gst_queue_bufferalloc),
662         (gst_queue_handle_sink_event), (gst_queue_chain):
663         Bufferalloc: return GstFlowReturn to more accuratly report
664         why allocation failed.
665
666 2005-06-02  Wim Taymans  <wim@fluendo.com>
667
668         * gst/gstpipeline.c: (gst_pipeline_send_event):
669         Take snapshot of state without blocking.
670
671 2005-06-02  Wim Taymans  <wim@fluendo.com>
672
673         * docs/design/part-TODO.txt:
674         * docs/design/part-caps.txt:
675         * docs/design/part-clocks.txt:
676         * docs/design/part-negotiation.txt:
677         * docs/design/part-preroll.txt:
678         Small doc updates 
679
680 2005-05-30  Wim Taymans  <wim@fluendo.com>
681
682         * gst/elements/gstidentity.c: (gst_identity_event),
683         (gst_identity_transform), (gst_identity_get_property):
684         Protect last_message property as it is accessed from
685         multiple threads.
686
687 2005-05-30  Wim Taymans  <wim@fluendo.com>
688
689         * gst/gstelement.c: (gst_element_init),
690         (gst_element_pads_activate), (gst_element_change_state):
691         Slicker pad activation code.
692
693 2005-05-30  Wim Taymans  <wim@fluendo.com>
694
695         * gst/Makefile.am:
696         * gst/gstelement.h:
697         * gst/gstelementfactory.h:
698         * gst/gsttypes.h:
699         Move elementfactory methods to separate .h file.
700
701 2005-05-30  Wim Taymans  <wim@fluendo.com>
702
703         * docs/design/part-overview.txt:
704         * gst/gstsystemclock.h:
705         Small typo fixes, doc updates.
706
707 2005-05-30  Wim Taymans  <wim@fluendo.com>
708
709         * gst/gst.c: (gst_init_get_popt_table), (init_post),
710         (init_popt_callback):
711         Remove cpu-opt flag.
712
713 2005-05-30  Wim Taymans  <wim@fluendo.com>
714
715         * gst/gstbuffer.c: (gst_subbuffer_finalize),
716         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
717         * gst/gstbuffer.h:
718         Avoid typechecking in places where not needed.
719         Added accessor for malloc_data.
720
721 2005-05-30  Wim Taymans  <wim@fluendo.com>
722
723         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
724         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
725         (gst_pad_configure_sink), (gst_pad_configure_src),
726         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
727         (gst_pad_start_task):
728         Propagate errors from _set_caps() in configure_src/sink
729         functions instead of returning TRUE.
730         FLUSH events can travel up and downstream
731
732
733 2005-05-30  Wim Taymans  <wim@fluendo.com>
734
735         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
736         (gst_basesink_activate):
737         Handle EOS in preroll.
738
739 2005-05-30  Wim Taymans  <wim@fluendo.com>
740
741         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
742         (gst_queue_loop), (gst_queue_handle_src_event):
743         Remove old pieces of code
744         Flushing the queue in an upstream event is a very bad idea.
745
746 2005-05-26  Andy Wingo  <wingo@pobox.com>
747
748         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
749         gst_value_set_mini_object so as to add a ref on the object (which
750         will be removed when the value is unset).
751
752         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
753         arg type in ::handoff.
754
755         * gst/gstelement.c (gst_element_change_state): Also deactivate
756         pads in READY->NULL, just in case the element didn't make it to
757         PAUSED. Wingo tested, Wim approved.
758
759 2005-05-26  Wim Taymans  <wim@fluendo.com>
760
761         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
762         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
763         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
764         A flushing pad cannot be used to alloc_buffer from.
765
766 2005-05-26  Wim Taymans  <wim@fluendo.com>
767
768         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
769         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
770         (gst_bus_source_dispatch), (gst_bus_source_finalize),
771         (gst_bus_create_watch), (gst_bus_add_watch_full):
772         * gst/gstbus.h:
773         Implement a real GSource and use g_main_context_wakeup() to
774         signal new messages instead of the socketpair.
775
776 2005-05-25  Wim Taymans  <wim@fluendo.com>
777
778         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
779         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
780         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
781         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
782         (gst_pad_send_event), (gst_pad_start_task):
783         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
784         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
785         (gst_queue_sink_activate), (gst_queue_src_activate),
786         (gst_queue_change_state):
787         * gst/gstqueue.h:
788         Fix state changes for non sinks. We now change sinks, then elements
789         with unconnected srcpads, then the rest.
790         More efficient queue unlocking in flush and state changes.
791         Set the pad activate mode even if it does not have an activate
792         function.
793
794 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
795
796         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
797           Don't go in pull mode for non-seekable sources.
798         * gst/elements/gsttypefindelement.h:
799         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
800         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
801         (free_entry), (stop_typefinding),
802         (gst_type_find_element_handle_event), (find_peek),
803         (gst_type_find_element_chain), (do_pull_typefind),
804         (gst_type_find_element_change_state):
805           Allow typefinding (w/o seeking) in push-mode, simplified version
806           of what was in 0.8.
807         * gst/gstutils.c: (gst_buffer_join):
808         * gst/gstutils.h:
809           gst_buffer_join() from 0.8.
810
811 2005-05-25  Wim Taymans  <wim@fluendo.com>
812
813         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
814         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
815         (gst_pad_send_event), (gst_pad_start_task):
816         Disable attempt at mode switching until it is figured out.
817
818 2005-05-25  Wim Taymans  <wim@fluendo.com>
819
820         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
821         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
822         (gst_basesink_finish_preroll), (gst_basesink_chain),
823         (gst_basesink_loop), (gst_basesink_activate),
824         (gst_basesink_change_state):
825         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
826         (gst_basesrc_get_range), (gst_basesrc_loop),
827         (gst_basesrc_activate):
828         * gst/elements/gsttee.c: (gst_tee_sink_activate):
829         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
830         (gst_real_pad_init), (gst_real_pad_set_property),
831         (gst_real_pad_get_property), (gst_pad_set_active),
832         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
833         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
834         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
835         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
836         (gst_pad_event_default_dispatch), (gst_pad_event_default),
837         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
838         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
839         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
840         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
841         (gst_pad_stop_task):
842         * gst/gstpad.h:
843         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
844         (gst_queue_loop), (gst_queue_src_activate):
845         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
846         (gst_task_get_state):
847         * gst/gsttask.h:
848         * gst/schedulers/threadscheduler.c:
849         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
850         Implement gst_pad_pause/start/stop_task(), take STREAM lock
851         in task function.
852         Remove ACTIVE pad flag, use FLUSHING everywhere
853         Added _pad_chain(), _pad_get_range() to call chain/getrange 
854         functions.
855         Add locks around IS_FLUSHING when reading.
856         Take STREAM lock in chain(), get_range() functions so plugins
857         don't need to take it anymore.
858         
859
860
861 2005-05-25  Wim Taymans  <wim@fluendo.com>
862
863         * tools/gst-launch.c: (event_loop):
864         Unref message after using its contents instead of
865         before.
866
867 2005-05-24  Wim Taymans  <wim@fluendo.com>
868
869         * docs/design/draft-ghostpads.txt:
870         * docs/design/draft-push-pull.txt:
871         * docs/design/draft-query.txt:
872         * docs/design/part-overview.txt:
873         Docs updates, added general overview doc.
874
875 2005-05-21  David Schleef  <ds@schleef.org>
876
877         * docs/gst/tmpl/old/GstBin.sgml:
878         * docs/gst/tmpl/old/GstBuffer.sgml:
879         * docs/gst/tmpl/old/GstCaps.sgml:
880         * docs/gst/tmpl/old/GstClock.sgml:
881         * docs/gst/tmpl/old/GstCompat.sgml:
882         * docs/gst/tmpl/old/GstData.sgml:
883         * docs/gst/tmpl/old/GstElement.sgml:
884         * docs/gst/tmpl/old/GstEvent.sgml:
885         * docs/gst/tmpl/old/GstIndex.sgml:
886         * docs/gst/tmpl/old/GstStructure.sgml:
887         * docs/gst/tmpl/old/GstTag.sgml:
888         * docs/gst/tmpl/old/cothreads.sgml:
889         * docs/gst/tmpl/old/cothreads_compat.sgml:
890         * docs/gst/tmpl/old/gettext.sgml:
891         * docs/gst/tmpl/old/gobject2gtk.sgml:
892         * docs/gst/tmpl/old/grammar.tab.sgml:
893         * docs/gst/tmpl/old/gst-i18n-app.sgml:
894         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
895         * docs/gst/tmpl/old/gst_private.sgml:
896         * docs/gst/tmpl/old/gstaggregator.sgml:
897         * docs/gst/tmpl/old/gstarch.sgml:
898         * docs/gst/tmpl/old/gstatomic_impl.sgml:
899         * docs/gst/tmpl/old/gstbufferstore.sgml:
900         * docs/gst/tmpl/old/gstdata_private.sgml:
901         * docs/gst/tmpl/old/gstdisksink.sgml:
902         * docs/gst/tmpl/old/gstdisksrc.sgml:
903         * docs/gst/tmpl/old/gstelementfactory.sgml:
904         * docs/gst/tmpl/old/gstextratypes.sgml:
905         * docs/gst/tmpl/old/gstfakesink.sgml:
906         * docs/gst/tmpl/old/gstfakesrc.sgml:
907         * docs/gst/tmpl/old/gstfdsink.sgml:
908         * docs/gst/tmpl/old/gstfdsrc.sgml:
909         * docs/gst/tmpl/old/gstfilesink.sgml:
910         * docs/gst/tmpl/old/gstfilesrc.sgml:
911         * docs/gst/tmpl/old/gsthttpsrc.sgml:
912         * docs/gst/tmpl/old/gstidentity.sgml:
913         * docs/gst/tmpl/old/gstindexfactory.sgml:
914         * docs/gst/tmpl/old/gstmarshal.sgml:
915         * docs/gst/tmpl/old/gstmd5sink.sgml:
916         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
917         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
918         * docs/gst/tmpl/old/gstpadtemplate.sgml:
919         * docs/gst/tmpl/old/gstpipefilter.sgml:
920         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
921         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
922         * docs/gst/tmpl/old/gstshaper.sgml:
923         * docs/gst/tmpl/old/gstspider.sgml:
924         * docs/gst/tmpl/old/gstspideridentity.sgml:
925         * docs/gst/tmpl/old/gststatistics.sgml:
926         * docs/gst/tmpl/old/gsttee.sgml:
927         * docs/gst/tmpl/old/gsttimecache.sgml:
928         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
929         * docs/gst/tmpl/old/gstxmlregistry.sgml:
930         * docs/gst/tmpl/old/gthread-cothreads.sgml:
931         * docs/gst/tmpl/old/types.sgml:
932           I didn't intend to add these or check them in.
933
934 2005-05-19  David Schleef  <ds@schleef.org>
935
936         * configure.ac: Use -no-common everywhere.  In a sane world, it
937           would be the default in libtool, because without it, you can't
938           build DLLs on Windows.
939         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
940         * docs/gst/gstreamer-sections.txt:
941         * docs/gst/tmpl/gstcpu.sgml:
942         * docs/gst/tmpl/gstdata.sgml:
943         * docs/gst/tmpl/gstthread.sgml:
944
945 2005-05-19  David Schleef  <ds@schleef.org>
946
947         * gst/gstminiobject.c: (gst_value_set_mini_object),
948         (gst_value_take_mini_object), (gst_value_get_mini_object):
949         * gst/gstminiobject.h: Add GValue set/get functions.
950
951 2005-05-19  Wim Taymans  <wim@fluendo.com>
952
953         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
954         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
955         (gst_subbuffer_init), (gst_buffer_is_span_fast):
956         * gst/gstbuffer.h:
957         * gst/gstbus.c: (gst_bus_post):
958         * gst/gstelement.c: (gst_element_get_random_pad):
959         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
960         Make subbufer unref the parent in finalize.
961         some more debugging info.
962
963
964 2005-05-19  Wim Taymans  <wim@fluendo.com>
965
966         * gst/base/gstbasesink.c: (gst_basesink_class_init),
967         (gst_basesink_init), (gst_basesink_finalize),
968         (gst_basesink_activate), (gst_basesink_change_state):
969         Don't free preroll queue too early.
970
971 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
972
973         * gst/Makefile.am:
974         * gst/ROADMAP:
975           Hi, I'm outdated. Please shoot me.
976
977 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
978
979         * gst/gstpipeline.c: (gst_pipeline_send_event):
980           Do not access variables after they have been deleted.
981
982 2005-05-19  Wim Taymans  <wim@fluendo.com>
983
984         * tools/gst-inspect.c: (print_plugin_features):
985         A plugin feature does unfortunatly not use the
986         object name yet...
987
988 2005-05-18  Wim Taymans  <wim@fluendo.com>
989
990         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
991         Port _span() functions to new subbuffers.
992
993 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
994
995         * gst/gstbin.c: (gst_bin_add_func):
996           Fix clock settery in bins when adding kids after the clock has
997           been selected.
998
999 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1000
1001         * gst/elements/gstidentity.c: (gst_identity_class_init):
1002           Workaround until signals support GstMiniObject.
1003
1004 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1005
1006         * gst/gstbuffer.c:
1007         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
1008
1009 2005-05-18  Wim Taymans  <wim@fluendo.com>
1010
1011         * gst/base/Makefile.am:
1012         * gst/base/gstadapter.c: (gst_adapter_base_init),
1013         (gst_adapter_class_init), (gst_adapter_init),
1014         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
1015         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
1016         (gst_adapter_flush), (gst_adapter_available),
1017         (gst_adapter_available_fast):
1018         * gst/base/gstadapter.h:
1019         Ported and added adapter to the base classes.
1020
1021 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1022
1023         * gst/gst.c:
1024         * gst/gstmessage.c:
1025           Make sure the class is reffed/unreffed once before threads can be
1026           used.  Fixes #304551.
1027
1028 2005-05-17  Wim Taymans  <wim@fluendo.com>
1029
1030         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
1031         (gst_basesink_chain_unlocked), (gst_basesink_activate):
1032         * gst/gstminiobject.c: (gst_mini_object_get_type),
1033         (gst_mini_object_free):
1034         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
1035         (gst_pad_push), (gst_pad_push_event):
1036         * gst/gstqueue.c: (gst_queue_change_state):
1037         Don't queue buffers in basesink when we are flushing.
1038         Unref buffer when flushing in basesink.
1039         Flush queue when going to READY
1040         Unref buffer when _push() returns an error.
1041         Don't free MiniObject instance when refcount is incremented
1042         in _finalize() so that we can recover objects.
1043
1044 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1045
1046         * docs/manual/advanced-schedulers.xml:
1047         * docs/manual/appendix-checklist.xml:
1048         * docs/pwg/advanced-clock.xml:
1049         * docs/pwg/advanced-interfaces.xml:
1050         * docs/pwg/advanced-request.xml:
1051         * docs/pwg/advanced-types.xml:
1052         * docs/pwg/intro-preface.xml:
1053         * examples/plugins/example.c: (gst_example_get_type),
1054         (gst_example_class_init), (gst_example_chain),
1055         (gst_example_set_property), (gst_example_get_property),
1056         (gst_example_change_state), (plugin_init):
1057         * examples/plugins/example.h:
1058           small doc fixes
1059
1060 2005-05-17  Wim Taymans  <wim@fluendo.com>
1061
1062         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
1063         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
1064         * gst/gstqueue.c: (gst_queue_change_state):
1065         Clear queue when going to READY.
1066         Remove IN_SETCAPS flag too.
1067
1068 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
1069
1070         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
1071           Remove implicit cast from gboolean to GstElementStateReturn;
1072           make sure we still return failure in paused => ready case if
1073           the parent class fails to change state and our own stop 
1074           vfunc succeeds.
1075
1076 2005-05-17  Wim Taymans  <wim@fluendo.com>
1077
1078         * tools/gst-launch.c: (event_loop):
1079         Message was unreffed too soon.
1080
1081 2005-05-16  Andy Wingo  <wingo@pobox.com>
1082
1083         * gst/gstbin.c (sink_iterator_filter): Err... um...
1084
1085         * check/gst/gstbin.c (test_ghost_pads): New test for the
1086         ghosting-if-elements-not-in-same-bin behavior.
1087
1088 2005-05-16  David Schleef  <ds@schleef.org>
1089
1090         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
1091         accessing refcount directly.
1092
1093 2005-05-15  David Schleef  <ds@schleef.org>
1094
1095         * check/Makefile.am: remove GstData checks
1096         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
1097         * gst/Makefile.am: add miniobject, remove data
1098         * gst/gst.h: add miniobject, remove data
1099         * gst/gstdata.c: remove
1100         * gst/gstdata.h: remove
1101         * gst/gstdata_private.h: remove
1102         * gst/gsttypes.h: remove GstEvent and GstMessage
1103         * gst/gstelement.c: (gst_element_post_message): fix for API changes
1104         * gst/gstmarshal.list: change BOXED -> OBJECT
1105
1106         Implement GstMiniObject.
1107         * gst/gstminiobject.c:
1108         * gst/gstminiobject.h:
1109
1110         Modify to be subclasses of GstMiniObject.
1111         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
1112         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
1113         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
1114         (gst_subbuffer_get_type), (gst_subbuffer_init),
1115         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
1116         (gst_buffer_span):
1117         * gst/gstbuffer.h:
1118         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
1119         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
1120         (_gst_event_copy), (gst_event_new):
1121         * gst/gstevent.h:
1122         * gst/gstmessage.c: (_gst_message_initialize),
1123         (gst_message_get_type), (gst_message_class_init),
1124         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
1125         (gst_message_new), (gst_message_new_error),
1126         (gst_message_new_warning), (gst_message_new_tag),
1127         (gst_message_new_state_changed), (gst_message_new_application):
1128         * gst/gstmessage.h:
1129         * gst/gstprobe.c: (gst_probe_perform),
1130         (gst_probe_dispatcher_dispatch):
1131         * gst/gstprobe.h:
1132         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
1133         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
1134         (_gst_query_copy), (gst_query_new):
1135
1136         Update elements for GstData -> GstMiniObject changes
1137         * gst/gstquery.h:
1138         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
1139         (gst_queue_chain), (gst_queue_loop):
1140         * gst/elements/gstbufferstore.c:
1141         (gst_buffer_store_add_buffer_func),
1142         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
1143         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1144         (gst_fakesink_render):
1145         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
1146         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
1147         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
1148         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
1149         (gst_filesrc_create_read):
1150         * gst/elements/gstidentity.c: (gst_identity_class_init):
1151         * gst/elements/gsttypefindelement.c:
1152         (gst_type_find_element_src_event), (free_entry_buffers),
1153         (gst_type_find_element_handle_event):
1154         * libs/gst/dataprotocol/dataprotocol.c:
1155         (gst_dp_header_from_buffer):
1156         * libs/gst/dataprotocol/dataprotocol.h:
1157         * libs/gst/dataprotocol/dp-private.h:
1158
1159 2005-05-15  David Schleef  <ds@schleef.org>
1160
1161         * gst/elements/gstelements.c: Don't include headers that were
1162         just removed.
1163
1164 2005-05-15  David Schleef  <ds@schleef.org>
1165
1166         * gst/elements/Makefile.am: Remove some elements that don't
1167         need to be in the core (or even exist at all).
1168         * gst/elements/gstaggregator.c:
1169         * gst/elements/gstaggregator.h:
1170         * gst/elements/gstmd5sink.c:
1171         * gst/elements/gstmd5sink.h:
1172         * gst/elements/gstmultifilesrc.c:
1173         * gst/elements/gstmultifilesrc.h:
1174         * gst/elements/gstpipefilter.c:
1175         * gst/elements/gstpipefilter.h:
1176         * gst/elements/gstshaper.c:
1177         * gst/elements/gstshaper.h:
1178         * gst/elements/gststatistics.c:
1179         * gst/elements/gststatistics.h:
1180         * po/POTFILES.in: Remove above files.
1181
1182 2005-05-14  Andy Wingo  <wingo@pobox.com>
1183
1184         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
1185         so as to get the refs right.
1186         (sink_iterator_filter): New function, wraps bin_element_is_sink,
1187         unreffing objects that don't pass the filter.
1188
1189         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
1190         gst_element_set_bus.
1191         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
1192         normal cases, this will destroy the bus.
1193
1194         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
1195         object.
1196
1197         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
1198         has no sinks.
1199
1200 2005-05-13  Andy Wingo  <wingo@pobox.com>
1201
1202         * gst/gstutils.c (gst_element_link_pads): Instead of calling
1203         gst_pad_link, call pad_link_maybe_ghosting,
1204         (pad_link_maybe_ghosting): Links pads, making sure that the
1205         elements being linked are in the same bin.
1206         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
1207         Helpers for pad_link_maybe_ghosting.
1208
1209 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1210
1211         * configure.ac:
1212           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
1213
1214 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1215
1216         * docs/design/part-element-source.txt:
1217           Mention GstPushSrc
1218
1219 2005-05-12  Wim Taymans  <wim@fluendo.com>
1220
1221         * gst/base/gstbasesink.c: (gst_basesink_init),
1222         (gst_basesink_activate):
1223         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
1224         (gst_basesrc_is_seekable):
1225         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1226         (bin_element_is_sink), (gst_bin_change_state):
1227         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1228         * gst/gstelement.h:
1229         Identify sinks by their flag to avoid overly complicated
1230         checks (fow now).
1231         Do state changes even for elements not reachable from the
1232         sinks.
1233         BaseSink is a sink now :)
1234         Some more debugging info in the basesrc.
1235
1236
1237 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1238
1239         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
1240           Implement _query on a bin, similar to _send_event.
1241
1242 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1243
1244         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
1245           Discont event offset format should be GST_FORMAT_BYTES,
1246           not GST_FORMAT_TIME.
1247
1248 2005-05-12  Wim Taymans  <wim@fluendo.com>
1249
1250         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
1251         Same fix as Ronald's but without the signal. 
1252
1253 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1254
1255         * gst/gstutils.c: (gst_element_query_position):
1256           No, an element is not a pad.
1257
1258 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1259
1260         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
1261         (gst_bin_get_state):
1262           If a child is removed from a bin while we remove the child from
1263           the bin and while we're retrieving its state, signal this to the
1264           get_state function so we abort the wait (instead of waiting for
1265           a timeout) and can immediately re-iterate over all other elements.
1266
1267 2005-05-12  Wim Taymans  <wim@fluendo.com>
1268
1269         * gst/base/Makefile.am:
1270         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
1271         (gst_basesrc_start):
1272         * gst/base/gstbasesrc.h:
1273         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
1274         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
1275         (gst_pushsrc_init), (gst_pushsrc_create):
1276         * gst/base/gstpushsrc.h:
1277         Added is_seekable to BaseSrc
1278         Added simple PushSrc.
1279
1280 2005-05-11  Wim Taymans  <wim@fluendo.com>
1281
1282         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1283         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1284         (gst_element_link_pads), (gst_element_query_position),
1285         (gst_element_query_convert), (intersect_caps_func),
1286         (gst_pad_query_position), (gst_pad_query_convert):
1287         Fix refcounting in utils function.
1288         No point in trying to activate a pad when it's added, it could
1289         be added from the state change function and then we deadlock, the
1290         element has to decide what to do.
1291
1292 2005-05-10  Andy Wingo  <wingo@pobox.com>
1293
1294         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
1295         *all* the arguments.
1296
1297         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
1298         stream lock if it's a FLUSH_DONE; normal flushes don't get the
1299         lock (according to the docs -- if this is wrong change the docs).
1300
1301         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
1302         flush messages in the NULL state.
1303
1304         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
1305         message immediately and return.
1306         (gst_bus_set_flushing): New function. If a bus is flushing, it
1307         flushes out any queued messages and immediately unrefs new
1308         messages. This is so when an element goes to NULL, all of the
1309         unhandled messages coming from it can be freed, and their
1310         references to the element dropped. In other words: message source
1311         ref considered harmful :P
1312
1313         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
1314         we're finished with it.
1315
1316         * gst/gstmessage.c (gst_message_new_state_changed): 
1317
1318 2005-05-10  Wim Taymans  <wim@fluendo.com>
1319
1320         * gst/gstvalue.c: (gst_value_compare_flags),
1321         (gst_value_serialize_flags), (gst_value_deserialize_flags),
1322         (_gst_value_initialize):
1323         Added flags serialize/deserialize/compare code.
1324
1325 2005-05-09  Andy Wingo  <wingo@pobox.com>
1326
1327         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
1328         Intersect the peer's caps with our caps.
1329
1330 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1331
1332         * gst/base/gsttypefindhelper.c: (helper_find_peek):
1333         * gst/elements/gsttypefindelement.c: (find_peek):
1334           Handle negative offsets better. Fixes decodebin.
1335
1336 2005-05-09  Wim Taymans  <wim@fluendo.com>
1337
1338         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
1339         (gst_base_transform_event):
1340         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
1341         Implement accept_caps.
1342         Fix silly lock/unlock mismatch in base class.
1343
1344 2005-05-09  Wim Taymans  <wim@fluendo.com>
1345
1346         * docs/design/draft-push-pull.txt:
1347         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
1348         * gst/elements/gstfilesink.c: (gst_filesink_init),
1349         (gst_filesink_query):
1350         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1351         (gst_type_find_handle_src_query), (find_element_get_length):
1352         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
1353         * gst/gstelement.h:
1354         * gst/gstmessage.c:
1355         * gst/gstmessage.h:
1356         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
1357         (gst_real_pad_get_caps_unlocked),
1358         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
1359         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1360         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
1361         (gst_real_pad_dispose), (gst_real_pad_finalize),
1362         (gst_pad_load_and_link), (gst_pad_save_thyself),
1363         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
1364         (gst_pad_check_pull_range), (gst_pad_pull_range),
1365         (gst_pad_template_get_type), (gst_pad_template_class_init),
1366         (gst_pad_template_init), (gst_pad_template_dispose),
1367         (name_is_valid), (gst_static_pad_template_get),
1368         (gst_pad_template_new), (gst_static_pad_template_get_caps),
1369         (gst_pad_template_get_caps), (gst_pad_set_element_private),
1370         (gst_pad_get_element_private), (gst_pad_start_task),
1371         (gst_pad_pause_task), (gst_pad_stop_task),
1372         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
1373         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
1374         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
1375         (gst_ghost_pad_new):
1376         * gst/gstpad.h:
1377         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
1378         (gst_query_new_position), (gst_query_set_position),
1379         (gst_query_parse_position), (gst_query_new_convert),
1380         (gst_query_set_convert), (gst_query_parse_convert):
1381         * gst/gstquery.h:
1382         * gst/gstqueryutils.c:
1383         * gst/gstqueryutils.h:
1384         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1385         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1386         (gst_queue_handle_src_query):
1387         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1388         (gst_element_query_position), (gst_element_query_convert),
1389         (intersect_caps_func), (gst_pad_query_position),
1390         (gst_pad_query_convert):
1391         * gst/gstutils.h:
1392         * tools/gst-inspect.c: (print_pad_info):
1393         * tools/gst-xmlinspect.c: (print_element_info):
1394         Remove old query functions. Ported old code.
1395         Added position/convert helper functions to gstutils.
1396         Reordered gstpad.c code, grouping relevant things.
1397         Remove gst_message_new(), always need to speficy a specific
1398         message.
1399
1400
1401 2005-05-09  Andy Wingo  <wingo@pobox.com>
1402
1403         * gst/gstiterator.h: Add some includes.
1404
1405         * gst/gstqueryutils.h: Include more headers.
1406
1407         * gst/gstpad.h:
1408         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
1409         some uses of gst_pad_query.
1410
1411         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
1412         NULL out parameters.
1413         (gst_query_new_position): New proc, allocates a new position
1414         query.
1415
1416         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
1417         gstqueryutils.c to the build.
1418
1419         * gst/gststructure.c (gst_structure_set_valist): Implement with
1420         the generic G_VALUE_COLLECT.
1421         
1422 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
1423
1424         * gst/Makefile.am: (gst_headers):
1425         Added gstqueryutils.h to the list of headers to install, that was
1426         a 'nachty' move wingo :)
1427
1428 2005-05-06  Andy Wingo  <wingo@pobox.com>
1429
1430         * gst/gstquery.h
1431         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
1432         GstData, init a memchunk.
1433         (standard_definitions): Add a few query types, deprecate a few.
1434         (gst_query_get_type): New proc.
1435         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
1436         implementation.
1437         (gst_query_new_application, gst_query_get_structure): New public
1438         procs.
1439
1440         * docs/design/draft-query.txt: Removed LINKS from the query types,
1441         because all the rest can be dispatched to other pads -- seemed
1442         ugly to have a query that couldn't be dispatched. internal_links
1443         is fine as a pad method.
1444
1445         * gst/gstpad.h: Add query2 as a pad method, add the new functions
1446         in gstpad.c, but maintain binary compatibility for the moment.
1447         Will fix before 0.9 is out.
1448
1449         * gst/gstqueryutils.c: 
1450         * gst/gstqueryutils.h: New files, implement 3 methods for each
1451         query type: parse_query, parse_response, and set. Probably need an
1452         allocator as well.
1453
1454         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
1455
1456         * gst/elements/gstfilesink.c (gst_filesink_query2):
1457         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
1458         query_types, and formats methods.
1459
1460         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
1461         (gst_pad_set_query2_function): New functions.
1462         (gst_real_pad_init): Set query2_default as the default query2
1463         function. Basically just dispatches to internally linked pads.
1464
1465         Needs review!
1466         
1467         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
1468         without using the atomic operations. Only one thread can possibly
1469         be accessing the data at this point. Changed so as to avoid
1470         gst_atomic operations.
1471
1472 2005-05-06  Wim Taymans  <wim@fluendo.com>
1473
1474         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
1475         Also set caps if we use the fallback buffer alloc.
1476
1477 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
1478
1479         * docs/gst/Makefile.am:
1480         * docs/gst/gstreamer-docs.sgml:
1481         * docs/gst/gstreamer-sections.txt:
1482         * docs/gst/tmpl/gstatomic.sgml:
1483         * docs/gst/tmpl/gstmemchunk.sgml:
1484         * testsuite/elements/struct_i386.h:
1485         * win32/GStreamer.vcproj:
1486         * win32/Makefile:
1487           Purge GstAtomic stuff from docs and win32 makefiles as well
1488
1489 2005-05-06  Wim Taymans  <wim@fluendo.com>
1490
1491         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
1492         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
1493         * gst/gstpad.c: (gst_pad_peer_get_caps):
1494         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1495         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1496         (gst_queue_src_activate), (gst_queue_change_state):
1497         * gst/gstqueue.h:
1498         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1499         (intersect_caps_func):
1500         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
1501         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
1502         Some fixes for the peer_get_caps() change.
1503
1504 2005-05-06  Wim Taymans  <wim@fluendo.com>
1505
1506         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1507         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
1508         (gst_basesink_activate):
1509         Actually do something with error codes returned from the push
1510         functions.
1511
1512 2005-05-06  Wim Taymans  <wim@fluendo.com>
1513
1514         * docs/design/part-element-sink.txt:
1515         * docs/design/part-element-source.txt:
1516         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1517         (gst_basesink_event), (gst_basesink_activate):
1518         * gst/base/gstbasesink.h:
1519         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
1520         (gst_basesrc_activate):
1521         * gst/base/gstbasesrc.h:
1522         * gst/gstelement.c: (gst_element_pads_activate):
1523         Some more documentation.
1524         Fixed scheduling decision in _pads_activate().
1525
1526 2005-05-05  Andy Wingo  <wingo@pobox.com>
1527
1528         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
1529         the test suite.
1530
1531 2005-05-05  Wim Taymans  <wim@fluendo.com>
1532
1533         * gst/base/Makefile.am:
1534         * gst/base/gstbasesink.h:
1535         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1536         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
1537         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
1538         (gst_collectpads_class_init), (gst_collectpads_init),
1539         (gst_collectpads_finalize), (gst_collectpads_new),
1540         (gst_collectpads_set_function), (gst_collectpads_add_pad),
1541         (find_pad), (gst_collectpads_remove_pad),
1542         (gst_collectpads_is_active), (gst_collectpads_collect),
1543         (gst_collectpads_collect_range), (gst_collectpads_start),
1544         (gst_collectpads_stop), (gst_collectpads_peek),
1545         (gst_collectpads_pop), (gst_collectpads_available),
1546         (gst_collectpads_read), (gst_collectpads_flush),
1547         (gst_collectpads_chain):
1548         * gst/base/gstcollectpads.h:
1549         * gst/elements/Makefile.am:
1550         * gst/elements/gstelements.c:
1551         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1552         (gst_fakesink_get_times), (gst_fakesink_event),
1553         (gst_fakesink_preroll), (gst_fakesink_render):
1554         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1555         (gst_filesink_init), (gst_filesink_set_location),
1556         (gst_filesink_open_file), (gst_filesink_close_file),
1557         (gst_filesink_pad_query), (gst_filesink_event),
1558         (gst_filesink_render), (gst_filesink_change_state):
1559         * gst/elements/gstfilesink.h:
1560         Added object to help in making collect pad based elements.
1561         Ported filesink.
1562         Make event function in sink baseclass return gboolean.
1563
1564 2005-05-05  Wim Taymans  <wim@fluendo.com>
1565
1566         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
1567         (gst_bin_get_by_name):
1568         * gst/gstbuffer.h:
1569         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
1570         (gst_clock_finalize):
1571         * gst/gstdata.c: (gst_data_replace):
1572         * gst/gstdata.h:
1573         * gst/gstelement.c: (gst_element_request_pad),
1574         (gst_element_pads_activate):
1575         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1576         (gst_object_unref):
1577         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1578         (gst_pad_set_checkgetrange_function),
1579         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
1580         (gst_pad_check_pull_range), (gst_pad_pull_range),
1581         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1582         (gst_pad_pause_task), (gst_pad_stop_task):
1583         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1584         (gst_element_request_pad), (gst_pad_proxy_getcaps):
1585         Fix name lookup in GstBin.
1586         Added _data_replace() function and _buffer_replace()
1587         Use finalize method to clean up clock.
1588         Fix refcounting on request pads.
1589         Fix pad schedule mode error.
1590         Some more object refcounting debug info,
1591
1592
1593 2005-05-04  Andy Wingo <wingo@pobox.com>
1594
1595         * check/Makefile.am:
1596         * docs/gst/tmpl/gstatomic.sgml:
1597         * docs/gst/tmpl/gstplugin.sgml:
1598         * gst/base/gstbasesink.c: (gst_basesink_activate):
1599         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
1600         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
1601         (gst_basesrc_query), (gst_basesrc_set_property),
1602         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
1603         (gst_basesrc_activate):
1604         * gst/base/gstbasesrc.h:
1605         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
1606         (gst_base_transform_src_activate):
1607         * gst/elements/gstelements.c:
1608         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1609         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1610         * gst/elements/gsttee.c: (gst_tee_sink_activate):
1611         * gst/elements/gsttypefindelement.c: (find_element_get_length),
1612         (gst_type_find_element_checkgetrange),
1613         (gst_type_find_element_activate):
1614         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
1615         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
1616         (gst_caps_load_thyself):
1617         * gst/gstelement.c: (gst_element_pads_activate),
1618         (gst_element_save_thyself), (gst_element_restore_thyself):
1619         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
1620         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
1621         * gst/gstpad.h:
1622         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
1623         (gst_xml_parse_file), (gst_xml_parse_memory),
1624         (gst_xml_get_element), (gst_xml_make_element):
1625         * gst/indexers/gstfileindex.c: (gst_file_index_load),
1626         (_file_index_id_save_xml), (gst_file_index_commit):
1627         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
1628         (read_enum), (load_pad_template), (load_feature), (load_plugin),
1629         (load_paths):
1630         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
1631         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
1632         * tools/gst-complete.c: (main):
1633         * tools/gst-compprep.c: (main):
1634         * tools/gst-inspect.c: (print_element_properties_info):
1635         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1636         * tools/gst-xmlinspect.c: (print_element_properties):
1637         GCC 4 fixen.
1638         
1639 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1640
1641         * gst/gstplugin.c: (gst_plugin_check_module),
1642         (gst_plugin_check_file), (gst_plugin_load_file):
1643             apply patch from #172526 to make register work on MacOSX
1644
1645 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1646
1647         * docs/gst/tmpl/gstconfig.sgml:
1648         * gst/gstconfig.h.in:
1649           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
1650         * testsuite/debug/printf_extension.c: (main):
1651           Do not use GST_PTR_FORMAT on pointers to types with
1652           sizeof < sizeof(gpointer).  Fixes test on 64-bit
1653         * testsuite/elements/property.h:
1654           use correct printf format
1655
1656 2005-05-02  Wim Taymans  <wim@fluendo.com>
1657
1658         * docs/design/draft-push-pull.txt:
1659         * docs/design/draft-query.txt:
1660         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
1661         (gst_basesrc_start):
1662         Added draft for new query API.
1663         Added draft for better selecting scheduling methods.
1664         Make basesrc ignore length if the subclass does not support
1665         it.
1666
1667 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1668
1669         * gst/Makefile.am:
1670           possible fixes for automake-1.5 - _LIBADD is reserved
1671
1672 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1673
1674         * docs/faq/Makefile.am:
1675         * docs/manual/Makefile.am:
1676         * docs/manuals.mak:
1677         * docs/pwg/Makefile.am:
1678         * gst/Makefile.am:
1679           possible fixes for automake-1.5
1680
1681 2005-04-28  Wim Taymans  <wim@fluendo.com>
1682
1683         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1684         (gst_basesink_pad_getcaps), (gst_basesink_init),
1685         (gst_basesink_do_sync):
1686         * gst/gstclock.c: (gst_clock_entry_new):
1687         * gst/gstevent.c: (gst_event_discont_get_value):
1688         * gst/gstpipeline.c: (pipeline_bus_handler),
1689         (gst_pipeline_change_state):
1690         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1691         Better debugging of clocking info.
1692         Allow NULL values when getting discont values.
1693
1694 2005-04-27  Wim Taymans  <wim@fluendo.com>
1695
1696         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
1697         * check/gst/gstpad.c: (gst_pad_suite):
1698         Increase timeout for checks.
1699
1700 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1701
1702         * check/Makefile.am:
1703           fix the broken rule for cleanup.  Apparently this rule is
1704           only needed on FC2, so maybe this warrants further autotool
1705           inspection.
1706
1707 2005-04-26  Wim Taymans  <wim@fluendo.com>
1708
1709         * gst/gsttrashstack.h:
1710         Ooohh. a nasty one! After having a failed pop() from the stack,
1711         it's possible that the stack is empty. In that case, don't
1712         follow the NULL pointer.
1713
1714 2005-04-25  Wim Taymans  <wim@fluendo.com>
1715
1716         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1717         (gst_pad_set_checkgetrange_function),
1718         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
1719         (gst_pad_check_pull_range), (gst_pad_pull_range),
1720         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1721         (gst_pad_pause_task), (gst_pad_stop_task):
1722         * gst/gstplugin.c: (gst_plugin_load):
1723         * gst/gstplugin.h:
1724         Remove gst_library_load as it does more harm than good with
1725         the new g_module flags.
1726         Revert bogus caps template check in pad linking, pad caps
1727         are important when linking not the template, which is more
1728         general than the current caps.
1729
1730 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1731
1732         * gst/autoplug/.cvsignore:
1733         * gst/autoplug/Makefile.am:
1734         * gst/autoplug/gstsearchfuncs.c:
1735         * gst/autoplug/gstsearchfuncs.h:
1736         * gst/autoplug/gstspider.c:
1737         * gst/autoplug/gstspider.h:
1738         * gst/autoplug/gstspideridentity.c:
1739         * gst/autoplug/gstspideridentity.h:
1740         * gst/autoplug/spidertest.c:
1741           Die, spider, die.
1742
1743 2005-04-25  Wim Taymans  <wim@fluendo.com>
1744
1745         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1746         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
1747         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
1748         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
1749         * gst/gstpad.h:
1750         Added stubs for unimplemented functions. 
1751
1752 2005-04-24  David Schleef  <ds@schleef.org>
1753
1754         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
1755         please fix.
1756
1757 2005-04-24  David Schleef  <ds@schleef.org>
1758
1759         Convert everything from GstAtomicInt to g_atomic_int_*, and
1760         remove gstatomic.
1761         * gst/Makefile.am:
1762         * gst/gstatomic.c:
1763         * gst/gstatomic.h:
1764         * gst/gstatomic_impl.h:
1765         * gst/gstbuffer.c:
1766         * gst/gstcaps.c:
1767         * gst/gstcaps.h:
1768         * gst/gstclock.c:
1769         * gst/gstclock.h:
1770         * gst/gstdata.c:
1771         * gst/gstdata.h:
1772         * gst/gstdata_private.h:
1773         * gst/gstevent.c:
1774         * gst/gstinfo.c:
1775         * gst/gstinfo.h:
1776         * gst/gstmessage.c:
1777         * gst/gstobject.c:
1778         * gst/gstobject.h:
1779         * gst/gststructure.c:
1780         * gst/gststructure.h:
1781         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
1782         * gst/gstutils.h:
1783
1784 2005-04-24  David Schleef  <ds@schleef.org>
1785
1786         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
1787         make the regressions tests work.  Remove some code that is no
1788         longer true.
1789         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
1790         Disable warning for pads without templates.
1791
1792 2005-04-24  David Schleef  <ds@schleef.org>
1793
1794         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
1795         functions that handle filtered links.
1796         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
1797         removed functions.
1798         * gst/gstutils.c: Fix/remove utility functions that handle
1799         filtered caps.
1800         * gst/gstutils.h:
1801         * gst/gstvalue.c: Add serialization/deserialization of caps
1802         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
1803         requires fixing so that the filter caps notation creates
1804         a capsfilter element and sets the filter_caps property.  I
1805         think everyone probably wants to keep the shorthand notation.
1806         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
1807         * docs/gst/tmpl/gstpad.sgml:
1808
1809         * gst/elements/gstelements.c: Register capsfilter element.
1810         * gst/Makefile.am: fix spacing
1811         * docs/random/ds/0.9-suggested-changes: random
1812
1813 2005-04-23  David Schleef  <ds@schleef.org>
1814
1815         * gst/elements/Makefile.am:
1816         * gst/elements/gstcapsfilter.c: New element that acts like an
1817         identity, but filters caps.  Will eventually replace filtered
1818         caps in pad linking.
1819         * gst/gstutils.c: (gst_element_create_all_pads): New function
1820         to create all the ALWAYS pads that are registered with an
1821         element class.  This functionality should eventually be
1822         merged in with GstElement initialization.
1823         * gst/gstutils.h:
1824         * testsuite/trigger/README: part of trigger test code that should
1825         have been checked in a long time ago.
1826
1827 2005-04-23  David Schleef  <ds@schleef.org>
1828
1829         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
1830         needed with new versions of libtool (nobody will confirm this),
1831         and hard to carry around.
1832         * gst/autoplug/Makefile.am:
1833         * gst/base/Makefile.am:
1834         * gst/elements/Makefile.am:
1835         * gst/indexers/Makefile.am:
1836         * gst/schedulers/Makefile.am:
1837         * libs/gst/bytestream/Makefile.am:
1838         * libs/gst/control/Makefile.am:
1839         * libs/gst/dataprotocol/Makefile.am:
1840         * libs/gst/getbits/Makefile.am:
1841
1842 2005-04-21  Wim Taymans  <wim@fluendo.com>
1843
1844         * docs/design/draft-push-pull.txt:
1845         * docs/design/part-MT-refcounting.txt:
1846         * docs/design/part-TODO.txt:
1847         * docs/design/part-caps.txt:
1848         * docs/design/part-events.txt:
1849         * docs/design/part-gstbus.txt:
1850         * docs/design/part-gstpipeline.txt:
1851         * docs/design/part-messages.txt:
1852         * docs/design/part-push-pull.txt:
1853         * docs/design/part-query.txt:
1854         Some more docs.
1855
1856 2005-04-21  Wim Taymans  <wim@fluendo.com>
1857
1858         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
1859         (gst_message_new), (gst_message_new_error),
1860         (gst_message_new_warning), (gst_message_new_tag),
1861         (gst_message_new_state_changed), (gst_message_new_application),
1862         (gst_message_get_structure):
1863         * gst/gstmessage.h:
1864         * gst/gststructure.c: (gst_structure_set_parent_refcount),
1865         (gst_structure_copy_conditional):
1866         Use parent refcount in GstMessage to ensure GstStructure
1867         consistency.
1868         Cleaned up headers a bit.
1869         
1870
1871 2005-04-20  Wim Taymans  <wim@fluendo.com>
1872
1873         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1874         (gst_basesink_pad_getcaps), (gst_basesink_init),
1875         (gst_basesink_chain_unlocked):
1876         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
1877         (gst_type_find_helper):
1878         * gst/elements/gsttypefindelement.c:
1879         (gst_type_find_element_have_type), (gst_type_find_element_init),
1880         (stop_typefinding), (gst_type_find_element_handle_event),
1881         (find_suggest), (gst_type_find_element_chain),
1882         (gst_type_find_element_checkgetrange),
1883         (gst_type_find_element_getrange), (do_typefind),
1884         (gst_type_find_element_activate):
1885         * gst/gstbuffer.c: (_gst_buffer_sub_free),
1886         (gst_buffer_default_free), (gst_buffer_default_copy),
1887         (gst_buffer_set_caps):
1888         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
1889         (gst_caps_replace):
1890         * gst/gstmessage.c: (gst_message_new),
1891         (gst_message_new_state_changed):
1892         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1893         (gst_pad_set_checkgetrange_function),
1894         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
1895         (gst_pad_set_caps), (gst_pad_check_pull_range),
1896         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
1897         * gst/gstpad.h:
1898         * gst/gsttypefind.c: (gst_type_find_register):
1899         Make gst_caps_replace() work like other _replace() functions.
1900         Use _caps_replace() where possible.
1901         Make sure _message_new() initialises its field.
1902         Add gst_static_pad_template_get_caps()
1903
1904
1905 2005-04-18  Andy Wingo  <wingo@pobox.com>
1906
1907         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
1908         on the peer, not the pad. I think that was a typo. Pass an extra
1909         arg to see if random access is possible. Activate the pads as
1910         PULL_RANGE if possible.
1911
1912         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
1913
1914         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
1915         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
1916         to PROP_....
1917
1918 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1919
1920         * docs/faq/using.xml:
1921           Add note on gstreamer-properties (#154996).
1922
1923 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1924
1925         * docs/random/bbb/optional-properties:
1926           Some analysis on optional properties.
1927
1928 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1929
1930         * docs/gst/tmpl/gstelementfactory.sgml:
1931         * gst/gstelement.h:
1932         * gst/gstelementfactory.c: (gst_element_factory_init),
1933         (gst_element_factory_cleanup), (gst_element_register),
1934         (__gst_element_factory_add_static_pad_template),
1935         (gst_element_factory_get_static_pad_templates),
1936         (gst_element_factory_can_src_caps),
1937         (gst_element_factory_can_sink_caps):
1938         * gst/registries/Makefile.am:
1939         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
1940         (gst_xml_registry_class_init), (gst_xml_registry_init),
1941         (gst_xml_registry_new), (gst_xml_registry_set_property),
1942         (gst_xml_registry_get_property), (get_time), (make_dir),
1943         (gst_xml_registry_get_perms_func),
1944         (plugin_times_older_than_recurse), (plugin_times_older_than),
1945         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
1946         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
1947         (add_to_char_array), (read_string), (read_uint), (read_enum),
1948         (load_pad_template), (load_feature), (load_plugin), (load_paths),
1949         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
1950         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
1951         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
1952         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
1953         (gst_xml_registry_rebuild):
1954         * gst/registries/gstlibxmlregistry.h:
1955         * tools/gst-compprep.c: (main):
1956         * tools/gst-inspect.c: (print_pad_templates_info):
1957         * tools/gst-xmlinspect.c: (print_element_info):
1958           Use libxml2 for registry parsing, use staticpadtemplates in
1959           elementfactories. Makes gst_init() +/- 10x faster.
1960
1961 2005-04-12  Wim Taymans  <wim@fluendo.com>
1962
1963         * gst/base/Makefile.am:
1964         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1965         (gst_basesink_pad_getcaps), (gst_basesink_init),
1966         (gst_basesink_event), (gst_basesink_change_state):
1967         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1968         (gst_basesrc_init), (gst_basesrc_query),
1969         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1970         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1971         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1972         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1973         (gst_basesrc_stop), (gst_basesrc_activate),
1974         (gst_basesrc_change_state):
1975         * gst/base/gsttypefindhelper.c: (helper_find_peek),
1976         (helper_find_suggest), (gst_type_find_helper):
1977         * gst/base/gsttypefindhelper.h:
1978         * gst/elements/Makefile.am:
1979         * gst/elements/gstelements.c:
1980         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1981         (gst_fakesink_get_times), (gst_fakesink_event),
1982         (gst_fakesink_preroll), (gst_fakesink_render):
1983         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1984         (gst_fakesrc_init), (gst_fakesrc_event_handler),
1985         (gst_fakesrc_get_property), (gst_fakesrc_create),
1986         (gst_fakesrc_start), (gst_fakesrc_stop):
1987         * gst/elements/gstfakesrc.h:
1988         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
1989         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
1990         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
1991         (gst_filesrc_create_read), (gst_filesrc_create),
1992         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
1993         (gst_filesrc_start):
1994         * gst/elements/gsttypefindelement.c:
1995         (gst_type_find_element_have_type), (gst_type_find_element_init),
1996         (start_typefinding), (stop_typefinding), (push_buffer_store),
1997         (gst_type_find_element_handle_event),
1998         (gst_type_find_element_chain),
1999         (gst_type_find_element_checkgetrange),
2000         (gst_type_find_element_getrange), (do_typefind),
2001         (gst_type_find_element_activate),
2002         (gst_type_find_element_change_state):
2003         * gst/elements/gsttypefindelement.h:
2004         * gst/gstpipeline.c: (pipeline_bus_handler):
2005         Added typefind helper.
2006         Small preroll fix in the base sink.
2007         Disable typefind code in basesrc.
2008         Crude port of typefindelement.
2009         Fakesrc cleanups.
2010
2011
2012 2005-04-11  Wim Taymans  <wim@fluendo.com>
2013
2014         * check/gst/gstbus.c: (gstbus_suite):
2015         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
2016         * check/gstcheck.h:
2017           Fix up the timeout so that the test does not fail.
2018
2019 2005-04-06  Wim Taymans  <wim@fluendo.com>
2020
2021         * gst/base/README:
2022         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2023         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
2024         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
2025         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
2026         (gst_basesrc_check_get_range), (gst_basesrc_loop),
2027         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
2028         (gst_basesrc_stop), (gst_basesrc_activate),
2029         (gst_basesrc_change_state), (basesrc_find_peek),
2030         (basesrc_find_suggest), (gst_basesrc_type_find):
2031         * gst/base/gstbasesrc.h:
2032         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
2033         (gst_filesrc_class_init), (gst_filesrc_init),
2034         (gst_filesrc_finalize), (gst_filesrc_set_location),
2035         (gst_filesrc_set_property), (gst_filesrc_get_property),
2036         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
2037         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
2038         (gst_filesrc_create_read), (gst_filesrc_create),
2039         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
2040         * gst/elements/gstfilesrc.h:
2041         * gst/gstelement.c: (gst_element_get_state_func),
2042         (gst_element_lost_state), (gst_element_pads_activate):
2043         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2044         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
2045         (gst_pad_pull_range):
2046         * gst/gstpad.h:
2047         More work on the generic source base class, implement seeking,
2048         query.
2049         Make filesrc extend the base source class.
2050         Added gst_pad_set_checkgetrange_function to GstPad.
2051
2052 2005-04-06  Andy Wingo  <wingo@pobox.com>
2053
2054         * pkgconfig/gstreamer-base.pc.in:
2055         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
2056
2057         * pkgconfig/Makefile.am:
2058         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
2059
2060 2005-04-04  Wim Taymans  <wim@fluendo.com>
2061
2062         * gst/base/Makefile.am:
2063         * gst/base/README:
2064         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2065         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2066         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2067         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
2068         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2069         (gst_basesrc_base_init), (gst_basesrc_class_init),
2070         (gst_basesrc_init), (gst_basesrc_get_formats),
2071         (gst_basesrc_get_query_types), (gst_basesrc_query),
2072         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
2073         (gst_basesrc_set_property), (gst_basesrc_get_property),
2074         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
2075         (gst_basesrc_loop), (gst_basesrc_activate),
2076         (gst_basesrc_change_state):
2077         * gst/base/gstbasesrc.h:
2078         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
2079         (gst_fakesrc_class_init), (gst_fakesrc_init),
2080         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
2081         (gst_fakesrc_get_property), (gst_fakesrc_create):
2082         * gst/elements/gstfakesrc.h:
2083         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
2084         (gst_filesrc_open_file), (gst_filesrc_loop),
2085         (gst_filesrc_activate), (filesrc_find_peek),
2086         (gst_filesrc_type_find):
2087         Made base source class, make fakesrc extend it.
2088         Add comments to basesink class.
2089         Some filesrc cleanup.
2090
2091 2005-03-31  David Schleef  <ds@schleef.org>
2092
2093         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
2094         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
2095         expected to link against libgstreamer.
2096         * gst/base/Makefile.am: link against libgstreamer
2097         * gst/elements/Makefile.am: same
2098
2099 2005-03-31  Andy Wingo  <wingo@pobox.com>
2100
2101         * tests/instantiate/Makefile.am:
2102         * tests/instantiate/caps.c: Add test to test speed of caps copy
2103         and free.
2104
2105         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
2106         GMemChunk to be fair.
2107
2108         * gst/gsttrashstack.h: Remove warning about using the fallback
2109         trash stack implementation, it's still faster than malloc.
2110
2111 2005-03-30  Andy Wingo  <wingo@pobox.com>
2112
2113         * tests/complexity.c: Add a copyright.
2114
2115 2005-03-31  Wim Taymans  <wim@fluendo.com>
2116
2117         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
2118         (gst_base_transform_class_init), (gst_base_transform_init),
2119         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
2120         (gst_base_transform_get_property),
2121         (gst_base_transform_sink_activate),
2122         (gst_base_transform_src_activate),
2123         (gst_base_transform_change_state):
2124         * gst/base/gstbasetransform.h:
2125         * gst/elements/gstidentity.c: (gst_identity_class_init),
2126         (gst_identity_event), (gst_identity_check_perfect),
2127         (gst_identity_transform), (gst_identity_start),
2128         (gst_identity_stop):
2129         Added start/stop methods to transform base class so subclasses 
2130         don't need to deal with state changes even.
2131
2132 2005-03-31  Wim Taymans  <wim@fluendo.com>
2133
2134         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
2135         (gst_event_new_discontinuous), (gst_event_discont_get_value):
2136         * gst/gstevent.h:
2137         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2138         (gst_pad_pull_range):
2139         Added rate to the discont event to prepare for variable speed
2140         and reverse playback.
2141
2142 2005-03-29  David Schleef  <ds@schleef.org>
2143
2144         * configure.ac:
2145         * testsuite/trigger/Makefile.am:
2146         * testsuite/trigger/trigger.c: A little example program to show
2147         how trigger-based elements can work.
2148
2149 2005-03-29  Wim Taymans  <wim@fluendo.com>
2150
2151         * gst/base/Makefile.am:
2152         * gst/base/README:
2153         * gst/base/gstbasesink.c: (gst_basesink_get_type),
2154         (gst_basesink_base_init), (gst_basesink_class_init),
2155         (gst_basesink_pad_getcaps), (gst_basesink_init),
2156         (gst_basesink_activate), (gst_basesink_change_state):
2157         * gst/base/gstbasesink.h:
2158         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2159         (gst_base_transform_base_init), (gst_base_transform_finalize),
2160         (gst_base_transform_class_init), (gst_base_transform_init),
2161         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
2162         (gst_base_transform_event), (gst_base_transform_getrange),
2163         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
2164         (gst_base_transform_set_property),
2165         (gst_base_transform_get_property),
2166         (gst_base_transform_sink_activate),
2167         (gst_base_transform_src_activate),
2168         (gst_base_transform_change_state):
2169         * gst/base/gstbasetransform.h:
2170         * gst/elements/gstidentity.c: (gst_identity_finalize),
2171         (gst_identity_class_init), (gst_identity_init),
2172         (gst_identity_event), (gst_identity_check_perfect),
2173         (gst_identity_transform), (gst_identity_set_property),
2174         (gst_identity_get_property), (gst_identity_change_state):
2175         * gst/elements/gstidentity.h:
2176         * gst/gstelement.c: (gst_element_get_state_func),
2177         (gst_element_lost_state), (gst_element_pads_activate):
2178         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2179         (gst_pad_check_pull_range), (gst_pad_pull_range):
2180         * gst/gstpad.h:
2181         Simplify pad activation.
2182         Added function to check if pull_range can be performed.
2183         Error out when pulling inactive or flushing pads.
2184         Removed const from refcounted types as it does not make sense.
2185         Simplify pad templates in basesink
2186         Added base class for simple 1-to-1 transforms.
2187         Make identity subclass the base transform.
2188
2189 2005-03-29  Andy Wingo  <wingo@pobox.com>
2190
2191         * docs/libs/gstreamer-libs-overrides.txt: 
2192         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
2193         really don't understand what's going on, but like whatever. I want
2194         green buildbot!
2195
2196         * docs/gst/Makefile.am:
2197         * docs/libs/Makefile.am: Dist the overrides files.
2198
2199         * check/Makefile.am (clean-local): Remove .libs directories.
2200
2201         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
2202         elements to EXTRA_DIST, so po/ files are happy.
2203
2204         * po/POTFILES.in: Er, remove it here.
2205
2206         * po/POTFILES: Remove gstspider.c.
2207
2208         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
2209
2210         * docs/libs/gstreamer-libs-docs.sgml: 
2211         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
2212         bytestream.
2213
2214         * tests/complexity.c (main): Set the length of the preroll queue
2215         on the sinks to prevent a lockup.
2216
2217         * libs/gst/dataprotocol/Makefile.am: 
2218         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
2219         the same as the one in check/gst-libs/gdp.c.
2220
2221         * po/, docs/gst/: Commit automatic changes to docs and po files.
2222
2223         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
2224         the versioned libgstbase.
2225
2226         * check/Makefile.am: Depend on an unversioned gst-register, seems
2227         to make autoconf happier.
2228
2229         * gst/base/Makefile.am: Make libgstbase a versioned lib.
2230
2231 2005-03-28  Wim Taymans  <wim@fluendo.com>
2232
2233         * configure.ac:
2234         * docs/design/part-gstelement.txt:
2235         * docs/design/part-negotiation.txt:
2236         * docs/design/part-preroll.txt:
2237         * docs/design/part-scheduling.txt:
2238         * docs/design/part-states.txt:
2239         * gst/Makefile.am:
2240         * gst/base/Makefile.am:
2241         * gst/base/README:
2242         * gst/base/gstbasesink.c: (gst_basesink_get_template),
2243         (gst_basesink_base_init), (gst_basesink_class_init),
2244         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2245         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2246         (gst_basesink_set_pad_functions),
2247         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
2248         (gst_basesink_set_property), (gst_basesink_get_property),
2249         (gst_base_sink_get_template), (gst_base_sink_get_caps),
2250         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
2251         (gst_basesink_preroll_queue_push),
2252         (gst_basesink_preroll_queue_empty),
2253         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
2254         (gst_basesink_event), (gst_basesink_get_times),
2255         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
2256         (gst_basesink_chain_unlocked), (gst_basesink_chain),
2257         (gst_basesink_loop), (gst_basesink_activate),
2258         (gst_basesink_change_state):
2259         * gst/base/gstbasesink.h:
2260         * gst/elements/Makefile.am:
2261         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
2262         (gst_fakesink_class_init), (gst_fakesink_init),
2263         (gst_fakesink_set_property), (gst_fakesink_get_property),
2264         (gst_fakesink_get_times), (gst_fakesink_event),
2265         (gst_fakesink_preroll), (gst_fakesink_render),
2266         (gst_fakesink_change_state):
2267         * gst/elements/gstfakesink.h:
2268         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2269         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
2270         * gst/gstelement.c: (gst_element_add_pad),
2271         (gst_element_get_state_func), (gst_element_abort_state),
2272         (gst_element_commit_state), (gst_element_lost_state),
2273         (gst_element_set_state), (gst_element_pads_activate):
2274         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
2275         * gst/gstpipeline.c: (gst_pipeline_send_event),
2276         (gst_pipeline_change_state):
2277         Added state change code.
2278         Added/updated docs.
2279         Added sink base class, make fakesink extend the base class.
2280         Small cleanups in GstPipeline.
2281
2282 2005-03-26  David Schleef  <ds@schleef.org>
2283
2284         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
2285         is broken and should be implemented in a different library.
2286         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
2287         * gst/gst.h: remove gstcpu.h
2288         * gst/gstcpu.c: remove
2289         * gst/gstcpu.h: remove
2290         * gst/Makefile.am.future: Remove this file.  It's ancient.
2291
2292 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2293
2294         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2295         (gst_bin_send_event):
2296           Add default event/set_manager handlers. The set_manager handler
2297           takes care that the manager is distributed over kids that were
2298           already in the bin before the manager was set. The event handler
2299           is a utility virtual function that sends the event over all sinks,
2300           so that gst_element_send_event (bin, event); has the expected
2301           behaviour.
2302         * gst/gstpad.c: (gst_pad_event_default):
2303           Re-install default event handling for discontinuities, so that
2304           seeking works without requiring hacks in applications or extra
2305           code in sinks.
2306         * gst/gstpipeline.c: (gst_pipeline_class_init),
2307         (gst_pipeline_send_event):
2308           Half hack, half utility: set a pipeline to PAUSED for seek events,
2309           since that is the only way we can guarantee a/v sync. Means that
2310           you can do gst_element_seek (pipeline, method, pos); on a pipeline
2311           and it "just works".
2312
2313 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2314
2315         * gst/gstpipeline.c: (gst_pipeline_use_clock):
2316           Lock/unlock mismatch.
2317
2318 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2319
2320         * docs/faq/gst-uninstalled:
2321           add gst-plugins-base
2322         * docs/gst/Makefile.am:
2323           don't error out until docs are fixed
2324         * docs/gst/gstreamer.types:
2325           remove thread
2326
2327 2005-03-22  Wim Taymans  <wim@fluendo.com>
2328
2329         * check/Makefile.am:
2330         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
2331         * gst/gststructure.c: (gst_structure_set_valist),
2332         (gst_structure_copy_conditional):
2333         Activated more tests.
2334         Added message test.
2335         Added G_TYPE_POINTER to GstStructure.
2336         
2337
2338 2005-03-22  Wim Taymans  <wim@fluendo.com>
2339
2340         * docs/design/part-TODO.txt:
2341         * docs/design/part-events.txt:
2342         * docs/design/part-gstbin.txt:
2343         * docs/design/part-gstbus.txt:
2344         * docs/design/part-gstpipeline.txt:
2345         * docs/design/part-messages.txt:
2346         * gst/gstbus.c:
2347         * gst/gstmessage.c:
2348         Docs updates
2349
2350 2005-03-21  Wim Taymans  <wim@fluendo.com>
2351
2352         * gst/gstbus.c: (gst_bus_post):
2353         Fix copy-and-paste error.
2354
2355 2005-03-21  Wim Taymans  <wim@fluendo.com>
2356
2357         * check/Makefile.am:
2358         * gst/Makefile.am:
2359         * gst/elements/Makefile.am:
2360         * gst/elements/gstelements.c:
2361         * gst/elements/gstfakesink.c: (gst_fakesink_init),
2362         (gst_fakesink_event), (gst_fakesink_chain):
2363         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2364         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
2365         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
2366         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
2367         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2368         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
2369         (gst_fakesrc_loop), (gst_fakesrc_activate),
2370         (gst_fakesrc_change_state):
2371         * gst/elements/gstfakesrc.h:
2372         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
2373         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
2374         (gst_filesrc_open_file), (gst_filesrc_loop),
2375         (gst_filesrc_activate), (gst_filesrc_change_state),
2376         (filesrc_find_peek), (filesrc_find_suggest),
2377         (gst_filesrc_type_find):
2378         * gst/elements/gstidentity.c: (gst_identity_finalize),
2379         (gst_identity_class_init), (gst_identity_init),
2380         (gst_identity_proxy_getcaps), (identity_queue_push),
2381         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
2382         (gst_identity_getrange), (gst_identity_chain),
2383         (gst_identity_sink_loop), (gst_identity_src_loop),
2384         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
2385         (gst_identity_set_property), (gst_identity_get_property),
2386         (gst_identity_change_state):
2387         * gst/elements/gstidentity.h:
2388         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2389         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
2390         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
2391         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
2392         (gst_tee_sink_activate):
2393         * gst/elements/gsttee.h:
2394         * gst/gst.c: (gst_register_core_elements), (init_post):
2395         * gst/gst.h:
2396         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
2397         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
2398         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
2399         (gst_bin_change_state):
2400         * gst/gstbin.h:
2401         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
2402         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
2403         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
2404         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
2405         (gst_bus_set_sync_handler), (gst_bus_create_watch),
2406         (bus_watch_callback), (bus_watch_destroy),
2407         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
2408         (poll_timeout), (gst_bus_poll):
2409         * gst/gstbus.h:
2410         * gst/gstcaps.h:
2411         * gst/gstdata.h:
2412         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2413         (gst_element_post_message), (gst_element_message_full),
2414         (gst_element_get_state_func), (gst_element_get_state),
2415         (gst_element_abort_state), (gst_element_commit_state),
2416         (gst_element_lost_state), (gst_element_set_state),
2417         (gst_element_pads_activate), (gst_element_change_state),
2418         (gst_element_dispose), (gst_element_set_manager_func),
2419         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
2420         (gst_element_set_manager), (gst_element_get_manager),
2421         (gst_element_set_bus), (gst_element_get_bus),
2422         (gst_element_set_scheduler), (gst_element_get_scheduler):
2423         * gst/gstelement.h:
2424         * gst/gstevent.c: (gst_event_new_segment_seek),
2425         (gst_event_new_flush):
2426         * gst/gstevent.h:
2427         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
2428         (_gst_message_free), (gst_message_get_type), (gst_message_new),
2429         (gst_message_new_eos), (gst_message_new_error),
2430         (gst_message_new_warning), (gst_message_new_tag),
2431         (gst_message_new_state_changed), (gst_message_new_application),
2432         (gst_message_get_structure), (gst_message_parse_tag),
2433         (gst_message_parse_state_changed), (gst_message_parse_error),
2434         (gst_message_parse_warning):
2435         * gst/gstmessage.h:
2436         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
2437         (gst_real_pad_set_property), (gst_pad_set_active),
2438         (gst_pad_is_active), (gst_pad_set_blocked_async),
2439         (gst_pad_set_blocked), (gst_pad_is_blocked),
2440         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
2441         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
2442         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
2443         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
2444         (gst_pad_link_filtered), (gst_pad_relink_filtered),
2445         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
2446         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
2447         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
2448         (gst_pad_set_caps), (gst_pad_configure_sink),
2449         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
2450         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
2451         (gst_real_pad_dispose), (gst_real_pad_finalize),
2452         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
2453         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2454         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
2455         * gst/gstpad.h:
2456         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
2457         (pipeline_bus_handler), (gst_pipeline_change_state),
2458         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
2459         * gst/gstpipeline.h:
2460         * gst/gstprobe.h:
2461         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2462         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
2463         (gst_queue_link_src), (gst_queue_bufferalloc),
2464         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2465         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
2466         (gst_queue_loop), (gst_queue_handle_src_event),
2467         (gst_queue_handle_src_query), (gst_queue_src_activate),
2468         (gst_queue_change_state):
2469         * gst/gstqueue.h:
2470         * gst/gstscheduler.c: (gst_scheduler_init),
2471         (gst_scheduler_dispose), (gst_scheduler_create_task),
2472         (gst_scheduler_factory_create):
2473         * gst/gstscheduler.h:
2474         * gst/gststructure.c: (gst_structure_get_type),
2475         (gst_structure_copy_conditional):
2476         * gst/gststructure.h:
2477         * gst/gsttaginterface.h:
2478         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
2479         (gst_task_init), (gst_task_dispose), (gst_task_create),
2480         (gst_task_get_state), (gst_task_start), (gst_task_stop),
2481         (gst_task_pause):
2482         * gst/gsttask.h:
2483         * gst/gstthread.c:
2484         * gst/gstthread.h:
2485         * gst/gsttypes.h:
2486         * gst/schedulers/Makefile.am:
2487         * gst/schedulers/cothreads_compat.h:
2488         * gst/schedulers/entryscheduler.c:
2489         * gst/schedulers/faircothreads.c:
2490         * gst/schedulers/faircothreads.h:
2491         * gst/schedulers/fairscheduler.c:
2492         * gst/schedulers/gstbasicscheduler.c:
2493         * gst/schedulers/gstoptimalscheduler.c:
2494         * gst/schedulers/gthread-cothreads.h:
2495         * gst/schedulers/threadscheduler.c:
2496         (gst_thread_scheduler_task_get_type),
2497         (gst_thread_scheduler_task_class_init),
2498         (gst_thread_scheduler_task_init),
2499         (gst_thread_scheduler_task_start),
2500         (gst_thread_scheduler_task_stop),
2501         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
2502         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2503         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
2504         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
2505         (plugin_init):
2506         * libs/gst/Makefile.am:
2507         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
2508         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
2509         (gst_file_pad_parent_set):
2510         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2511         (gst_dp_event_from_packet):
2512         * tests/complexity.c: (main):
2513         * tests/mass_elements.c: (main):
2514         * testsuite/states/locked.c: (message_received), (main):
2515         * testsuite/states/parent.c: (main):
2516         * tools/gst-inspect.c: (print_element_flag_info),
2517         (print_implementation_info), (print_pad_info):
2518         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
2519         (main):
2520         * tools/gst-md5sum.c: (event_loop), (main):
2521         * tools/gst-typefind.c: (main):
2522         * tools/gst-xmlinspect.c: (print_element_info):
2523         Next big merge.
2524         Added GstBus for mainloop integration.
2525         Added GstMessage for sending notifications on the bus.
2526         Added GstTask as an abstraction for pipeline entry points.
2527         Removed GstThread.
2528         Removed Schedulers.
2529         Simplified GstQueue for multithreaded core.
2530         Made _link threadsafe, removed old capsnego.
2531         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
2532         Added pad blocking functions.
2533         Reworked scheduling functions in GstPad to prepare for
2534         scheduling updates soon.
2535         Moved events out of data stream.
2536         Simplified GstEvent types.
2537         Added return values to push/pull.
2538         Removed clocking from GstElement.
2539         Added prototypes for state change function for next merge.
2540         Removed iterate from bins and state change management.
2541         Fixed some elements, disabled others for now.
2542         Fixed -inspect and -launch.
2543         Added check for GstBus.
2544
2545 2005-03-10  Wim Taymans  <wim@fluendo.com>
2546
2547         * docs/design/part-MT-refcounting.txt:
2548         * docs/design/part-clocks.txt:
2549         * docs/design/part-gstelement.txt:
2550         * docs/design/part-gstobject.txt:
2551         * docs/design/part-standards.txt:
2552         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2553         (gst_bin_remove_func), (gst_bin_remove):
2554         * gst/gstbin.h:
2555         * gst/gstbuffer.c:
2556         * gst/gstcaps.h:
2557         * testsuite/clock/clock1.c: (main):
2558         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
2559         (main):
2560         * testsuite/dlopen/loadgst.c: (do_test):
2561         * testsuite/refcounting/bin.c: (add_remove_test1),
2562         (add_remove_test2), (main):
2563         * testsuite/refcounting/element.c: (main):
2564         * testsuite/refcounting/element_pad.c: (main):
2565         * testsuite/refcounting/pad.c: (main):
2566         * tools/gst-launch.c: (sigint_handler_sighandler):
2567         * tools/gst-typefind.c: (main):
2568         Doc updates.
2569         Added doc about clock.
2570         removed gst_bin_iterate_recurse_up(), marked methods
2571         for removal.
2572         Fix more testsuites.
2573
2574 2005-03-09  Wim Taymans  <wim@fluendo.com>
2575
2576         * gst/gstpad.c: (gst_pad_get_direction),
2577         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
2578         (gst_pad_collect_valist):
2579         * testsuite/bins/interface.c: (main):
2580         * testsuite/caps/audioscale.c: (test_caps):
2581         * testsuite/caps/caps.c: (test1), (test2), (test3):
2582         * testsuite/caps/deserialize.c: (main):
2583         * testsuite/caps/enumcaps.c: (main):
2584         * testsuite/caps/filtercaps.c: (main):
2585         * testsuite/caps/intersect2.c: (main):
2586         * testsuite/caps/random.c: (main):
2587         * testsuite/caps/renegotiate.c: (my_fixate), (main):
2588         * testsuite/caps/sets.c: (check_caps):
2589         * testsuite/caps/simplify.c: (check_caps), (main):
2590         * testsuite/caps/subtract.c: (check_caps):
2591         Fix _pad_get_direction wrt ghostpads.
2592         Fix caps testsuite.
2593
2594 2005-03-09  Wim Taymans  <wim@fluendo.com>
2595
2596         * check/Makefile.am:
2597         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
2598         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
2599         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
2600         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
2601         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
2602         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
2603         (gst_bin_remove), (gst_bin_iterate_recurse_up),
2604         (bin_element_is_sink), (gst_bin_iterate_sinks),
2605         (gst_bin_iterate_all_by_interface):
2606         * gst/gstbin.h:
2607         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
2608         (gst_element_change_state), (gst_element_dispose),
2609         (gst_element_finalize), (gst_element_set_loop_function):
2610         * gst/gstelement.h:
2611         * gst/gstiterator.c: (find_custom_fold_func):
2612         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2613         (gst_pad_collectv), (gst_pad_collect_valist),
2614         (gst_pad_template_new):
2615         * gst/gstpipeline.c: (gst_pipeline_class_init),
2616         (gst_pipeline_dispose), (gst_pipeline_set_property),
2617         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
2618         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
2619         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
2620         * gst/gstutils.h:
2621         * gst/schedulers/entryscheduler.c:
2622         * gst/schedulers/gstbasicscheduler.c:
2623         (gst_basic_scheduler_cothreaded_chain),
2624         (gst_basic_scheduler_chain_add_element):
2625         * testsuite/bins/interface.c: (main):
2626         Added GstBin test.
2627         Added GstSystemClock test.
2628         Implemented clock distribution code in GstBin.
2629         Implemented iterate sinks method for future use.
2630         Rearranged gstelement.h
2631         Fix GstIterator comparison bug.
2632         Moved some code to GstPipeline, mostly clocking related.
2633
2634 2005-03-09  Wim Taymans  <wim@fluendo.com>
2635
2636         * configure.ac:
2637         * gst/gst_private.h:
2638         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2639         (gst_bin_remove_func), (gst_bin_remove),
2640         (gst_bin_get_by_name_recurse_up):
2641         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
2642         (gst_clock_id_compare_func), (gst_clock_id_wait),
2643         (gst_clock_id_wait_async), (gst_clock_init),
2644         (gst_clock_adjust_unlocked), (gst_clock_get_time):
2645         * gst/gstelement.h:
2646         * gst/gstinfo.c: (_gst_debug_init):
2647         * gst/gstobject.h:
2648         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2649         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
2650         * gst/gstpad.h:
2651         Bump version number, we're now 0.9.0
2652         Add future debugging category.
2653         Fix NULL _unref() in _get_by_name_recurse_up
2654         Rearrange gstpad.h.
2655         Update some docs.
2656
2657 2005-03-08  Wim Taymans  <wim@fluendo.com>
2658
2659         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
2660         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
2661         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2662         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
2663         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
2664         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
2665         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
2666         * gst/elements/gstidentity.c: (gst_identity_class_init):
2667         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
2668         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
2669         * gst/elements/gstshaper.c: (gst_shaper_class_init):
2670         * gst/elements/gststatistics.c: (gst_statistics_class_init):
2671         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
2672         (gst_tee_link):
2673         * gst/gstelement.c: (gst_element_class_init),
2674         (gst_element_base_class_init), (gst_element_init),
2675         (gst_element_get_random_pad), (gst_element_wait_state_change),
2676         (gst_element_change_state), (gst_element_dispose),
2677         (gst_element_finalize), (gst_element_set_loop_function):
2678         * gst/gstelement.h:
2679         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
2680         * gst/gstthread.c: (gst_thread_class_init),
2681         (gst_thread_release_children_locks), (gst_thread_change_state):
2682         * gst/schedulers/gstbasicscheduler.c:
2683         (gst_basic_scheduler_loopfunc_wrapper),
2684         (gst_basic_scheduler_chain_wrapper),
2685         (gst_basic_scheduler_src_wrapper),
2686         (gst_basic_scheduler_remove_element):
2687         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
2688         Remove threadsafe properties. Fix elements because GObject
2689         complains when installing a property before declaring a
2690         set/get_property handler.
2691         Rearrange gstelement.h file, use STATE macros for state locks.
2692         Free mutexes in the finalize method instead of dispose.
2693
2694 2005-03-08  Wim Taymans  <wim@fluendo.com>
2695
2696         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
2697         * gst/gstthread.c: (gst_thread_release_children_locks):
2698         Added parentage check.
2699         Fix build og GstThread again.
2700
2701 2005-03-08  Wim Taymans  <wim@fluendo.com>
2702
2703         * docs/design/part-MT-refcounting.txt:
2704         * docs/design/part-conventions.txt:
2705         * docs/design/part-gstobject.txt:
2706         * docs/design/part-relations.txt:
2707         * docs/design/part-standards.txt:
2708         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2709         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
2710         (gst_bin_get_by_name), (gst_bin_get_by_interface),
2711         (gst_bin_iterate_all_by_interface):
2712         * gst/gstbuffer.h:
2713         * gst/gstclock.h:
2714         * gst/gstelement.c: (gst_element_class_init),
2715         (gst_element_change_state), (gst_element_set_loop_function):
2716         * gst/gstelement.h:
2717         * gst/gstiterator.c:
2718         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
2719         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
2720         (gst_object_dispatch_properties_changed), (gst_object_set_name),
2721         (gst_object_set_parent), (gst_object_unparent),
2722         (gst_object_check_uniqueness):
2723         * gst/gstobject.h:
2724         Docs updates, clean up some headers.
2725
2726 2005-03-07  Wim Taymans  <wim@fluendo.com>
2727
2728         * check/.cvsignore:
2729         * check/Makefile.am:
2730         * check/gst-libs/.cvsignore:
2731         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
2732         * check/gst/.cvsignore:
2733         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
2734         (START_TEST), (gstbus_suite), (main):
2735         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
2736         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
2737         (gst_data_suite), (main):
2738         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
2739         (add_fold_func), (gstiterator_suite), (main):
2740         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
2741         (thread_name_object), (thread_name_object_default),
2742         (gst_object_name_compare), (gst_object_suite), (main):
2743         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
2744         (gst_pad_suite), (main):
2745         * check/gstcheck.c: (gst_check_log_message_func),
2746         (gst_check_log_critical_func), (gst_check_init):
2747         * check/gstcheck.h:
2748         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2749         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
2750         Added checks.
2751
2752 2005-03-07  Wim Taymans  <wim@fluendo.com>
2753
2754         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
2755         (gst_list_iterator_next), (gst_list_iterator_resync),
2756         (gst_list_iterator_free), (gst_iterator_new_list),
2757         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
2758         (gst_iterator_free), (gst_iterator_push), (filter_next),
2759         (filter_resync), (filter_uninit), (filter_free),
2760         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
2761         (gst_iterator_foreach), (find_custom_fold_func),
2762         (gst_iterator_find_custom):
2763         * gst/gstiterator.h:
2764         Added missing files.
2765
2766 2005-03-07  Wim Taymans  <wim@fluendo.com>
2767
2768         * Makefile.am:
2769         * configure.ac:
2770         * docs/design/part-MT-refcounting.txt:
2771         * docs/design/part-conventions.txt:
2772         * docs/design/part-gstobject.txt:
2773         * docs/design/part-relations.txt:
2774         * examples/mixer/mixer.c: (main):
2775         * examples/thread/thread.c: (eos), (main):
2776         * gst/Makefile.am:
2777         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
2778         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
2779         (gst_spider_plug_from_srcpad):
2780         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
2781         (gst_spider_identity_change_state),
2782         (gst_spider_identity_sink_loop_type_finding):
2783         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
2784         * gst/elements/gstidentity.c: (gst_identity_init):
2785         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
2786         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
2787         * gst/elements/gsttypefindelement.c: (free_entry):
2788         * gst/gst.c:
2789         * gst/gst.h:
2790         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
2791         (gst_bin_set_clock_func), (gst_bin_auto_clock),
2792         (gst_bin_set_index), (gst_bin_set_element_sched),
2793         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
2794         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
2795         (gst_bin_iterate_elements), (iterate_child_recurse),
2796         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
2797         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
2798         (compare_interface), (gst_bin_get_by_interface),
2799         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
2800         * gst/gstbin.h:
2801         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
2802         (gst_buffer_default_free), (gst_buffer_default_copy),
2803         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
2804         (gst_buffer_create_sub):
2805         * gst/gstbuffer.h:
2806         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
2807         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
2808         (gst_caps_unref), (gst_static_caps_get),
2809         (gst_caps_remove_and_get_structure), (gst_caps_append),
2810         (gst_caps_append_structure), (gst_caps_remove_structure),
2811         (gst_caps_copy_nth), (gst_caps_set_simple),
2812         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
2813         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
2814         (gst_caps_structure_intersect_field), (gst_caps_intersect),
2815         (gst_caps_structure_subtract_field), (gst_caps_subtract),
2816         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
2817         (gst_caps_structure_figure_out_union),
2818         (gst_caps_switch_structures), (gst_caps_do_simplify),
2819         (gst_caps_replace), (gst_caps_from_string),
2820         (gst_caps_copy_conditional):
2821         * gst/gstcaps.h:
2822         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
2823         (_gst_clock_id_free), (gst_clock_id_unref),
2824         (gst_clock_id_compare_func), (gst_clock_id_wait),
2825         (gst_clock_id_wait_async), (gst_clock_class_init),
2826         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
2827         (gst_clock_get_time), (gst_clock_set_time_adjust),
2828         (gst_clock_set_property), (gst_clock_get_property):
2829         * gst/gstclock.h:
2830         * gst/gstcompat.h:
2831         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
2832         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
2833         * gst/gstdata.h:
2834         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2835         (gst_element_requires_clock), (gst_element_provides_clock),
2836         (gst_element_set_clock), (gst_element_clock_wait),
2837         (gst_element_wait), (gst_element_set_time_delay),
2838         (gst_element_is_indexable), (gst_element_add_pad),
2839         (gst_element_add_ghost_pad), (gst_element_remove_pad),
2840         (pad_compare_name), (gst_element_get_static_pad),
2841         (gst_element_request_pad), (gst_element_get_request_pad),
2842         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
2843         (gst_element_class_get_pad_template_list),
2844         (gst_element_class_get_pad_template), (gst_element_error_func),
2845         (gst_element_get_random_pad), (gst_element_get_event_masks),
2846         (gst_element_send_event), (gst_element_seek),
2847         (gst_element_get_query_types), (gst_element_query),
2848         (gst_element_get_formats), (gst_element_convert),
2849         (gst_element_is_locked_state), (gst_element_set_locked_state),
2850         (gst_element_sync_state_with_parent), (gst_element_change_state),
2851         (gst_element_finalize), (gst_element_yield),
2852         (gst_element_interrupt), (gst_element_set_scheduler),
2853         (gst_element_get_scheduler), (gst_element_set_loop_function):
2854         * gst/gstelement.h:
2855         * gst/gstevent.h:
2856         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
2857         (gst_format_get_by_nick), (gst_format_get_details),
2858         (gst_format_iterate_definitions):
2859         * gst/gstformat.h:
2860         * gst/gstindex.c: (gst_index_gtype_resolver):
2861         * gst/gstinfo.c:
2862         * gst/gstinfo.h:
2863         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
2864         (gst_mem_chunk_free):
2865         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2866         (gst_object_ref), (gst_object_unref), (gst_object_sink),
2867         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
2868         (gst_object_dispatch_properties_changed),
2869         (gst_object_set_name_default), (gst_object_set_name),
2870         (gst_object_get_name), (gst_object_set_name_prefix),
2871         (gst_object_get_name_prefix), (gst_object_set_parent),
2872         (gst_object_get_parent), (gst_object_unparent),
2873         (gst_object_check_uniqueness), (gst_object_save_thyself),
2874         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
2875         (gst_object_set_property), (gst_object_get_property),
2876         (gst_object_get_path_string):
2877         * gst/gstobject.h:
2878         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2879         (gst_real_pad_init), (gst_real_pad_get_property),
2880         (gst_pad_custom_new), (gst_pad_get_direction),
2881         (gst_pad_set_active), (gst_pad_is_active),
2882         (gst_pad_set_event_function), (gst_pad_is_linked),
2883         (gst_pad_link_free), (gst_pad_link_intersect),
2884         (gst_pad_link_fixate), (gst_pad_set_caps),
2885         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
2886         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
2887         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
2888         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
2889         (gst_pad_get_caps), (gst_pad_peer_get_caps),
2890         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
2891         (gst_pad_realize), (gst_pad_get_allowed_caps),
2892         (gst_real_pad_dispose), (gst_real_pad_finalize),
2893         (gst_pad_collectv), (gst_pad_collect_valist),
2894         (gst_pad_template_dispose), (gst_pad_template_new),
2895         (gst_pad_get_internal_links):
2896         * gst/gstpad.h:
2897         * gst/gstpipeline.c: (gst_pipeline_dispose),
2898         (gst_pipeline_change_state):
2899         * gst/gstpipeline.h:
2900         * gst/gstplugin.c:
2901         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
2902         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
2903         * gst/gstpluginfeature.h:
2904         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
2905         * gst/gstquery.c: (_gst_query_type_initialize),
2906         (gst_query_type_register), (gst_query_type_get_by_nick),
2907         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
2908         * gst/gstquery.h:
2909         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
2910         * gst/gstscheduler.c: (gst_scheduler_add_element),
2911         (gst_scheduler_factory_create):
2912         * gst/gststructure.c: (gst_structure_set_parent_refcount),
2913         (gst_structure_free), (gst_structure_set_name),
2914         (gst_structure_id_set_value), (gst_structure_set_value),
2915         (gst_structure_set_valist), (gst_structure_remove_field),
2916         (gst_structure_remove_fields),
2917         (gst_structure_remove_fields_valist),
2918         (gst_structure_remove_all_fields), (gst_structure_foreach),
2919         (gst_structure_map_in_place),
2920         (gst_caps_structure_fixate_field_nearest_int),
2921         (gst_caps_structure_fixate_field_nearest_double):
2922         * gst/gststructure.h:
2923         * gst/gstsystemclock.c: (gst_system_clock_class_init),
2924         (gst_system_clock_init), (gst_system_clock_dispose),
2925         (gst_system_clock_async_thread),
2926         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
2927         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
2928         * gst/gstsystemclock.h:
2929         * gst/gsttag.c: (gst_tag_list_add_value_internal),
2930         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
2931         * gst/gsttaginterface.c:
2932         * gst/gstthread.c: (gst_thread_dispose),
2933         (gst_thread_release_children_locks), (gst_thread_change_state),
2934         (gst_thread_main_loop):
2935         * gst/gsttrashstack.h:
2936         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
2937         * gst/gsttypes.h:
2938         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2939         (gst_element_request_pad), (gst_element_get_pad_from_template),
2940         (gst_element_request_compatible_pad),
2941         (gst_element_get_compatible_pad_filtered),
2942         (gst_element_get_compatible_pad), (gst_element_state_get_name),
2943         (gst_element_link_pads_filtered), (gst_element_link_filtered),
2944         (gst_element_link_many), (gst_element_link),
2945         (gst_element_link_pads), (gst_element_unlink_pads),
2946         (gst_element_unlink_many), (gst_element_unlink),
2947         (gst_pad_can_link_filtered), (gst_pad_can_link),
2948         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
2949         (gst_object_default_error), (gst_bin_add_many),
2950         (gst_bin_remove_many), (gst_element_populate_std_props),
2951         (gst_element_class_install_std_props), (gst_buffer_merge),
2952         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
2953         (link_fold_func), (gst_pad_proxy_setcaps):
2954         * gst/gstutils.h:
2955         * gst/gstvalue.c: (gst_value_deserialize_string):
2956         * gst/parse/grammar.y:
2957         * gst/schedulers/gstbasicscheduler.c:
2958         (gst_basic_scheduler_cothreaded_chain),
2959         (gst_basic_scheduler_chain_recursive_add),
2960         (gst_basic_scheduler_pad_link):
2961         * gst/schedulers/gstoptimalscheduler.c:
2962         (get_group_schedule_function),
2963         (gst_opt_scheduler_state_transition),
2964         (gst_opt_scheduler_add_element), (element_get_reachables_func):
2965         * libs/gst/bytestream/bytestream.c:
2966         * libs/gst/dataprotocol/dataprotocol.c:
2967         (gst_dp_header_from_buffer):
2968         * po/nb.po:
2969         * po/ru.po:
2970         * tests/threadstate/threadstate2.c: (eos):
2971         * tools/gst-compprep.c: (main):
2972         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
2973         (print_pad_info), (print_children_info):
2974         * tools/gst-launch.c: (idle_func), (main):
2975         * tools/gst-md5sum.c: (idle_func), (main):
2976         * tools/gst-xmlinspect.c: (print_element_info):
2977         First THREADED backport attempt, focusing on adding locks and
2978         making sure the API is threadsafe. Needs more work. More docs
2979         follow this week.
2980
2981 2005-02-24  Andy Wingo  <wingo@pobox.com>
2982
2983         * tests/bench-complexity.scm:
2984         * tests/complexity.gnuplot: New files, good for running complexity
2985         benchmarks.
2986
2987         * tests/Makefile.am:
2988         * tests/complexity.c: New test, sets up N elements, at each level
2989         teeing into M streams per element. Eeeenteresting.
2990
2991         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
2992         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
2993         running bench-mass_elements.scm.
2994
2995         * tests/bench-mass_elements.scm: New script, runs mass_elements
2996         for various numbers of identities, outputting the results to a
2997         file. Requires guile 1.6. Just for testing.
2998
2999 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3000
3001         * gst/schedulers/fairscheduler.c:
3002           compile with debug disabled
3003
3004 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3005
3006         * configure.ac:
3007           hunting season on 0.9 is now OPEN
3008
3009 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
3010
3011         * docs/libs/tmpl/gstcontrol.sgml:
3012         * docs/libs/tmpl/gstdparam.sgml:
3013         * docs/libs/tmpl/gstdplinint.sgml:
3014         * docs/libs/tmpl/gstdpman.sgml:
3015         * docs/libs/tmpl/gstdpsmooth.sgml:
3016         * docs/libs/tmpl/gstunitconvert.sgml:
3017           more docs for the state of dparams
3018
3019 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3020
3021         * gst/gstelementfactory.c: (gst_element_factory_create):
3022         * gst/gstobject.c: (gst_object_init),
3023         (gst_object_set_name_default), (gst_object_set_name):
3024           name objects by default, not in gst_element_factory_create. Allows
3025           using elements created with g_object_new. (fixes #167283)
3026
3027 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3028
3029         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
3030           make the time that debugging functions print relative to when
3031           gst_init was called
3032
3033 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
3034
3035         * gst/gsttaginterface.c:
3036           Fix inline docs: tag setter vararg functions are NULL-terminated,
3037           GST_TAG_INVALID doesn't exist any more.
3038
3039 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3040
3041         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
3042         Allocate the 1 byte more memory that was forgotten!!!!!
3043         fixes memory corruption on 64bit platforms
3044
3045 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
3046
3047         * docs/pwg/building-pads.xml:
3048         * docs/pwg/intro-basics.xml:
3049           fixed a few typos, relabeled introductionary list of types
3050         * docs/random/ensonic/dparams.txt:
3051           more notes abut dparam changes
3052         * libs/gst/control/dparam.c: (gst_dparam_attach):
3053         * libs/gst/control/dparammanager.c:
3054         * libs/gst/control/dparammanager.h:
3055           - many comments and notes on dparam implementation
3056           - new dparams are were not initialized to the default value
3057             from param spec
3058
3059 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3060
3061         submitted by: Peter Astakhov
3062
3063         * po/LINGUAS:
3064         * po/ru.po:
3065           adding Russian translation
3066
3067 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3068
3069         * configure.ac:
3070         * docs/gst/Makefile.am:
3071         * docs/libs/Makefile.am:
3072           make sure popt is added to gtk-doc flags.  Fixes #147782.
3073
3074 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3075
3076         * docs/faq/using.xml:
3077           Fix typo in FAQ (artssink => artsdsink)
3078
3079 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3080
3081         * tools/gst-launch.1.in:
3082           Fix typo (#166699).
3083
3084 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
3085
3086         * docs/faq/using.xml:
3087           Add -v argument to fakesrc/fakesink gst-launch line,
3088           so that the promised output will actually show up.
3089
3090 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3091
3092         * gst/gstthread.c: (gst_thread_change_state):
3093           Implement state-change error handling (#166073).
3094
3095 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3096
3097         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3098           Release interrupt after handling (#166250).
3099
3100 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3101
3102         * configure.ac:
3103           back to HEAD
3104
3105 === release 0.8.9 ===
3106
3107 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3108
3109         * NEWS:
3110         * RELEASE:
3111         * configure.ac:
3112           releasing 0.8.9, "Like Eating Glass"
3113
3114 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3115
3116         submitted by: Clytie Siddall
3117
3118         * po/vi.po: Added Vietnamese translation
3119
3120 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3121
3122         patch by: Tim Philipp-Müller
3123
3124         * configure.ac:
3125         * gst/gstpad.c:
3126           unref data when probe function returns FALSE.  Fixes #166362
3127
3128 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3129
3130         * gst/gst.c: (gst_init_get_popt_table):
3131           Fix typo (#166269).
3132
3133 2005-02-04  Andy Wingo  <wingo@pobox.com>
3134
3135         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
3136         the debugging on whether the caps are compatible.
3137
3138 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3139
3140         * docs/manual/basics-elements.xml:
3141           Fix two typos.
3142
3143 2005-02-02  Wim Taymans  <wim@fluendo.com>
3144
3145         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
3146         (schedule_chain), (get_invalid_call), (chain_invalid_call),
3147         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
3148         Remove some FIXMEs after analysing and commenting why they
3149         are not issues.
3150
3151 2005-02-02  Wim Taymans  <wim@fluendo.com>
3152
3153         * gst/schedulers/gstoptimalscheduler.c:
3154         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
3155         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
3156         (get_invalid_call), (chain_invalid_call),
3157         (get_group_schedule_function), (loop_group_schedule_function),
3158         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
3159         (gst_opt_scheduler_state_transition),
3160         (gst_opt_scheduler_add_element),
3161         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
3162         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
3163         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
3164         (gst_opt_scheduler_show):
3165         Added lock to protect scheduler data structures.
3166
3167 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3168
3169         * testsuite/threads/threadi.c: (cb_data):
3170           Fix buglet in test.
3171
3172 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3173
3174         * testsuite/threads/Makefile.am:
3175         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
3176           On Wim's request, split the test in three separately-compiled
3177           tests that each test a very specific bug. Two of them still fail,
3178           will create bugs for those. threadi.c indicates why they fail.
3179
3180 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3181
3182         * gst/schedulers/gstoptimalscheduler.c:
3183         (get_group_schedule_function):
3184           Try to work with the threading mess that queue_link is.
3185
3186 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3187
3188         * gst/gstbin.c: (gst_bin_remove_func):
3189           Explicitely make an element release locks in a group when being
3190           remove from a bin.
3191         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3192           If there's no scheduler, always return immediately (similar to
3193           gst_element_interrupt).
3194
3195 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3196
3197         * gst/gstbin.c: (gst_bin_child_state_change_func):
3198           Remove a piece of code that could never be reached.
3199         * docs/gst/gstreamer-sections.txt:
3200         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
3201         (gst_pad_call_get_function):
3202         * gst/gstpad.h:
3203         * testsuite/pad/Makefile.am:
3204           Fix #150546, enable tests.
3205
3206 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3207
3208         * docs/pwg/advanced-types.xml:
3209           Fix description for buffer-frames=0.
3210         * docs/gst/tmpl/gstbin.sgml:
3211         * gst/gstbin.c: (gst_bin_child_state_change_func),
3212         (gst_bin_change_state), (gst_bin_change_state_norecurse):
3213         * gst/gstbin.h:
3214         * testsuite/threads/Makefile.am:
3215         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
3216         (cb_state), (cb_play), (main):
3217           Fix non-recursive state changes to *really* change the state
3218           of the object, and not just call parent_class->state_change.
3219           Fix a lot of lockups caused by this. Fixes #132775. Add test
3220           for the problem. Also enable test to show #142588 (fixed).
3221         * gst/gstthread.c: (gst_thread_change_state),
3222         (gst_thread_child_state_change):
3223           Don't exit the thread if we go to NULL and are inside thread
3224           context. Instead, return control to the main thread context
3225           and exit from there.
3226         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
3227           Don't unset virtual functions, since those may still be used.
3228           That's not necessarily correct, but suffices for now.
3229         * configure.ac:
3230         * testsuite/Makefile.am:
3231         * testsuite/pad/Makefile.am:
3232         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
3233         (gst_test_sink_base_init), (gst_test_sink_chain),
3234         (gst_test_sink_init), (main):
3235         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
3236         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
3237         (main):
3238         * testsuite/pad/link.c: (gst_test_element_class_init),
3239         (gst_test_element_base_init), (gst_test_src_get),
3240         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
3241         (gst_test_filter_loop), (gst_test_filter_init),
3242         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
3243         (cb_error), (main):
3244           Add tests to show #150546. Pass, but should fail (currently
3245           disabled from the testsuite).
3246         * gst/gstscheduler.c: (gst_scheduler_dispose):
3247           Dereference child schedulers on dispose (#94464).
3248         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3249           Fix typo.
3250         * testsuite/threads/thread.c: (main):
3251           Add more debug.
3252
3253 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3254
3255         * gst/gstpad.c: (gst_pad_push):
3256           Oops, revert previous commit, broke testsuite...
3257
3258 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3259
3260         * gst/gstpad.c: (gst_pad_push):
3261           Add check that the pad on which the push is performed is not a
3262           get-based pad (#150546).
3263
3264 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3265
3266         * gst/elements/gsttypefindelement.c:
3267         (gst_type_find_element_handle_event):
3268           Fix buffer pushing if stream EOSes during typefinding.
3269
3270 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
3271
3272         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3273
3274         * gst/gstvalue.c: (gst_string_wrap):
3275           Allow NULL-strings as argument (#165365).
3276
3277 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
3278
3279         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3280
3281         * gst/schedulers/faircothreads.c:
3282         (gst_fair_scheduler_cothread_queue_show):
3283           Fix build without debug enabled.
3284
3285 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
3286
3287         * docs/gst/gstreamer-sections.txt:
3288         * docs/libs/gstreamer-libs-docs.sgml:
3289         * docs/libs/gstreamer-libs-sections.txt:
3290         * docs/libs/tmpl/gstcontrol.sgml:
3291         * docs/libs/tmpl/gstdparam.sgml:
3292         * docs/libs/tmpl/gstdplinint.sgml:
3293         * docs/libs/tmpl/gstdpman.sgml:
3294         * docs/libs/tmpl/gstdpsmooth.sgml:
3295         * docs/libs/tmpl/gstputbits.sgml:
3296         * docs/libs/tmpl/gstunitconvert.sgml:
3297         * libs/gst/control/dparam.c:
3298         * libs/gst/control/dparam.h:
3299         * libs/gst/control/dparammanager.c:
3300         (gst_dpman_add_required_dparam_callback),
3301         (gst_dpman_add_required_dparam_direct),
3302         (gst_dpman_add_required_dparam_array),
3303         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
3304         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
3305         (gst_dpman_get_manager)
3306           restructured DParam docs
3307
3308 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
3309
3310         * gst-element-check.m4:
3311           Only check for gst-inspect if we haven't already
3312           found it in previous element check runs
3313
3314 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
3315
3316         * docs/gst/Makefile.am:
3317         * docs/libs/Makefile.am:
3318           fixed install rules to treat style.css as optional
3319
3320 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
3321
3322         * docs/gst/Makefile.am:
3323         * docs/libs/Makefile.am:
3324           install style.css along with docs
3325         * docs/gst/tmpl/gstbin.sgml:
3326         * docs/gst/tmpl/gstclock.sgml:
3327         * docs/gst/tmpl/gstdata.sgml:
3328         * docs/gst/tmpl/gstelement.sgml:
3329         * gst/gstbin.h:
3330         * gst/gstelement.c: (gst_element_class_init):
3331         * gst/gstelement.h:
3332           fixing incomplete docs
3333
3334 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3335
3336         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
3337           Don't unref seek event twice when fflush() fails
3338           
3339 2005-01-22  David Schleef  <ds@schleef.org>
3340
3341         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
3342
3343 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
3344
3345         * docs/gst/Makefile.am:
3346         * docs/libs/Makefile.am:
3347           added params for deprecation guards
3348         * gst/gst.c:
3349         * gst/gst.h:
3350         * gst/gsterror.c: (_gst_resource_errors_init),
3351         (_gst_stream_errors_init):
3352         * gst/gsterror.h:
3353           documented some more enums
3354
3355 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3356         * gst/autoplug/gstspideridentity.c:
3357         Cosmetic fix - spider_find_peek should be static
3358         * gst/parse/parse.l:
3359         Applying fix for #164261
3360
3361 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
3362
3363         * docs/gst/gstreamer-sections.txt:
3364         * docs/gst/tmpl/gstplugin.sgml:
3365         * docs/libs/gstreamer-libs-sections.txt:
3366         * docs/libs/tmpl/gstcontrol.sgml:
3367         * gst/gstbuffer.h:
3368         * gst/gsttag.h:
3369         * gst/gstvalue.c:
3370           added docs for the TAG defines
3371
3372 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3373
3374         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3375           Only unref entry if there is an entry.
3376
3377 2005-01-17  Wim Taymans  <wim@fluendo.com>
3378
3379         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3380         (remove_from_group), (schedule_group), (normalize_group),
3381         (gst_opt_scheduler_iterate):
3382         Also ref/unref decoupled elements before iterating the
3383         group since they are not added to the list of elements.
3384
3385 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3386
3387         * docs/manual/highlevel-components.xml:
3388           Add subtitle/streamselection as new features to playbin.
3389
3390 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3391
3392         * docs/manual/manual.xml:
3393           Re-enable dataaccess docs (oops).
3394
3395 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3396
3397         * docs/pwg/advanced-types.xml:
3398         * docs/random/mimetypes:
3399           Add documentation on libsndfile types (#163309), by Steve Baker
3400           <steve@stevebaker.org>.
3401         * gst/gstelement.c: (gst_element_release_request_pad):
3402           If an element has no explicit function, just remove the pad.
3403
3404 2005-01-17  Luca Ognibene  <luogni@tin.it>
3405
3406         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3407
3408         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
3409           Fix memleak (#163801).
3410
3411 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3412
3413         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
3414           I think this is actually more correct...
3415
3416 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3417
3418         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3419           Another workaround for memory access while destroyed in callback.
3420           Please, someone with refcount knowledge, have a look at this.
3421
3422 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3423
3424         * docs/faq/faq.xml:
3425         * docs/faq/legal.xml:
3426           move the legal Q&A here
3427
3428 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3429
3430         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
3431         (gst_tee_request_new_pad):
3432           Fix negotiation.
3433
3434 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3435
3436         * docs/random/omega/caps2:
3437         * testsuite/caps/caps_strings:
3438           replace framerate aproximations by their real value
3439           (24000/1001, 30000/1001, 60000/1001)
3440           Partially fixes bug #164049
3441
3442 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3443
3444         * docs/gst/Makefile.am:
3445           don't fail on the stupid GstPoptOption
3446
3447 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3448
3449         * gst/gstpad.h:
3450         * gst/gstprobe.c:
3451           allow probes to work on ghost pads by realizing the pad
3452           probe debugging
3453
3454 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3455
3456         * docs/gst/gstreamer-sections.txt:
3457         * docs/gst/tmpl/gstpad.sgml:
3458         * gst/gstpad.c: (gst_pad_set_active_recursive):
3459         * gst/gstpad.h:
3460           Add gst_pad_set_active_recursive().
3461
3462 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3463
3464         * docs/random/release:
3465           updates
3466         * gst/gst_private.h:
3467         * gst/gstinfo.c:
3468         * gst/gstobject.c:
3469           move deep_notify logging to a new category
3470         * gst/gstprobe.c:
3471         * gst/gstprobe.h:
3472           add stuff so bindings can wrap probes
3473
3474 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3475
3476         * gst/gstplugin.c: (gst_plugin_load):
3477           Fix plugin loading if plugin/lib was already loaded. Fixes
3478           #163383
3479
3480 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
3481
3482         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3483
3484         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
3485           Protect plugin loading by a mutex so it's threadsafe. Fixes
3486           #163234.
3487
3488 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3489
3490         * gst/gstevent.c: (_gst_event_copy):
3491           Reference source object when copying events, since it'll be
3492           dereferenced on event dereferencing as well.
3493
3494 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3495
3496         * docs/gst/gstreamer-sections.txt:
3497         * docs/gst/tmpl/gstevent.sgml:
3498         * gst/gstevent.c: (gst_event_new_filler_stamped),
3499         (gst_event_filler_get_duration):
3500         * gst/gstevent.h:
3501           Add two new functions for filler events (which are used to
3502           synchronize streams if one of them is not having any data
3503           for a while) without interrupting the actual data-stream.
3504           Basically a no-op.
3505         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3506         (gst_queue_link_sink), (gst_queue_link_src),
3507         (gst_queue_change_state):
3508           Allow for renegotiation while filled. Required for stream
3509           switching while playing.
3510
3511 2005-01-08  Benjamin Otte  <otte@gnome.org>
3512
3513         * gst/gstelement.c: (gst_element_link_many):
3514           fix up g_return_if_fail's
3515         * po/LINGUAS:
3516         * po/de.po:
3517           add German translation, that was somehow not included
3518
3519 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3520
3521         * docs/random/mimetypes:
3522           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
3523           do not add them to riff-lib as they are not common
3524
3525 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3526
3527         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3528           Check for existence of probe after performing the probe before
3529           re-accessing it to prevent segfaults caused by removal of the
3530           probe in the callback.
3531
3532 2005-01-05  David Schleef  <ds@schleef.org>
3533
3534         * testsuite/registry/Makefile.am:
3535         * testsuite/registry/gst-print-formats.c:
3536         (print_pad_templates_info), (print_element_list),
3537         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
3538         (g_list_uniqify), (get_pad_templates_info),
3539         (get_element_mime_list), (print_mime_list), (main): A little
3540         program that looks through the registry to find elements of
3541         a given type.  Not particularly interesting as a test, except
3542         that there's no other test covering the same area.
3543
3544 2005-01-05  David Schleef  <ds@schleef.org>
3545
3546         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
3547         (fault_handler_sigaction), (fault_spin),
3548         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
3549         in signal.h-type signal handlers by not calling forbidden functions,
3550         including gst_element_set_state().
3551
3552 2005-01-05  David Schleef  <ds@schleef.org>
3553
3554         * gst/gstvalue.h: Mark _gst_reserved[] as private
3555
3556 2005-01-05  David Schleef  <ds@schleef.org>
3557
3558         * gst/gstvalue.c: Fix doc build problem.
3559
3560 2005-01-05  David Schleef  <ds@schleef.org>
3561
3562         * gst/gstvalue.c: Add some documentation
3563
3564 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
3565
3566         * docs/README:
3567           another shell oneliner for empty return value docs
3568         * gst/gstcaps.c:
3569         * gst/gstvalue.c:
3570         * libs/gst/control/dparam.c:
3571           more doc fixes (parameters and return values)
3572
3573 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
3574
3575         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3576
3577         * gst/gstregistry.h:
3578         * gst/registries/gstxmlregistry.c:
3579           Fix macro's for Mingw (fixes #162276).
3580
3581 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
3582
3583         * docs/README:
3584           quick shell oneliner to find undocumented members
3585         * docs/gst/tmpl/gstplugin.sgml:
3586         * docs/gst/tmpl/gstscheduler.sgml:
3587         * docs/gst/tmpl/gstthread.sgml:
3588           more enumtypes cleanup
3589         * gst/gsterror.h:
3590           activated documentation comments, now someone needs to document
3591           the enums :(
3592
3593 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3594
3595         * docs/manual/manual.xml:
3596           Add dataaccess part (doh!).
3597
3598 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3599
3600         * docs/manual/advanced-autoplugging.xml:
3601           Fix typo (intiate -> initiate).
3602
3603 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3604
3605         * docs/random/bbb/streamselection:
3606           Add some notes on how to handle multi-subtitle/-audio streams.
3607
3608 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
3609
3610         * docs/gst/gstreamer-docs.sgml:
3611         * docs/gst/gstreamer-sections.txt:
3612         * docs/gst/tmpl/gstenumtypes.sgml:
3613         * docs/gst/tmpl/gsterror.sgml:
3614         * docs/gst/tmpl/gstevent.sgml:
3615         * docs/gst/tmpl/gstpad.sgml:
3616         * docs/gst/tmpl/gstpadtemplate.sgml:
3617         * docs/gst/tmpl/gstthread.sgml:
3618           removed gstenumtypes section from docs and put all the enums into
3619           their sections
3620
3621 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3622
3623         * gst/gstplugin.c:
3624           document gst_library_load a bit more (riff special case + return
3625           value if already loaded)
3626         * testsuite/bytestream/filepadsink.c:
3627           plugin name is 'gstbytestream', not 'bytestream'
3628
3629 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3630
3631         * docs/random/bbb/subtitles:
3632           Add some first mind rumblings on proper subtitle support.
3633
3634 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3635
3636         * po/ca.po:
3637         * po/sv.po:
3638           updated translations
3639
3640 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3641
3642         * docs/manual/advanced-dataaccess.xml:
3643           Add section on how to use fakesrc/fakesink/identity in your
3644           application, plus section on how to embed plugins. Also mention
3645           probes.
3646         * docs/manual/appendix-checklist.xml:
3647         * docs/manual/appendix-debugging.xml:
3648         * docs/manual/appendix-gnome.xml:
3649         * docs/manual/appendix-integration.xml:
3650           Debug -> checklist, GNOME -> integration, add sections on Linux,
3651           KDE integration and add other things useful for application
3652           development.
3653         * docs/manual/manual.xml:
3654           Remove some fixmes, update some file pointers.
3655         * docs/pwg/appendix-checklist.xml:
3656           Fix typo.
3657         * docs/pwg/building-boiler.xml:
3658           Remove ugly header and add commented fixme.
3659         * docs/pwg/pwg.xml:
3660           Add fixme.
3661         * examples/manual/Makefile.am:
3662           Add example for added docs.
3663
3664 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3665
3666         * configure.ac:
3667           back to HEAD
3668
3669 === release 0.8.8 ===
3670
3671 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3672
3673         * NEWS:
3674         * RELEASE:
3675         * configure.ac:
3676           Releasing 0.8.8, "I'll Take Care Of You"
3677
3678 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3679
3680         * configure.ac:
3681           second prerelease
3682
3683 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3684
3685         patch by: Wim Taymans
3686
3687         * gst/gstbin.c:
3688           Fix for #159852 - make iterate emission threadsafe
3689
3690 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3691
3692         * docs/faq/cvs.xml:
3693           notes about new fdo account request
3694
3695 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
3696
3697         * docs/gst/gstreamer-docs.sgml:
3698         * docs/gst/tmpl/gstenumtypes.sgml:
3699         * docs/gst/tmpl/gstplugin.sgml:
3700         * docs/libs/gstreamer-libs-docs.sgml:
3701           Added missing short docs. Added ids for navigation.
3702
3703 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3704
3705         * docs/manual/advanced-autoplugging.xml:
3706         * docs/manual/advanced-schedulers.xml:
3707         * docs/manual/advanced-threads.xml:
3708           Rewrites. Remove cothreads, go a bit into opt specifically,
3709           document threads and their gotchas, and do some technical stuff
3710           on autoplugging plus add some working examples. Fixes #157395.
3711         * examples/manual/Makefile.am:
3712           Add typefind/autoplugger example (one that actually works).
3713           Remove queue example since it's a duplicate of the thread one.
3714
3715 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3716
3717         * gst/gstvalue.c: (gst_value_deserialize_string):
3718           use deprecated g_value_set_string_take_ownership to keep compatible
3719           with glib 2.2
3720
3721 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3722
3723         * gst/gstvalue.c: (gst_value_deserialize_string):
3724           revert last patch, only dom a g_utf8_validate now before accepting
3725           the string - caps parsing strips " from strings so we can't rely on
3726           them
3727         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3728           disable a test that tested the above and comment it
3729
3730 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
3731
3732         Patch reviewed by David Schleef  <ds@schleef.org>
3733
3734         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
3735         bug #153882)
3736         * win32/gstenumtypes.h: same
3737
3738 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3739
3740         * gst/gstpad.c: (gst_pad_query):
3741           Do query on realized pad, similar to how convert/send_event handle
3742           this. Also makes sense, since this pad belongs to the function to
3743           which this query will be sent. Fixes #158163.
3744
3745 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
3746
3747         * docs/manual/appendix-programs.xml: fix pipeline to actually work
3748
3749 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
3750
3751         * docs/faq/general.xml: fix pipeline to actually work
3752
3753 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3754
3755         * gst/gstvalue.c: (gst_value_deserialize_string):
3756           check that a simple string that gets deserialized does not contain
3757           invalid characters
3758         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3759           remove a test that tested a wring behaviour
3760
3761 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
3762
3763         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3764
3765         * docs/manual/intro-motivation.xml:
3766           Fix typos.
3767
3768 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
3769
3770         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3771
3772         * docs/gst/tmpl/gstprobe.sgml:
3773           Fix documentation of probe callback - it is supposed to return
3774           FALSE, not TRUE, to remove data from the stream (#159087).
3775
3776 2004-12-16  Daniel Gazard  <dany42@free.fr>
3777
3778         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3779
3780         * gst/gstelementfactory.c: (gst_element_factory_create):
3781           Fix compile failure if compiling without libxml2 support (#149936).
3782
3783 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3784
3785         * docs/manual/advanced-autoplugging.xml:
3786         * docs/manual/highlevel-components.xml:
3787           Move spider from autoplugging to components. Autoplugging is for
3788           internals, not for solutions. ;-).
3789
3790 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3791
3792         * docs/random/ds/0.9-suggested-changes:
3793           Make note on device/location/uri property names.
3794
3795 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3796
3797         * docs/manual/advanced-autoplugging.xml:
3798         * docs/manual/advanced-clocks.xml:
3799         * docs/manual/advanced-interfaces.xml:
3800         * docs/manual/advanced-metadata.xml:
3801         * docs/manual/advanced-position.xml:
3802         * docs/manual/advanced-schedulers.xml:
3803         * docs/manual/advanced-threads.xml:
3804         * docs/manual/appendix-gnome.xml:
3805         * docs/manual/appendix-programs.xml:
3806         * docs/manual/appendix-quotes.xml:
3807         * docs/manual/autoplugging.xml:
3808         * docs/manual/basics-bins.xml:
3809         * docs/manual/basics-data.xml:
3810         * docs/manual/basics-elements.xml:
3811         * docs/manual/basics-helloworld.xml:
3812         * docs/manual/basics-init.xml:
3813         * docs/manual/basics-pads.xml:
3814         * docs/manual/basics-plugins.xml:
3815         * docs/manual/bins-api.xml:
3816         * docs/manual/bins.xml:
3817         * docs/manual/buffers-api.xml:
3818         * docs/manual/buffers.xml:
3819         * docs/manual/clocks.xml:
3820         * docs/manual/components.xml:
3821         * docs/manual/cothreads.xml:
3822         * docs/manual/debugging.xml:
3823         * docs/manual/dparams-app.xml:
3824         * docs/manual/dynamic.xml:
3825         * docs/manual/elements-api.xml:
3826         * docs/manual/elements.xml:
3827         * docs/manual/factories.xml:
3828         * docs/manual/gnome.xml:
3829         * docs/manual/goals.xml:
3830         * docs/manual/helloworld.xml:
3831         * docs/manual/helloworld2.xml:
3832         * docs/manual/highlevel-components.xml:
3833         * docs/manual/highlevel-xml.xml:
3834         * docs/manual/init-api.xml:
3835         * docs/manual/intro-basics.xml:
3836         * docs/manual/intro-motivation.xml:
3837         * docs/manual/intro-preface.xml:
3838         * docs/manual/intro.xml:
3839         * docs/manual/links-api.xml:
3840         * docs/manual/links.xml:
3841         * docs/manual/manual.xml:
3842         * docs/manual/motivation.xml:
3843         * docs/manual/pads-api.xml:
3844         * docs/manual/pads.xml:
3845         * docs/manual/plugins-api.xml:
3846         * docs/manual/plugins.xml:
3847         * docs/manual/programs.xml:
3848         * docs/manual/queues.xml:
3849         * docs/manual/quotes.xml:
3850         * docs/manual/schedulers.xml:
3851         * docs/manual/states-api.xml:
3852         * docs/manual/states.xml:
3853         * docs/manual/threads.xml:
3854         * docs/manual/typedetection.xml:
3855         * docs/manual/win32.xml:
3856         * docs/manual/xml.xml:
3857           Try 2. This time, include a short preface as a "general
3858           introduction", also add code blocks around all code samples
3859           so they get compiled. We still need a way to tell readers
3860           the filename of the code sample. In some cases, don't show
3861           all code in the documentation, but do include it in the generated
3862           code. This allows for focussing on specific bits in the docs,
3863           while still having a full test application available.
3864         * examples/manual/Makefile.am:
3865           Fix up examples for new ADM. Add several of the new examples that
3866           were either added or were missing from the build system.
3867         * examples/manual/extract.pl:
3868           Allow nameless blocks.
3869
3870 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3871
3872         * docs/manual/elements-api.xml:
3873         * docs/manual/helloworld.xml:
3874         * examples/manual/extract.pl:
3875           fix last example.  Add example of adding code blocks that are not
3876           shown in docbook output.
3877
3878 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3879
3880         * docs/manual/dynamic.xml:
3881         * docs/manual/elements-api.xml:
3882         * docs/manual/gnome.xml:
3883         * docs/manual/helloworld2.xml:
3884         * docs/manual/init-api.xml:
3885         * docs/manual/queues.xml:
3886         * docs/manual/threads.xml:
3887         * docs/manual/xml.xml:
3888         * examples/manual/extract.pl:
3889           Make it possible to extract example code from separate blocks.
3890           Should make Ronald happy.
3891
3892 2004-12-15  Wim Taymans  <wim@fluendo.com>
3893
3894         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3895         (remove_from_group), (group_elements_set_visited),
3896         (normalize_group), (gst_opt_scheduler_iterate):
3897         Fix bug where a flag was not updated on a decoupled entry point 
3898         because we were just checking the group element list and decoupled
3899         elements are not in that list..
3900
3901 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3902
3903         * docs/manual/advanced-autoplugging.xml:
3904         * docs/manual/advanced-clocks.xml:
3905         * docs/manual/advanced-dparams.xml:
3906         * docs/manual/advanced-interfaces.xml:
3907         * docs/manual/advanced-metadata.xml:
3908         * docs/manual/advanced-position.xml:
3909         * docs/manual/advanced-schedulers.xml:
3910         * docs/manual/advanced-threads.xml:
3911         * docs/manual/appendix-debugging.xml:
3912         * docs/manual/appendix-gnome.xml:
3913         * docs/manual/appendix-programs.xml:
3914         * docs/manual/appendix-quotes.xml:
3915         * docs/manual/appendix-win32.xml:
3916         * docs/manual/autoplugging.xml:
3917         * docs/manual/basics-bins.xml:
3918         * docs/manual/basics-data.xml:
3919         * docs/manual/basics-elements.xml:
3920         * docs/manual/basics-helloworld.xml:
3921         * docs/manual/basics-init.xml:
3922         * docs/manual/basics-pads.xml:
3923         * docs/manual/basics-plugins.xml:
3924         * docs/manual/bins-api.xml:
3925         * docs/manual/bins.xml:
3926         * docs/manual/buffers-api.xml:
3927         * docs/manual/buffers.xml:
3928         * docs/manual/clocks.xml:
3929         * docs/manual/components.xml:
3930         * docs/manual/cothreads.xml:
3931         * docs/manual/debugging.xml:
3932         * docs/manual/dparams-app.xml:
3933         * docs/manual/dynamic.xml:
3934         * docs/manual/elements-api.xml:
3935         * docs/manual/elements.xml:
3936         * docs/manual/factories.xml:
3937         * docs/manual/gnome.xml:
3938         * docs/manual/goals.xml:
3939         * docs/manual/helloworld.xml:
3940         * docs/manual/helloworld2.xml:
3941         * docs/manual/highlevel-components.xml:
3942         * docs/manual/highlevel-xml.xml:
3943         * docs/manual/init-api.xml:
3944         * docs/manual/intro-motivation.xml:
3945         * docs/manual/intro-preface.xml:
3946         * docs/manual/intro.xml:
3947         * docs/manual/links-api.xml:
3948         * docs/manual/links.xml:
3949         * docs/manual/manual.xml:
3950         * docs/manual/motivation.xml:
3951         * docs/manual/pads-api.xml:
3952         * docs/manual/pads.xml:
3953         * docs/manual/plugins-api.xml:
3954         * docs/manual/plugins.xml:
3955         * docs/manual/programs.xml:
3956         * docs/manual/queues.xml:
3957         * docs/manual/quotes.xml:
3958         * docs/manual/schedulers.xml:
3959         * docs/manual/states-api.xml:
3960         * docs/manual/states.xml:
3961         * docs/manual/threads.xml:
3962         * docs/manual/typedetection.xml:
3963         * docs/manual/win32.xml:
3964         * docs/manual/xml.xml:
3965           First try at rewriting the ADM. Needs lotsamore work, but some
3966           parts might already be somewhat useful.
3967         * docs/pwg/advanced-interfaces.xml:
3968           Remove properties interface, it never actually existed (except for
3969           on my HD...).
3970
3971 2004-12-13  David Schleef  <ds@schleef.org>
3972
3973         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
3974         be NULL (bug #160220).
3975
3976 2004-12-13  David Schleef  <ds@schleef.org>
3977
3978         * configure.ac: remove all mmx stuff, because it's not used.
3979         * docs/random/ds/0.9-suggested-changes: additional notes
3980         * include/Makefile.am: we don't use these anymore
3981         * include/mmx.h: remove
3982         * include/sse.h: remove
3983
3984 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3985
3986         * docs/random/mimetypes:
3987           Add FOURCC code for h264 codec (VSSH)
3988           Add alternate FOURCC codes for h263 related codecs
3989
3990 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
3991
3992         * docs/manual/programs.xml:
3993           Added more gst-launch examples.
3994
3995 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3996
3997         * gst/gstqueue.c: (gst_queue_handle_src_query):
3998           Check for availability again.
3999
4000 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4001
4002         * gst/gstcaps.c: (gst_caps_compare_structures):
4003           Simple caps go first. This has the nice side-effect of fixing an
4004           obscure warning.
4005
4006 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4007
4008         * gst/gstversion.h.in:
4009           Protect header.
4010
4011 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4012
4013         * gst/schedulers/gstoptimalscheduler.c:
4014         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
4015         (gst_opt_scheduler_get_wrapper):
4016           When we're recursing into a chain run, only run the directly
4017           related group, not all queued ones. This will fix a possible
4018           deadlock in chains with more than two groups.
4019
4020 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4021
4022         * autogen.sh:
4023           remove patch if autopoint fails
4024
4025 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4026
4027         * docs/gst/gstreamer-sections.txt:
4028           Document Thomas' addition, fix build, make Luis the sheriff happy.
4029
4030 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4031
4032         * gst/gstplugin.c:
4033         * gst/gstplugin.h:
4034           add accessor for version field
4035
4036 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4037
4038         submitted by: Luca Ferretti <elle.uca@infinito.it>
4039
4040         * po/LINGUAS:
4041         * po/it.po:
4042           New tranlation added: Italian
4043
4044 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4045
4046         * gst/gstpad.c: (gst_pad_is_negotiated),
4047         (gst_pad_get_negotiated_caps):
4048           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
4049           it doesn't actually check the contents), so be sure to hand it
4050           a RealPad else we'll crash.
4051
4052 2004-12-03  Wim Taymans  <wim@fluendo.com>
4053
4054         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4055         (gst_queue_link), (gst_queue_handle_src_query):
4056         Reverted to 1.110 until this makes the testsuite and various
4057         apps work.
4058
4059 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
4060
4061         * docs/upload.mak: fix included CVS conflict strings
4062
4063 2004-12-01  William Jon McCann  <mccann@jhu.edu>
4064
4065         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4066
4067         * gst/gstelement.c: (gst_element_error_full):
4068           Use g_error_new_literal because error text may have
4069           percentage signs in it. Fixes #160019.
4070
4071 2004-12-01  Benjamin Otte  <otte@gnome.org>
4072
4073         * gst/elements/gstbufferstore.c:
4074         (gst_buffer_store_add_buffer_func):
4075           don't try to make subbuffers bigger than they can be. (fixes
4076           #159970)
4077
4078 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4079
4080         * docs/gst/gstreamer-sections.txt:
4081         * docs/gst/tmpl/gstvalue.sgml:
4082           Add new function to docs to fix build.
4083
4084 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4085
4086         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
4087         * gst/gstpad.c: (_gst_pad_default_fixate_value),
4088         (_gst_pad_default_fixate_foreach):
4089         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
4090         * gst/gstvalue.h:
4091           Deprecate _type_is_fixed, use _value_is_fixed instead, since
4092           in some cases (arrays), the fixedness depends on the content.
4093         * gst/gstqueue.c: (gst_queue_handle_src_query):
4094           Check for availability before doing something.
4095
4096 2004-11-29  Wim Taymans  <wim@fluendo.com>
4097
4098         * testsuite/threads/Makefile.am:
4099         * testsuite/threads/signals.c: (gst_test_get_type),
4100         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
4101         (gst_test_set_property), (gst_test_get_property),
4102         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
4103         (gst_test_do_prop), (run_thread), (main):
4104         Added a bunch of testcases that show threadsafety bugs in glib.
4105
4106 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
4107
4108         * docs/manual/programs.xml:
4109           Added a first batch of gst-launch examples, as provided by Ronald
4110           and others from the devel-mlist
4111
4112 2004-11-28  Benjamin Otte  <otte@gnome.org>
4113
4114         * gst/gstelement.c: (gst_element_negotiate_pads):
4115           simplify
4116         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
4117         (gst_value_serialize_string), (gst_value_deserialize_string):
4118           add unwrapping of previously wrapped strings. Fix bug in wrapping
4119           while at it.
4120         * testsuite/caps/value_serialize.c: (test1),
4121         (test_string_serialization), (test_string_deserialization), (main):
4122           add tests for string (de)serialization
4123
4124 2004-11-26  Wim Taymans  <wim@fluendo.com>
4125
4126         * testsuite/threads/159566.c: (object_deep_notify), (main):
4127         * testsuite/threads/Makefile.am:
4128         Added testsuite to show bug #159566
4129
4130 2004-11-25  Wim Taymans  <wim@fluendo.com>
4131
4132         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
4133         (gst_thread_child_state_change), (gst_thread_main_loop):
4134         Ref the thread object in the GThread mainloop. Break out of the
4135         thread mainloop if it holds the last ref. This properly exits
4136         the threads when disposing the thread from its own context. It
4137         also avoids possible deadlocks in the dispose function.
4138
4139 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
4140
4141         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
4142         it is necessary to wait.
4143
4144 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4145
4146         * docs/pwg/building-boiler.xml:
4147           Make description somewhat clearer.
4148
4149 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4150
4151         * docs/upload.mak:
4152           Apparently docs changed location on FDO's server.
4153
4154 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4155
4156         * docs/pwg/appendix-checklist.xml:
4157           Add some random notes on things to check when writing an element.
4158           This list can be extended as people see fit.
4159
4160 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
4161
4162         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
4163         (gst_queue_link_src): Allow for renegotiating the caps of the sink
4164         pad. The queue will now wait until it is empty and forward the new
4165         caps to the source.
4166         * gst/gstbin.c (gst_bin_set_element_sched)
4167         (gst_bin_unset_element_sched): Make sure that all elements and
4168         links are registered and unregistered with the scheduler exactly
4169         once. This elaborates on a fix by Benjamin Otte, but
4170         guarantees that decoupled elements are also registered.
4171
4172 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4173
4174         * docs/manual/quotes.xml:
4175           add a quote
4176         * configure.ac:
4177         * gst/gst.c:
4178         * gst/gstinfo.c:
4179           add LIBDIR and move init message higher up so it's at the start
4180
4181 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4182
4183         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
4184         * gstreamer.spec.in: add fair
4185
4186 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4187
4188         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4189         * gst/elements/gstidentity.c: (gst_identity_class_init):
4190           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
4191           <teuf@gnome.org> (#157263).
4192         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4193         (gst_type_find_handle_src_query):
4194           Subtract size of internally stored data from position queries.
4195
4196 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
4197
4198         * gst/schedulers/fairscheduler.c:
4199         * gst/schedulers/faircothreads.c:
4200         * gst/schedulers/faircothreads.h:
4201         New cothread based scheduler: Fair scheduler.
4202         * gst/schedulers/gthread-cothreads.h: 
4203         Add the standard #if around the whole file.
4204         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
4205         compilation of the functions defined in this file. This is
4206         necessary to be able to use this file as a normal header.
4207         * gst/schedulers/Makefile.am: Add compiling support for fair
4208         scheduler.
4209         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
4210         scheduler cothreads layer from documentation generation.
4211
4212 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4213
4214         * gst/autoplug/gstspideridentity.c:
4215         (gst_spider_identity_sink_loop_type_finding):
4216           Don't crash if that function is not implemented.
4217
4218 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4219
4220         * docs/pwg/advanced-types.xml:
4221           Another typo.
4222
4223 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4224
4225         * docs/pwg/intro-preface.xml:
4226           Hm, ok, so the brackets weren't really useful...
4227         * docs/pwg/other-ntoone.xml:
4228           Fix embarassing typo.
4229
4230 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4231
4232         * docs/pwg/intro-preface.xml:
4233           Rewrite preface.
4234
4235 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4236
4237         * docs/pwg/advanced-scheduling.xml:
4238         * docs/pwg/advanced-tagging.xml:
4239         * docs/pwg/advanced-types.xml:
4240         * docs/pwg/building-boiler.xml:
4241         * docs/pwg/building-chainfn.xml:
4242         * docs/pwg/building-signals.xml:
4243         * docs/pwg/building-state.xml:
4244         * docs/pwg/building-testapp.xml:
4245         * docs/pwg/intro-basics.xml:
4246         * docs/pwg/other-manager.xml:
4247         * docs/pwg/other-source.xml:
4248           Typo fixes.
4249         * docs/pwg/other-manager.xml:
4250           Add some first content. No example code yet.
4251         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4252           Remove double newlines.
4253
4254 2004-11-04  Wim Taymans  <wim@fluendo.com>
4255
4256         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4257         (remove_from_group), (normalize_group), (group_migrate_connected),
4258         (gst_opt_scheduler_iterate):
4259         * testsuite/schedulers/.cvsignore:
4260         * testsuite/schedulers/Makefile.am:
4261         * testsuite/schedulers/queue_link.c: (main):
4262         Added testcase for scheduler segfault.
4263         Fix scheduler segfault when removing a decoupled
4264         entry point as the last element from a group.
4265
4266 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4267
4268         * gst/gstmarshal.list: add missing marshaller, fixes build
4269
4270 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4271
4272         * docs/random/signal: added notes about using BOXED for GstBuffer
4273         signal marshallers, not POINTER
4274
4275 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4276
4277         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4278         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
4279         POINTER=>BOXED changes to marshal GstBuffers
4280
4281 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4282
4283         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
4284         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
4285
4286 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
4287
4288         * docs/gst/gstreamer-sections.txt:
4289         * docs/gst/tmpl/gstcaps.sgml:
4290         * docs/gst/tmpl/gsterror.sgml:
4291         * docs/gst/tmpl/gstinfo.sgml:
4292         * docs/gst/tmpl/gstmacros.sgml:
4293         * docs/gst/tmpl/gstutils.sgml:
4294         * docs/random/ensonic/interfaces.txt:
4295         * gst/gstinfo.h:
4296           added some more docs, removed two obsolete defines
4297
4298 2004-11-02  Kjartan Maraas <as at gnome.org>
4299
4300         reviewed by: Wim Taymans, Ronald Bultje.
4301
4302         * gst/cothreads.c: (cothread_create):
4303         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4304         (gst_bin_child_state_change_func):
4305         * gst/gstbuffer.c: (gst_buffer_span):
4306         * gst/gstelement.c: (gst_element_get_index),
4307         (gst_element_get_event_masks), (gst_element_get_query_types),
4308         (gst_element_get_formats):
4309         * gst/gsterror.c: (_gst_core_errors_init),
4310         (_gst_library_errors_init), (_gst_resource_errors_init),
4311         (_gst_stream_errors_init):
4312         * gst/gstobject.c: (gst_object_default_deep_notify):
4313         * gst/gstpad.c: (gst_pad_get_event_masks),
4314         (gst_pad_get_internal_links_default):
4315         * gst/gstplugin.c: (gst_plugin_register_func),
4316         (gst_plugin_get_module):
4317         * gst/gststructure.c: (gst_structure_get_string),
4318         (gst_structure_get_abbrs), (gst_structure_from_abbr),
4319         (gst_structure_to_abbr):
4320         * gst/gstutils.c: (gst_print_element_args):
4321         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4322         (setup_group_scheduler), (gst_opt_scheduler_iterate):
4323         Aplied part of patch #157127: Cleanup of issues reported by 
4324         sparse.
4325         Also do not try to use cothreads when there is no cothread
4326         context yet.
4327
4328 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
4329
4330         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4331         (gst_opt_scheduler_iterate):
4332         Applied patch #154061. Running a pipeline in which an element 
4333         calls GST_ELEMENT_ERROR in the chain function, the opt 
4334         scheduler doesn't unref the chain so it never gets freed.
4335
4336 2004-11-02  Wim Taymans  <wim@fluendo.com>
4337
4338         * gst/gststructure.c: (gst_structure_get_abbrs),
4339         (gst_structure_from_abbr), (gst_structure_to_abbr):
4340         Remove that ugly if-then thing in the code that converts
4341         between strings and types.
4342
4343 2004-11-02  Wim Taymans  <wim@fluendo.com>
4344
4345         * gst/gstscheduler.c: (gst_scheduler_add_element),
4346         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
4347         Aplied clock distribution patch, this should fix bug
4348         #148787.
4349
4350 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4351
4352         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
4353
4354         * po/LINGUAS:
4355         * po/nb.po:
4356           Added Norwegian Bokmaal translation
4357
4358 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4359
4360         * tools/gst-inspect.c: (print_signal_info):
4361           print signal arguments as pointers if they are
4362
4363 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
4364
4365         * docs/pwg/building-boiler.xml:
4366           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
4367
4368 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4369
4370         * gst/parse/parse.l:
4371         * testsuite/parse/parse1.c: (main):
4372         Since parse can do 'element name=a:b' make 'a:b.' work as
4373         well. 
4374         Added testcase to verify fix.
4375
4376 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4377
4378         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
4379         Use the realpad when printing the direction.
4380         Add extra \n when printing extensions of typefind factories.
4381
4382 2004-10-13  David Schleef  <ds@schleef.org>
4383
4384         * examples/manual/Makefile.am: $< isn't portable in Makefile
4385         rules.
4386
4387 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
4388
4389         * docs/gst/tmpl/gstobject.sgml:
4390         * docs/gst/tmpl/gstplugin.sgml:
4391         * docs/gst/tmpl/gstpluginfeature.sgml:
4392         * docs/gst/tmpl/gstregistry.sgml:
4393         * docs/gst/tmpl/gstversion.sgml:
4394         * gst/gstbin.c:
4395           more api documentation
4396         * gst/gstplugin.c: (gst_plugin_register_func),
4397         (gst_plugin_check_file), (gst_plugin_load_file):
4398           better error signaling and logging
4399
4400 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4401
4402         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
4403           Subtract current queue contents from position queries.
4404
4405 2004-10-11  Johan Dahlin  <johan@gnome.org>
4406
4407         * gst/gsturi.c (gst_uri_get_location): unescape string
4408         (gst_uri_construct): escape string.
4409
4410 2004-10-11  Benjamin Otte  <otte@gnome.org>
4411
4412         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
4413         (gst_pad_try_set_caps_nonfixed):
4414           allow renegotiation of unconnected pads (as inside spider). Simply
4415           return OK if unconnected - mimic try_set_caps there.
4416
4417 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4418
4419         * gst/gstbin.c: (gst_bin_sync_children_state):
4420           Add missing break.
4421
4422 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4423
4424         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
4425         Set element to EOS before sending EOS event
4426
4427 2004-10-08  Wim Taymans  <wim at fluendo dot com>
4428
4429         * gst/elements/gsttypefindelement.c:
4430         (gst_type_find_element_handle_event):
4431         Handle EOS events when doing the transition from
4432         typefind to data passing. This should fix the
4433         infinite loops in short files.
4434
4435 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4436
4437         * gst/gstthread.c: (gst_thread_change_state),
4438         (gst_thread_child_state_change):
4439         Make sure no iteration happens while performing
4440         the state change as it could mess up the internal
4441         consistency of the thread state.
4442
4443 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4444
4445         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
4446         (gst_thread_change_state), (gst_thread_child_state_change):
4447         Do not try to grab the iterate lock in the state change method
4448         when we are in the same thread as the iterate or else we
4449         could deadlock. Some other cleanups.
4450
4451 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4452
4453         * configure.ac:
4454           bump nano to cvs
4455
4456 === release 0.8.7 ===
4457
4458 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4459
4460         * configure.ac:
4461         * NEWS:
4462         * RELEASE:
4463         * configure.ac:
4464           releasing 0.8.7, "A Cruise"
4465
4466 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4467
4468         * docs/random/mimetypes:
4469         Add an entry for Sony ATRAC3 audio format with mime-type
4470         used by rmdemux et riff-read
4471
4472 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4473
4474         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4475         Push the buffer store instead of clearing it in case that
4476         the stream is not seekable.
4477
4478 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4479
4480         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
4481         (gst_thread_main_loop):
4482         Lock the iteration and the state change so that automatic
4483         negotiation and fixation does not happen at the same time
4484         as the in stream negotiation.
4485
4486 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4487
4488         * configure.ac:
4489           bump nano to cvs
4490
4491 === release 0.8.6 ===
4492
4493 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4494
4495         * configure.ac:
4496         * NEWS:
4497         * RELEASE:
4498         * configure.ac:
4499           releasing 0.8.6, "Narc"
4500
4501 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4502
4503         * configure.ac:
4504           prerel bump
4505
4506 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4507
4508         patch by: Steve Lhomme
4509
4510         * gst/elements/gstfakesrc.c:
4511         * gst/elements/gstidentity.c:
4512         * gst/gstthread.c:
4513           Fix for #153881
4514
4515 2004-10-01  Wim Taymans  <wim at fluendo dot com>
4516
4517         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
4518         Fix threadsafety of the crc checking function.
4519
4520 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4521
4522         patch by: Ronald Bultje
4523
4524         * gst/elements/gsttypefindelement.c: (stop_typefinding),
4525         (gst_type_find_element_handle_event),
4526         (gst_type_find_element_chain):
4527         * gst/elements/gsttypefindelement.h:
4528          #153657.
4529          Filter out discont event from seekable sources when typefind
4530          asks them to seek.  Fixes typefind with demuxers for
4531          avi, asf and matroska.
4532
4533 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4534
4535         * docs/gst/gstreamer-sections.txt:
4536         * gst/gstcaps.c:
4537         * gst/gstcaps.h:
4538         * gst/gstpad.c:
4539           Revert preferred caps: (#147789)
4540
4541 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
4542
4543         * win32/dirent.c:
4544           fix a memory leak
4545
4546 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4547
4548         * configure.ac:
4549           bump for prerelease
4550
4551 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4552
4553         * docs/Makefile.am:
4554         * docs/manual/elements-api.xml:
4555           restructure so that common stuff is shown first
4556         * docs/manual/init-api.xml:
4557           convert to examples
4558         * docs/manual/manual.xml:
4559         * docs/manuals.mak:
4560         * docs/url.entities:
4561           link to API on the website, possibly override later in build
4562         * examples/manual/.cvsignore:
4563           ignore more
4564         * examples/manual/Makefile.am:
4565           add more examples
4566         * examples/manual/extract.pl:
4567           error out on failure
4568
4569 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4570
4571         * docs/gst/tmpl/gstthread.sgml:
4572         * docs/manual/init-api.xml:
4573         * examples/manual/Makefile.am:
4574           convert two code bits to examples
4575
4576 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4577
4578         * gst/gstelement.c: (gst_element_change_state):
4579           Well, actually, I was about to remove this insane assert when
4580           I noticed Wim already did that. A warning is nice so we can
4581           fix actual ugs (using --g-fatal-warnings and backtraces), so
4582           I added that instead.
4583
4584 2004-09-06  Wim Taymans  <wim@fluendo.com>
4585
4586         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
4587         (gst_element_threadsafe_properties_post_run),
4588         (gst_element_set_state), (gst_element_change_state):
4589         Added extra refcounting around various places. 
4590
4591 2004-09-06  Wim Taymans  <wim@fluendo.com>
4592
4593         * gst/gstpad.c: (gst_pad_link_call_link_functions):
4594         Fix debug info.
4595
4596 2004-09-06  Wim Taymans  <wim@fluendo.com>
4597
4598         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4599         (remove_from_group):
4600         Some more debug info.
4601
4602 2004-09-03  Wim Taymans  <wim@fluendo.com>
4603
4604         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4605         (gst_fakesrc_init), (gst_fakesrc_set_clock),
4606         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4607         (gst_fakesrc_get), (gst_fakesrc_change_state):
4608         * gst/elements/gstfakesrc.h:
4609         * gst/elements/gstidentity.c: (gst_identity_class_init),
4610         (gst_identity_init), (gst_identity_chain),
4611         (gst_identity_set_property), (gst_identity_get_property),
4612         (gst_identity_change_state):
4613         * gst/elements/gstidentity.h:
4614         Added datarate properties to limit the datarate.
4615
4616 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4617
4618         * gst/autoplug/gstspider.c: (plugin_init):
4619           don't set a rank. We don't want to autoplug by inserting spiders.
4620
4621 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4622
4623         * gst/autoplug/gstspider.c: (gst_spider_class_init),
4624         (gst_spider_identity_plug):
4625           add a template for spider's sink
4626         * gst/gst.c: (gst_register_core_elements):
4627           queue's rank should be NULL, we don't want spider to add it.
4628
4629 2004-08-18  David Schleef  <ds@schleef.org>
4630
4631         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
4632         * docs/libs/Makefile.am: same
4633         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
4634         * docs/random/ds/0.9-planning: random additions
4635         * docs/random/ds/0.9-suggested-changes: same
4636         * gst/gstxml.h: remove vestigal GstXMLNs definition
4637
4638         Preferred caps: (#147789)
4639         * docs/gst/gstreamer-sections.txt: Add symbols
4640         * docs/gst/tmpl/gstcaps.sgml: Add symbols
4641         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
4642         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
4643         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
4644         (gst_caps_get_preferred), (gst_caps_set_preferred),
4645         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
4646         (gst_caps_use_preferred): Handle caps preferences
4647         * gst/gstcaps.h: Add caps preferences
4648         * gst/gstpad.c: (gst_pad_link_get_preferred),
4649         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
4650         (gst_pad_renegotiate), (gst_pad_guess_preferred),
4651         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
4652         negotiation.
4653
4654 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4655
4656         * gst/autoplug/gstspideridentity.c:
4657         (gst_spider_identity_request_new_pad):
4658         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
4659         (gst_aggregator_init):
4660         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4661         (gst_fakesink_init):
4662         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4663         (gst_fakesrc_init):
4664         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
4665         (gst_fdsink_init):
4666         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
4667         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
4668         (gst_filesink_init):
4669         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4670         (gst_filesrc_init):
4671         * gst/elements/gstidentity.c: (gst_identity_base_init),
4672         (gst_identity_init):
4673         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
4674         (gst_multifilesrc_init):
4675         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
4676         (gst_pipefilter_init):
4677         * gst/elements/gststatistics.c: (gst_statistics_base_init),
4678         (gst_statistics_init):
4679         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
4680         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
4681           s/gst_pad_new/&_from_template/
4682           register pad templates in the base_init function
4683           add static pad template definitions
4684
4685 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4686
4687         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
4688         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
4689         * testsuite/refcounting/pad.c: (main):
4690         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
4691           s/gst_pad_new/&_from_template/
4692           prepare deprecation of gst_pad_new
4693
4694 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4695
4696         patch by: Luca Ognibene <skaboy81@virgilio.it>
4697
4698         * gst/gstcaps.c:
4699         * gst/gstelement.c:
4700         * gst/gstpad.c:
4701         * gst/gstxml.c:
4702           fix memleaks.  Fixes #150001
4703
4704 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4705
4706         * docs/random/ds/0.9-suggested-changes:
4707           add notes - mostly about pad templates
4708
4709 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
4710
4711         * win32/GStreamer.vcproj:
4712           temporary locale files are .gmo not .mo
4713
4714 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4715
4716         * configure.ac: bump nano to cvs
4717
4718 === release 0.8.5 ===
4719
4720 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4721
4722         * configure.ac:
4723           releasing 0.8.5, "Stuttgart"
4724         * NEWS:
4725         * RELEASE:
4726         * configure.ac:
4727         * docs/random/release:
4728           updates for release
4729
4730 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4731
4732         patch by: Wim Taymans (wim@fluendo.com)
4733
4734         * gst/gstbuffer.c:
4735         * gst/gstindex.h:
4736         * libs/gst/dataprotocol/dataprotocol.c:
4737           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
4738
4739 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4740
4741         * Makefile.am:
4742         * win32/MANIFEST:
4743           add win32 dir to the build.  Fixes #149981.
4744
4745 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4746
4747         * configure.ac:
4748           bump libtool versioning
4749         * gst/gststructure.c:
4750           mark function as static
4751         * po/af.po:
4752         * po/az.po:
4753         * po/ca.po:
4754         * po/cs.po:
4755         * po/en_GB.po:
4756         * po/fr.po:
4757         * po/nl.po:
4758         * po/sq.po:
4759         * po/sr.po:
4760         * po/sv.po:
4761         * po/tr.po:
4762         * po/uk.po:
4763           translations update
4764         * win32/README.txt:
4765           trademark protection
4766
4767 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4768
4769         * configure.ac:
4770           fix GST_ORIGIN
4771           set GST_PACKAGE to source, and distinguish between release and other
4772         * tools/gst-inspect.c:
4773           print out plugin an element factory is part of so we see this info
4774
4775 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4776
4777         * docs/gst/gstreamer-sections.txt:
4778         * docs/gst/tmpl/gstbuffer.sgml:
4779         * docs/gst/tmpl/gstschedulerfactory.sgml:
4780           reorder docs a little, make GstBuffer's more sensible.
4781         * gst/gstbuffer.h:
4782           API: added GST_BUFFER_FLAG_DELTA_UNIT
4783         * gst/gstscheduler.c:
4784           comment API addition
4785
4786 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4787
4788         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
4789           work with non-regular files that can be mmapped (like /dev/zero)
4790         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
4791           get rid of typefinds that require a seek when we can't seek instead
4792           of trying them over and over again
4793         * tools/gst-launch.c: (idle_func), (error_cb), (main):
4794           return non-zero failure value when the pipeline was interrupted or
4795           an error occurred
4796
4797 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4798
4799         * win32/config.h:
4800         * win32/GStreamer.vcproj:
4801           compile and install the locales
4802
4803 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4804
4805         * gst/gstvalue.c:
4806           fix a possible memory leak under Windows
4807
4808 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4809
4810         * win32/GStreamer.vcproj:
4811           fix a memory leak that occured under Windows
4812         * win32/gstreamer.def:
4813           add gst_scheduler_register
4814
4815 2004-08-11  Benjamin Otte  <otte@gnome.org>
4816
4817         * docs/gst/gstreamer-sections.txt:
4818         * gst/gstscheduler.c: (gst_scheduler_register):
4819         * gst/gstscheduler.h:
4820           API:
4821           add gst_scheduler_register shortcut similar to gst_element_register
4822         * gst/schedulers/entryscheduler.c: (plugin_init):
4823         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
4824         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
4825           use it
4826
4827 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
4828
4829         * gst/gstvalue.h:
4830           fix a memory leak that occured under Windows
4831
4832 2004-08-10  Colin Walters  <walters@redhat.com>
4833
4834         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
4835         Don't use O_EXCL to open temporary registry.  It will prevent
4836         registry creation if a temporary one already exists, which
4837         is unnecessary.
4838
4839 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4840
4841         * docs/gst/gstreamer-sections.txt:
4842         * docs/gst/tmpl/gstvalue.sgml:
4843           remove some valuable stuff from the documentation due to the use of GST_EXPORT
4844
4845 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4846
4847         * win32/gstbytestream.vcproj:
4848         * win32/gstelements.vcproj:
4849         * win32/gstgetbits.vcproj:
4850         * win32/gst-inspect.vcproj:
4851         * win32/gst-launch.vcproj:
4852         * win32/gstoptimalscheduler.vcproj:
4853         * win32/GStreamer.vcproj:
4854         * win32/gst-register.vcproj:
4855         * win32/gstspider.vcproj:
4856           update the include and lib dirs to fit standard libraries as
4857           described in the Win32 manual
4858
4859 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4860
4861         * win32/config.h:
4862         * win32/gstversion.h:
4863           enable NLS again, push the version number for the coming 0.8.5 release
4864
4865 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4866
4867         * gst/gstvalue.h:
4868           export gst_type_XXX for windows DLLs
4869
4870 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4871
4872         * docs/faq/gst-uninstalled:
4873           fix PKG_CONFIG_PATH and PYTHONPATH
4874         * gst/schedulers/Makefile.am:
4875           cleanup
4876         * libs/gst/bytestream/bytestream.c:
4877           remove newline
4878         * po/LINGUAS:
4879         * po/sq.po:
4880           adding Albanian translation (Laurent Dhima)
4881         * po/cs.po:
4882           updated
4883
4884 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4885
4886         * po/ca.po:
4887         * po/sv.po:
4888           updated translations
4889
4890 2004-08-04  Benjamin Otte  <otte@gnome.org>
4891
4892         * tests/mass_elements.c: (main):
4893           allow specifying src and sink element explicitly, so I can test
4894           videotestsrc instead of fakesrc
4895
4896 2004-08-04  Benjamin Otte  <otte@gnome.org>
4897
4898         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
4899         (gst_structure_id_empty_new), (gst_structure_empty_new),
4900         (gst_structure_copy):
4901           add gst_structure_id_empty_new_with_size to allow preallocating
4902           value array sizes. Use this in gst_structure_copy to get rid of
4903           reallocs.
4904           don't do quark=>string=>quark when copying structures
4905
4906 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
4907
4908         * docs/manual/win32.xml:
4909         * win32/README.txt:
4910           update documentation with the clean version of dependencies
4911
4912 2004-08-03  Benjamin Otte  <otte@gnome.org>
4913
4914         * gst/schedulers/entryscheduler.c:
4915         (gst_entry_scheduler_remove_element):
4916           fix for GST_DISABLE_DEBUG
4917         * tools/gst-launch.c: (print_tag):
4918           fixes for G_DISABLE_ASSERT
4919
4920 2004-08-03  Benjamin Otte  <otte@gnome.org>
4921
4922         * gst/gst.c: (gst_register_core_elements):
4923           fix for G_DISABLE_ASSERT
4924         * gst/gstinfo.c: (__gst_in_valgrind):
4925           add for GST_DISABLE_DEBUG
4926
4927 2004-08-03  Benjamin Otte  <otte@gnome.org>
4928
4929         * gst/parse/parse.l:
4930           fix for G_DISABLE_ASSERT
4931
4932 2004-08-03  Wim Taymans  <wim@fluendo.com>
4933
4934         * gst/gstbin.c: (gst_bin_get_type),
4935         (gst_bin_child_state_change_func):
4936         * gst/gstthread.c: (gst_thread_change_state):
4937         Backported some debug logging from a reverted patch
4938         Don't try to destroy the thread twice. Added some more
4939         debugging in GstThread. Unlock and signal even if we
4940         are in the thread context.
4941
4942 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4943
4944         * po/uk.po:
4945           updated translation
4946
4947 2004-07-30  David Schleef  <ds@schleef.org>
4948
4949         * gst/gstatomic_impl.h: Enable atomic code for x86_64
4950
4951 2004-07-29  David Schleef  <ds@schleef.org>
4952
4953         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
4954         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
4955
4956 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4957
4958         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
4959         (gst_bin_add_func), (gst_bin_remove_func),
4960         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
4961         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
4962         (gst_bin_change_state_norecurse), (gst_bin_dispose),
4963         (gst_bin_sync_children_state):
4964         * gst/gstbin.h:
4965         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
4966         (gst_thread_change_state):
4967         * testsuite/states/Makefile.am:
4968           revert state change patches as agreed so we can rework them
4969           gradually
4970
4971 2004-07-29  Benjamin Otte  <otte@gnome.org>
4972
4973         * libs/gst/control/Makefile.am:
4974           link to libgstreamer (fixes Debian bug 262019, see
4975           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
4976
4977 2004-07-29  Wim Taymans  <wim@fluendo.com>
4978
4979         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
4980         (check_from_fraction_convert), (transform_test), (main):
4981         Make the test less pedantic about float roundoff errors.
4982
4983 2004-07-29  Benjamin Otte  <otte@gnome.org>
4984
4985         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
4986         (gst_filesrc_srcpad_event):
4987           make seek events to before start/after end of file not fail, but
4988           seek to start/end instead
4989         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
4990           add more output
4991
4992 2004-07-29  Benjamin Otte  <otte@gnome.org>
4993
4994         * gst/gstpad.c: (gst_pad_set_explicit_caps):
4995           check that caps are fixed
4996         * gst/gstpad.c: (gst_pad_template_new):
4997           don't try to simplify caps, costs too much time on gst_init
4998         * gst/gstplugin.c: (gst_plugin_add_feature):
4999           G_ERROR if features are added twice
5000         * gst/gsttypefind.c: (gst_type_find_register):
5001         * gst/gstelementfactory.c: (gst_element_register):
5002           don't add features twice
5003         * docs/random/ds/0.9-suggested-changes:
5004           add note about possible gst_init optimization
5005
5006 2004-07-28  David Schleef  <ds@schleef.org>
5007
5008         * testsuite/elements/Makefile.am:
5009         * testsuite/elements/struct_i386.h:
5010         * testsuite/elements/struct_size.c: (main):  A little test
5011         to keep distcheck from working if someone changes a structure
5012         size accidentally.
5013
5014 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5015
5016         * docs/libs/Makefile.am:
5017         * docs/libs/gstreamer-libs-docs.sgml:
5018         * docs/libs/gstreamer-libs-sections.txt:
5019         * docs/libs/tmpl/gstbytestream.sgml:
5020         * docs/libs/tmpl/gstcontrol.sgml:
5021         * docs/libs/tmpl/gstdataprotocol.sgml:
5022         * docs/libs/tmpl/gstgetbits.sgml:
5023         * libs/gst/bytestream/Makefile.am:
5024         * libs/gst/bytestream/bytestream.c:
5025         * libs/gst/bytestream/bytestream.h:
5026         * libs/gst/control/Makefile.am:
5027         * libs/gst/dataprotocol/Makefile.am:
5028         * libs/gst/getbits/Makefile.am:
5029         * libs/gst/getbits/getbits.h:
5030           various doc and style fixes, adding bytestream to libs docs.
5031
5032 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5033
5034         * docs/gst/gstreamer-docs.sgml:
5035         * docs/libs/Makefile.am:
5036         * docs/libs/gstreamer-libs-docs.sgml:
5037         * docs/libs/gstreamer-libs-sections.txt:
5038         * libs/gst/control/dparam.c:
5039           more doc fixes.  gst-libs docs now build the same way as gst.
5040
5041 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5042
5043         * configure.ac:
5044         * testsuite/Makefile.am:
5045         * testsuite/bins/Makefile.am:
5046         * testsuite/caps/Makefile.am:
5047         * testsuite/cleanup/Makefile.am:
5048         * testsuite/clock/Makefile.am:
5049         * testsuite/debug/Makefile.am:
5050         * testsuite/dlopen/Makefile.am:
5051         * testsuite/dynparams/Makefile.am:
5052         * testsuite/elements/.cvsignore:
5053         * testsuite/elements/Makefile.am:
5054         * testsuite/enumcaps/Makefile.am:
5055         * testsuite/enumcaps/enumcaps.c:
5056         * testsuite/ghostpads/Makefile.am:
5057         * testsuite/indexers/Makefile.am:
5058         * testsuite/negotiation/Makefile.am:
5059         * testsuite/parse/Makefile.am:
5060         * testsuite/plugin/Makefile.am:
5061         * testsuite/refcounting/Makefile.am:
5062         * testsuite/schedulers/.cvsignore:
5063         * testsuite/states/Makefile.am:
5064         * testsuite/tags/Makefile.am:
5065         * testsuite/threads/Makefile.am:
5066           fold enumcaps into caps dir
5067           clean up Makefile.am's for testsuite
5068
5069 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5070
5071         * docs/gst/Makefile.am:
5072         * docs/libs/Makefile.am:
5073           clean up docs build.  Fixes needless rebuilding of template files.
5074
5075 2004-07-28  Wim Taymans  <wim@fluendo.com>
5076
5077         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
5078         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
5079         Make sure that a bin state change tries to keep the children
5080         in sync. 
5081         Added debug logging to the thread.
5082
5083 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5084
5085         * win32/GStreamer.vcproj:
5086         * win32/gstreamer.def:
5087           more exports for the plugins
5088
5089 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5090
5091         * win32/gstgetbits.vcproj:
5092         * win32/gstgetbits.def:
5093         * win32/msvc71.sln:
5094           add support for the getbits plugin
5095
5096 2004-07-27  Wim Taymans  <wim@fluendo.com>
5097
5098         * gst/gstvalue.c: (gst_value_transform_double_fraction),
5099         (gst_value_transform_fraction_double), (_gst_value_initialize):
5100         * testsuite/caps/Makefile.am:
5101         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
5102         (check_from_fraction_convert), (transform_test), (main):
5103         Added transform functions between double and fraction.
5104         Added testcase to verify transforms
5105
5106 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5107
5108         * win32/GStreamer.vcproj:
5109           rename GStreamer-0.8.lib to libgstreamer.lib
5110
5111 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5112
5113         * win32/gstelements.vcproj:
5114         * win32/gstoptimalscheduler.vcproj:
5115           fixes for the Release build
5116
5117 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5118
5119         * win32/config.h:
5120           update the version number
5121
5122 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5123
5124         * win32/GStreamer.vcproj:
5125           add gstinterface to the build
5126
5127 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5128
5129         * win32/gstreamer.def:
5130           add many definitions needed by plugins,
5131           GST_CAT_DEFAULT only available in the Debug build ?
5132
5133 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5134
5135         * gst/gstelement.c: (gst_element_set_eos_recursive):
5136           various whitespace fixes.
5137           doc fix, fixes #148497
5138
5139 2004-07-25  Benjamin Otte  <otte@gnome.org>
5140
5141         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
5142           don't delay links on the sink elements, it causes unnegotiated
5143           links.
5144         * gst/elements/gsttypefindelement.c:
5145         (gst_type_find_element_base_init):
5146           add our padtemplates, we indeed do have some.
5147         * gst/elements/gsttypefindelement.c:
5148         (gst_type_find_element_handle_event),
5149         (gst_type_find_element_chain):
5150           don't push data when typefinding failed.
5151         * gst/gstpad.c: (gst_pad_link_fixate):
5152           check that no fixate function returns empty caps.
5153         * gst/gstpad.c: (gst_pad_push):
5154           check that the link is negotiated before data gets pushed.
5155         * tools/gst-register.c: (main):
5156           don't assert (fixes #148283)
5157
5158 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5159
5160         * docs/gst/gstreamer-sections.txt:
5161         * docs/gst/tmpl/gstconfig.sgml:
5162           add GST_PLUGIN_EXPORT definition
5163
5164 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5165
5166         * gst/gstplugin.h:
5167         * gst/gstconfig.h.in:
5168         * win32/gstconfig.h:
5169         * win32/gstelements.def:
5170         * win32/gstelements.vcproj:
5171         * win32/gstoptimalscheduler.def:
5172         * win32/gstoptimalscheduler.vcproj:
5173         * win32/gstspider.def:
5174         * win32/gstspider.vcproj:
5175           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
5176
5177 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5178
5179         * docs/gst/gstreamer-sections.txt:
5180           remove GST_CAT_DEFAULT because the type has changed
5181
5182 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5183
5184         * win32/gstbytestream.vcproj:
5185         * win32/gstelements.vcproj:
5186         * win32/gst-inspect.vcproj:
5187         * win32/gst-launch.vcproj:
5188         * win32/gstoptimalscheduler.vcproj:
5189         * win32/GStreamer.vcproj:
5190         * win32/gst-register.vcproj:
5191         * win32/gstspider.vcproj:
5192         * win32/msvc71.sln:
5193           Copy the files where needed after building, The testsuite will be
5194           built separately
5195
5196 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5197
5198         * win32/config.h:
5199         * win32/README.txt:
5200         * docs/manual/win32.xml:
5201         Fixed the plugin and GStreamer location
5202
5203 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5204
5205         * win32/gstreamer.def:
5206         More exports for the plugins
5207
5208 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5209
5210         * gst/gstinfo.h:
5211         Marc was right, we need to export literally GST_CAT_DEFAULT
5212
5213 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5214
5215         * win32/config.h:
5216         NLS crashes in gettext, disabled until this is solved
5217
5218 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5219
5220         * win32/gst-inspect.vcproj:
5221         * win32/gst-launch.vcproj:
5222         Should use NLS when available
5223
5224 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5225
5226         * gst/registries/gstxmlregistry.c:
5227         removing the file doesn't seem to be a good idea on Linux
5228
5229 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5230
5231         * gst/registries/gstxmlregistry.c:
5232         Remove the registry before renaming the tempfile (needed for Windows)
5233
5234 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5235
5236         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
5237         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
5238         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
5239         * gst/elements/gstmultifilesrc.h:
5240         Added newmedia property so it generates newmedia events between each
5241         file when property is set, as well as fixed eos handling
5242
5243 2004-07-22  David Schleef  <ds@schleef.org>
5244
5245         * gst/gststructure.c: (gst_structure_id_empty_new),
5246         (gst_structure_empty_new):  Set type field correctly.
5247         * gst/gststructure.h: Check type field correctly.
5248         * testsuite/caps/Makefile.am:
5249         * testsuite/caps/structure.c: (test1), (main): Add a very small
5250         test for structures.
5251
5252 2004-07-22  David Schleef  <ds@schleef.org>
5253
5254         * docs/random/ds/0.9-suggested-changes: more comments
5255         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
5256
5257 2004-07-22  Benjamin Otte  <otte@gnome.org>
5258
5259         * gst/gstelementfactory.c: (gst_element_register):
5260           set the factory in the class struct, so gst_element_get_factory
5261           actually works
5262         * gst/parse/grammar.y:
5263           set element to playing when it gets unlocked as we can't rely on the
5264           bin state - all elements in the bin state might still be locked in
5265           NULL)
5266
5267 2004-07-22  Benjamin Otte  <otte@gnome.org>
5268
5269         * gst/gstelement.c: (gst_element_set_state_func):
5270           make this a static function
5271
5272 2004-07-22  Wim Taymans  <wim@fluendo.com>
5273
5274         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
5275         (gst_opt_scheduler_pad_link):
5276         fix 147894-2 and the group_link problem.
5277
5278 2004-07-22  Wim Taymans  <wim@fluendo.com>
5279
5280         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5281         (handoff_identity), (main):
5282         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5283         (handoff_identity), (main):
5284         * testsuite/schedulers/Makefile.am:
5285         * testsuite/schedulers/group_link.c: (main):
5286         Show bug in scheduler when linking chain and loop based element 
5287         where the chain based element was not yet in a group.
5288
5289 2004-07-21  Benjamin Otte  <otte@gnome.org>
5290
5291         * gst/.cvsignore:
5292         * gst/autoplug/.cvsignore:
5293         * gst/elements/.cvsignore:
5294         * gst/indexers/.cvsignore:
5295         * libs/gst/bytestream/.cvsignore:
5296         * libs/gst/control/.cvsignore:
5297         * libs/gst/getbits/.cvsignore:
5298         * testsuite/states/.cvsignore:
5299         * testsuite/threads/.cvsignore:
5300           keep this up to date, since I seem to be the only one who cares
5301           about not missing files on commits (editor's note: no you don't,
5302           but feel free to change them at the time you add stuff instead
5303           of later on)
5304
5305 2004-07-21  Benjamin Otte  <otte@gnome.org>
5306
5307         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5308         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
5309         (gst_bin_child_state_change_func), (set_kid_state_func),
5310         (gst_bin_set_state), (gst_bin_change_state_norecurse):
5311           make state changes work correctly and reentrant (so removing
5312           elements from bins during state changes of bins doesn't cause
5313           segfaults or even wrong states)
5314           add debugging category and debugging output to print children states
5315         * gst/gstbin.c: (gst_bin_dispose): 
5316           add some assertion checks
5317         * gst/gstbin.h:
5318         * gst/gstbin.c: (gst_bin_sync_children_state):
5319           deprecate this function - it just does gst_bin_set_state (bin,
5320           GST_STATE (bin)) 
5321         * testsuite/threads/queue.c: (main):
5322           don't use gst_bin_sync_children_state anymore
5323         * testsuite/states/Makefile.am:
5324         * testsuite/states/bin.c:
5325           test that the state changes of bins work as expected
5326         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
5327           some adjustments to change states correctly, too
5328         * gst/gstthread.c: (gst_thread_change_state):
5329           don't enable/disable "threadsafe" properties, they're unused and
5330           cause random segfaults
5331         * testsuite/threads/Makefile.am:
5332           the queue check randomly passes now, ignore it
5333
5334 2004-07-21  Benjamin Otte  <otte@gnome.org>
5335
5336         * gst/gstpad.c:
5337           check if data is NULL before outputting debug info. (fixes #145100)
5338
5339 2004-07-21  Benjamin Otte  <otte@gnome.org>
5340
5341         * gst/schedulers/entryscheduler.c:
5342         (gst_entry_scheduler_loop_wrapper),
5343         (gst_entry_scheduler_chain_wrapper),
5344         (gst_entry_scheduler_get_wrapper):
5345           reset the state when the cothread starts, so we don't get assertion
5346           failures on restarting of cothreads
5347
5348 2004-07-20  Benjamin Otte  <otte@gnome.org>
5349
5350         * gst/gstelement.c: (gst_element_link_pads_filtered):
5351           use correct sinkpad, if only sinkpad is specified, but not srcpad
5352           (fixes #147889)
5353         * gst/gstelement.c: (gst_element_set_state_func),
5354         (gst_element_change_state): ref/unref the element, signal handlers
5355         could get rid of the element otherwise
5356
5357 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5358
5359         * docs/random/ds/0.9-suggested-changes:
5360           Make note about renaming fixed-list to array.
5361         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
5362         (_gst_value_initialize):
5363           Add array intersections.
5364         * testsuite/caps/intersect2.c: (main):
5365           Add test for array intersections.
5366
5367 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5368
5369         * configure.ac: back to cvs
5370
5371 === release 0.8.4 ===
5372
5373 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5374
5375         * configure.ac:
5376           releasing 0.8.4, "Paella"
5377           bump libtool versioning
5378
5379 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5380
5381         * po/LINGUAS:
5382         * po/ca.po:
5383           adding Catalan translation (Jordi Mallach)
5384
5385 2004-07-20  Wim Taymans  <wim@fluendo.com>
5386
5387         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5388         (handoff_identity), (main):
5389         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5390         (handoff_identity), (main):
5391         * testsuite/schedulers/Makefile.am:
5392         Added failing testcase for variant of #147894
5393
5394 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5395
5396         patch by: David Moore
5397
5398         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5399         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
5400         (group_migrate_connected):
5401         * testsuite/schedulers/Makefile.am:
5402           fix for #142813 (Deadlock in optimal scheduler)
5403
5404 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5405
5406         patch by: Wim Taymans
5407
5408         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5409         (gst_opt_scheduler_schedule_run_queue),
5410         (gst_opt_scheduler_get_wrapper), (get_group),
5411         (group_migrate_connected):
5412         * testsuite/schedulers/Makefile.am:
5413           fix for #147819 (Add some checks in the opt scheduler)
5414
5415 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5416
5417         patch by: Benjamin Otte
5418
5419         * gst/gstelementfactory.c: (__gst_element_details_set):
5420           fix for #147929: running gst-register in non-utf8 locale can cause
5421           invalid registry
5422
5423 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5424
5425         patch by: Wim Taymans
5426
5427         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
5428         (group_has_element), (element_get_reachables_func),
5429         (group_migrate_connected):
5430           fix for #147894 (opt scheduler decoupled elements mismanagement)
5431         * testsuite/schedulers/Makefile.am:
5432           testsuite app now passes
5433
5434 2004-07-19  Wim Taymans  <wim@fluendo.com>
5435
5436         * testsuite/schedulers/147819.c: (handoff_identity1),
5437         (handoff_identity2), (main):
5438         * testsuite/schedulers/Makefile.am:
5439         Added testcase for bug 147819
5440
5441 2004-07-19  Wim Taymans  <wim@fluendo.com>
5442
5443         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5444         (handoff_identity), (main):
5445         * testsuite/schedulers/Makefile.am:
5446         Added testcase for bug 147894
5447
5448 2004-07-16  Wim Taymans  <wim@fluendo.com>
5449
5450         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
5451         * testsuite/schedulers/142183.c: (handoff_identity), (main):
5452         * testsuite/schedulers/Makefile.am:
5453         Added testsuite for bug 142183 in its two incarnations. Refcount
5454         is not increased for scheduled elements and threadsafe properties
5455         mutexes are not properly unlocked.
5456
5457 2004-07-16  Wim Taymans  <wim@fluendo.com>
5458
5459         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
5460         (create_chain), (destroy_chain), (create_group), (destroy_group),
5461         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
5462         (group_dec_link), (gst_opt_scheduler_pad_link),
5463         (group_inc_links_for_element), (group_migrate_connected):
5464         Call group_inc_link with the proper src->sink ordering -- 
5465         break this, and we break sort_chain. patch from wingo for bug
5466         147713.
5467         Partially revert patch 1.89. When adding a loop based element to 
5468         the scheduler, the links to other groups are automatically followed
5469         and incremented. This should not happen because the bin will call
5470         pad_link explicitly for those connection, resulting in them counted 
5471         twice. Results in assertion failure on pipeline cleanup.
5472
5473 2004-07-16  Wim Taymans  <wim@fluendo.com>
5474
5475         * testsuite/schedulers/143777-2.c: (main):
5476         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
5477         (main):
5478         * testsuite/schedulers/Makefile.am:
5479         Added cleanup code to testcase 143777-2.
5480         Added testcase to show bug 147713, does not really show the
5481         deadlock as I can't figure out how to trigger it, but it does
5482         demonstrate bad ordering in the scheduler.
5483
5484 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5485
5486         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5487           change strndup to g_strndup.  Fixes #147707
5488
5489 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5490
5491         * po/af.po:
5492         * po/az.po:
5493         * po/cs.po:
5494         * po/en_GB.po:
5495         * po/fr.po:
5496         * po/nl.po:
5497         * po/sr.po:
5498         * po/sv.po:
5499         * po/tr.po:
5500         * po/uk.po:
5501           updated translations
5502
5503 2004-07-16  Benjamin Otte  <otte@gnome.org>
5504
5505         * gst/gstvalue.c: (gst_greatest_common_divisor):
5506           use ints and return ints, fractions only use ints, too, so this
5507           avoids accidently casting multiplications to unsigned
5508         (gst_value_lcopy_fraction): it's ints, not uint32
5509         (gst_value_set_fraction): disallow minint, multiplying and negation
5510           are broken with it
5511         (gst_value_fraction_multiply): fix to make large numbers work and get
5512         rid of the assumption that the multiplication of two ints fits an
5513         int64 - dunno if that's true for all systems
5514         * testsuite/caps/Makefile.am:
5515         * testsuite/caps/fraction-multiply-and-zero.c:
5516         (check_multiplication), (check_equal), (zero_test), (main):
5517           add tests for all the stuff above
5518         * testsuite/caps/value_compare.c: (test1):
5519           fix comment
5520         * tests/.cvsignore:
5521         * testsuite/caps/.cvsignore:
5522         * testsuite/debug/.cvsignore:
5523         * testsuite/dlopen/.cvsignore:
5524         * testsuite/states/.cvsignore:
5525           get up to date
5526
5527 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5528
5529         * docs/manual/bins-api.xml:
5530         * docs/manual/factories.xml:
5531         * docs/manual/helloworld.xml:
5532         * docs/manual/links-api.xml: 
5533           fixes for out of date info, incorrect info and grammar
5534
5535 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5536
5537         * docs/manual/pads.xml:
5538         * docs/manual/pads-api.xml: grammar fix
5539
5540 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5541
5542         * docs/manual/pads-api.xml: typo + grammar fix
5543
5544 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5545
5546         * docs/gst/gstreamer-sections.txt:
5547           add new symbols
5548         * docs/gst/tmpl/gstelement.sgml:
5549         * docs/gst/tmpl/gstpad.sgml:
5550         * docs/gst/tmpl/gsttypes.sgml:
5551         * docs/gst/tmpl/gstvalue.sgml:
5552           update docs
5553         * gst/gststructure.c: (gst_structure_set_valist),
5554         (gst_structure_from_abbr), (gst_structure_to_abbr):
5555         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
5556         (gst_greatest_common_divisor), (gst_value_init_fraction),
5557         (gst_value_copy_fraction), (gst_value_collect_fraction),
5558         (gst_value_lcopy_fraction), (gst_value_set_fraction),
5559         (gst_value_get_fraction_numerator),
5560         (gst_value_get_fraction_denominator),
5561         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
5562         (gst_value_deserialize_fraction),
5563         (gst_value_transform_fraction_string),
5564         (gst_value_transform_string_fraction),
5565         (gst_value_compare_fraction), (_gst_value_initialize):
5566         * gst/gstvalue.h:
5567           adding GstFraction GValue type, get/set, and multiply
5568         * testsuite/caps/Makefile.am:
5569         * testsuite/caps/fraction.c: (test), (main):
5570         * testsuite/caps/string-conversions.c: (main):
5571         * testsuite/caps/value_compare.c: (test1), (main):
5572           add regression tests for GstFraction
5573
5574 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5575         
5576         * docs/manual/init-api.xml: Grammar fix
5577
5578 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5579
5580         * docs/manual/states.xml: Fix inconsistent information
5581
5582 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5583
5584         * gst/gstelement.c: (gst_element_set_state):
5585         * gst/gstpad.c: (gst_pad_try_set_caps):
5586         * gst/gststructure.c:
5587         * gst/gstthread.c: (gst_thread_child_state_change):
5588         * gst/gstvalue.c: (gst_value_compare_double):
5589         * gst/gstvalue.h:
5590         * testsuite/parse/parse1.c: (main):
5591           debugging additions and style cleanups
5592
5593 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5594
5595         * docs/manual/states.xml: Grammar fix
5596
5597 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5598
5599         * docs/manual/pads.xml: Grammar fix
5600
5601 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5602
5603         * docs/manual/elements.xml: Fixed image reference
5604
5605 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5606
5607         * docs/manual/goals.xml: Grammar fix
5608
5609 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5610
5611         * docs/manual/motivation.xml:
5612         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
5613
5614 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5615
5616         * docs/manual/motivation.xml: Fix spelling
5617
5618 2004-07-15  Benjamin Otte  <otte@gnome.org>
5619
5620         * gst/gstelement.h: 
5621           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
5622           strings.
5623         * gst/gstelement.c (gst_element_class_init):
5624           GError's are boxed, not objects
5625         * gst/gstmarshal.list:
5626           update list for the fixed error signal
5627
5628 2004-07-14  Andy Wingo  <wingo@pobox.com>
5629
5630         * gst/gsttag.c: Add a tag merge func for pointers. The header was
5631         there all along, but the function wasn't. (guile-gstreamer's build
5632         system uses the address of the function -- I wasn't actually
5633         trying to use this.)
5634
5635 2004-07-14  Andy Wingo  <wingo@pobox.com>
5636
5637         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
5638         as gst_pad_proxy_pad_link) just link to every other pad when they
5639         are called. In the case where the graph has cycles, this will mean
5640         that a call to try_set_caps will recurse. Allow this recursion
5641         and return OK, while we wait for the first try_set_caps to give a
5642         proper return value.
5643         (gst_pad_link_call_link_functions): Since this function is the
5644         only one to set the NEGOTIATING flag on a pad, if the flag is set
5645         it means that the link functions have indirectly recursed. If this
5646         happens, error out to avoid infinite recursion and an eventual
5647         SEGV.
5648         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
5649         (gst_pad_proxy_getcaps): Intersect the result with the template
5650         caps to ensure that the return value is valid.
5651
5652 2004-07-14  Andy Wingo  <wingo@pobox.com>
5653
5654         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
5655         one refcount, the calling function is the owner of the buffer.
5656
5657 2004-07-14  Wim Taymans  <wim@fluendo.com>
5658
5659         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5660         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5661         Fix stupid warning when an element is to be migrated but
5662         is already migrated.
5663
5664 2004-07-14  Wim Taymans  <wim@fluendo.com>
5665
5666         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5667         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5668         Make sure that a single non-loop-based element does not 
5669         end up in a group. This fixes the testsuite again.
5670
5671 2004-07-14  Wim Taymans  <wim@fluendo.com>
5672
5673         * gst/schedulers/gstoptimalscheduler.c: (create_group),
5674         (add_to_group), (merge_groups), (schedule_group),
5675         (gst_opt_scheduler_get_wrapper), (group_elements),
5676         (group_dec_link), (gst_opt_scheduler_pad_link),
5677         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
5678         (gst_opt_scheduler_iterate):
5679         move isolated groups to a new chain.
5680         Emit a warning instead of segfaulting in some error cases.
5681         Fix a bug where the link count between groups was not calculated 
5682         correctly. Fixes #144510.
5683
5684 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
5685         * gst/elements/gstfilesrc.c:
5686           Binary files support under Windows now OK
5687       
5688 2004-07-13  Benjamin Otte  <otte@gnome.org>
5689
5690           compatibility fixes for Solaris 8/gcc 2.95
5691         * configure.ac:
5692           include libintl libs in LDFLAGS
5693         * gstvalue.c (gst_value_deserialize_buffer):
5694           cast isxdigit stuff to int to silence compiler warning
5695
5696 2004-07-12  Benjamin Otte  <otte@gnome.org>
5697
5698         * gst/gsttypes.h:
5699           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
5700           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
5701           just causes support madness
5702         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
5703           make it work without this
5704         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
5705         (gst_file_index_commit):
5706           glib IO channels don't want binary mode
5707         * testsuite/bytestream/filepadsink.c: (main):
5708         * testsuite/bytestream/test1.c: (read_param_file):
5709           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
5710
5711 2004-07-12  Benjamin Otte  <otte@gnome.org>
5712
5713         * gst/gstelement.c: (gst_element_class_init),
5714         (gst_element_set_state), (gst_element_set_state_func):
5715           virutalize gst_element_set_state, use set_state member in class
5716           struct that was already added in 0.7 for this.
5717         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
5718         (gst_bin_change_state):
5719           make gst_bin_foreach works similar to other foreach functions, plug
5720           memleaks in it. Make functions using it work with the new approach.
5721           Document gst_bin_foreach, so it can be exported if we want to
5722         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
5723           use virtualized set_state to make set_state on bins set the state of
5724           all its children.
5725
5726 2004-07-12  Benjamin Otte  <otte@gnome.org>
5727
5728         * configure.ac:
5729           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
5730           http://bugs.gentoo.org/show_bug.cgi?id=53967)
5731         * gst/gstpad.c: (gst_pad_alloc_buffer):
5732           allow buffer_alloc functions to return NULL and allocate a normal
5733           buffer in that case
5734
5735 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5736         * gst/elements/gstfilesink.c:
5737         * gst/elements/gstfilesrc.c:
5738         * gst/indexers/gstfileindex.c:
5739         * gst/gsttypes.h:
5740         * testsuite/bytestream/filepadsink.c:
5741         * testsuite/bytestream/test1.c:
5742           Handle binary files under Windows
5743
5744 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5745         * docs/manual/win32.xml:
5746         * win32/config.h:
5747         * win32/gst-register.vcproj:
5748         * win32/gstreamer.def:
5749           Update to another gettext public build
5750
5751 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5752         * gst/gstplugin.c:
5753           Fix an impossible C syntax
5754         * win32/config.h:
5755           Disable i18n under Windows for the moment
5756         * win32/gst-register.vcproj:
5757           Use this configuration
5758
5759 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
5760         * docs/manual/quotes.xml:
5761           Keep the quotes file alive
5762         * docs/random/ds/0.9-suggested-changes:
5763           Add the suggestion of including a 'rowstride' as part of video
5764           format caps
5765
5766 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5767
5768         * gst/gstelement.c: (gst_element_set_state),
5769         (gst_element_change_state):
5770           d'oh.  Set PENDING state correctly before forcing bin to change.
5771         * gst/gststructure.c: (gst_structure_value_get_generic_type),
5772         (gst_structure_parse_fixed_list):
5773         * gst/schedulers/gstoptimalscheduler.c:
5774         (gst_opt_scheduler_state_transition):
5775         * testsuite/states/parent.c: (main):
5776           remove comment now that it's fixed.
5777
5778 2004-07-11  Benjamin Otte  <otte@gnome.org>
5779
5780         * gst/gstclock.h:
5781           GST_SECOND shouldn't cause a conversion to unsigned.
5782         * testsuite/clock/.cvsignore:
5783         * testsuite/clock/Makefile.am:
5784         * testsuite/clock/signedness.c: (main):
5785           make sure it never will again
5786
5787 2004-07-11  Andy Wingo  <wingo@pobox.com>
5788
5789         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
5790         whose state is higher than the bin state, raise the bin state to
5791         ensure that bin state := highest child state.
5792         
5793 2004-07-11  Andy Wingo  <wingo@pobox.com>
5794
5795         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
5796         procedure on the children of a bin. Assumes that the procedure can
5797         change the set of children.
5798         (set_kid_state_func): New static function.
5799         (gst_bin_change_state): Use gst_bin_foreach to call
5800         set_kid_state_func. Fixes a bug: if a child had a state-change
5801         handler that removes it from the bin, there would be a segfault.
5802         Hopefully it should also work in the case where the state-change
5803         handler on one child adds or removes other children. In any case,
5804         fixes should go to gst_bin_foreach.
5805
5806 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5807
5808         * gst/gstelement.c: (gst_element_set_state):
5809           compatibility fix for latest plugins release.  Change loop back
5810           to while {}
5811
5812 2004-07-09  Wim Taymans  <wim@fluendo.com>
5813
5814         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
5815         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
5816         (gst_thread_main_loop):
5817         Since remove is virtual in GstBin we must not assume the 
5818         elements GList to have anothing useful.
5819         Add some more logging to GstThread and be a bit more paranoid
5820         when resetting the scheduler.
5821         Set the state of the bin to NULL before removing the children.
5822
5823 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5824
5825         * testsuite/threads/Makefile.am:
5826         * testsuite/threads/threadg.c:
5827           added test to check if problem when removing all elements from a
5828           GstThread before setting GstThread state to NULL
5829
5830 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5831
5832         * docs/gst/tmpl/gstelement.sgml:
5833         * docs/gst/tmpl/gsttypes.sgml:
5834         * gst/gstbin.c: (gst_bin_change_state):
5835         * gst/gstelement.c: (gst_element_set_state),
5836         (gst_element_change_state):
5837           rework so that for bins we try to set the state on all children
5838           as well even if the bin is in the correct state already.
5839           change while to do so at least one iteration is done.
5840           For regular elements, we fall back to the previous behaviour for
5841           now since we first need a new plugins release.
5842         * testsuite/states/parent.c: (main):
5843           test for this case
5844           Fixes #123774
5845
5846 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5847
5848         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
5849         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
5850         (gst_queue_release_locks), (gst_queue_change_state),
5851         (gst_queue_set_property):
5852           add proper lock debugging.  Change dispose to finalize, since
5853           we're freeing mutexes and other stuff which should happen only once.
5854
5855 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5856
5857         * docs/gst/tmpl/gstelement.sgml:
5858         * docs/gst/tmpl/gstplugin.sgml:
5859         * docs/gst/tmpl/gsttypes.sgml:
5860         * docs/pwg/building-state.xml:
5861         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
5862         * gst/gstelement.c: (gst_element_change_state):
5863         * gst/gstthread.c: (gst_thread_change_state):
5864           catch wrong state changes in element base class.
5865
5866 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5867
5868         * gst/gstinfo.h:
5869           clean up layout a little.
5870
5871 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5872
5873         * configure.ac:
5874         * testsuite/Makefile.am:
5875         * testsuite/states/Makefile.am:
5876         * testsuite/states/parent.c: (main):
5877           re-enable states testsuite dir.  Add test for state changes and
5878           parent behaviour
5879
5880 2004-07-09  Wim Taymans  <wim@fluendo.com>
5881
5882         * gst/schedulers/gstoptimalscheduler.c:
5883         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
5884         (element_get_reachables_func), (element_get_reachables),
5885         (debug_element), (rechain_group), (group_migrate_connected),
5886         (gst_opt_scheduler_pad_unlink):
5887         Do not try to migrate decoupled elements to a new group since
5888         they are not added to groups.
5889
5890 2004-07-08  Benjamin Otte  <otte@gnome.org>
5891
5892         * gst/gstelement.c: (gst_element_error_func):
5893           make reentrant (= allow removing elements in error handler)
5894
5895 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5896
5897         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5898         (gst_pad_send_event), (gst_pad_call_chain_function):
5899           events sent to elements below PAUSED cannot be handled, so
5900           don't try to
5901
5902 2004-07-08  Wim Taymans  <wim@fluendo.com>
5903
5904         * gst/schedulers/gstoptimalscheduler.c:
5905         (chain_recursively_migrate_group), (create_group),
5906         (schedule_group), (gst_opt_scheduler_pad_link),
5907         (group_elements_set_visited), (element_get_reachables_func),
5908         (element_get_reachables), (group_can_reach_group), (debug_element),
5909         (rechain_group), (group_migrate_connected),
5910         (gst_opt_scheduler_pad_unlink):
5911         * testsuite/schedulers/Makefile.am:
5912         Implemented group splitting and rechaining.
5913         Fixes 143777 and 143777-2 in the testsuite.
5914
5915 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5916
5917         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5918           extra debugging
5919         * gst/gstevent.h:
5920         * gst/gstinfo.c: (gst_debug_log_default):
5921           print time nicely.  add thread pointer until someone figures out
5922           a completely portable way of getting at thread id's.
5923         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
5924         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
5925         (gst_pad_call_chain_function):
5926           extra debugging
5927         * gst/schedulers/gstoptimalscheduler.c:
5928         (get_group_schedule_function), (loop_group_schedule_function),
5929         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5930         (pad_clear_queued), (gst_opt_scheduler_iterate):
5931           rename BUFPEN and friends to DATAPEN since that's what they are.
5932
5933 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5934
5935         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5936         * gst/gstbuffer.h:
5937         * gst/gstpad.c:
5938           cleanups and debugging
5939
5940 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5941
5942         * configure.ac:
5943         * gst/gstvalue.c: (gst_value_compare_enum),
5944         (gst_value_serialize_enum), (gst_value_deserialize_enum),
5945         (gst_value_can_compare), (gst_value_compare):
5946         * testsuite/Makefile.am:
5947         * testsuite/enumcaps/Makefile.am:
5948         * testsuite/enumcaps/enumcaps.c:
5949           Fix enum serialization, deserialization, comparison in caps, add
5950           a test to ensure that this continues working in the future.
5951
5952 2004-07-06  David Schleef  <ds@schleef.org>
5953
5954         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5955         Fix memleak.
5956
5957 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5958
5959         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
5960         * gst/gstplugin.h:
5961         * gst/registries/gstxmlregistry.c:
5962         (plugin_times_older_than_recurse), (plugin_times_older_than),
5963         (gst_xml_registry_parse_padtemplate):
5964           only rebuild registry when actual plugins have a newer time than
5965           the registry.  Fixes #145520
5966
5967 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5968
5969         * docs/manual/manual.xml:
5970         * docs/manual/win32.xml:
5971           add chapter on win32 building.  fixes #142422
5972
5973 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5974
5975         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
5976
5977         * gst/autoplug/gstspider.c: (gst_spider_init),
5978         (gst_spider_dispose):
5979           fix spider memleaks.  fixes #137863
5980
5981 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5982
5983         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
5984
5985         * gst/schedulers/gstoptimalscheduler.c:
5986         (gst_opt_scheduler_pad_unlink):
5987           fix SIGBUS error, fixes #145338
5988
5989 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5990
5991         * gst/gstobject.c: (gst_object_replace):
5992         * gst/gstscheduler.c: (gst_scheduler_get_clock):
5993         * gst/gstsystemclock.c: (gst_system_clock_obtain):
5994           clean up clock lifecycle.  Fixes #109831
5995
5996 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5997
5998         * po/LINGUAS:
5999         * po/cs.po:
6000           added Czech translation (Miloslav Trmac)
6001
6002 2004-07-04  David Schleef  <ds@schleef.org>
6003
6004         * tools/Makefile.am:
6005         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
6006
6007 2004-07-04  David Schleef  <ds@schleef.org>
6008
6009         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
6010
6011 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6012
6013         * gst/gstbin.c: (gst_bin_restore_thyself):
6014           chain to parent restore so the bins get restored correctly
6015           in the editor
6016
6017 2004-07-03  David Schleef  <ds@schleef.org>
6018
6019         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
6020         Actually do something in these functions, like before the big
6021         caps change.  (bug #145137)
6022
6023 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6024
6025         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
6026         (gst_element_get_compatible_pad_filtered):
6027         * gst/gstthread.c: (gst_thread_main_loop):
6028           more debugging
6029
6030 2004-07-02  David Schleef  <ds@schleef.org>
6031
6032         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
6033         * gst/gstobject.h:
6034         * gst/gstparse.h:
6035         * gst/gsttrace.h:
6036         * gst/gstxml.h:
6037
6038 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6039
6040         * gst/gstpad.c: (gst_pad_check_schedulers),
6041         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6042         (gst_pad_link_prepare):
6043           revert until testsuite is fixed
6044
6045 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6046
6047         * testsuite/Makefile.am:
6048         * testsuite/caps/filtercaps.c: (main):
6049         * testsuite/clock/clock1.c: (main):
6050         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
6051           fix some more tests
6052
6053 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6054
6055         * testsuite/cleanup/cleanup1.c: (create_pipeline):
6056         * testsuite/cleanup/cleanup2.c: (create_pipeline):
6057         * testsuite/cleanup/cleanup4.c: (main):
6058           fix testsuite
6059
6060 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6061
6062         * libs/gst/control/control.c:
6063         * libs/gst/control/dparam.c:
6064         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
6065         * libs/gst/control/dparammanager.c:
6066         * libs/gst/control/dparammanager.h:
6067         * testsuite/dynparams/Makefile.am:
6068         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
6069         (gst_dptest_change_state), (gst_dptest_chain), (main):
6070           fix testcase for dparams
6071           add debugging category
6072
6073 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6074
6075         * testsuite/Rules:
6076           change path
6077
6078 2004-07-02  Benjamin Otte  <otte@gnome.org>
6079
6080         * tests/.cvsignore:
6081         * tests/Makefile.am:
6082         * tests/mass_elements.c: (gst_get_current_time), (main):
6083           add simple benchmark to test various speeds of fakesrc ! identity !
6084           identity ! ... ! fakesink.
6085           Usage: mass_elements [num_identities] [num_buffers]
6086           If not specified they default to 1000.
6087
6088 2004-07-02  Benjamin Otte  <otte@gnome.org>
6089
6090         * gst/gstpad.c: (gst_pad_check_schedulers),
6091         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6092         (gst_pad_link_prepare):
6093           check that pads that get linked belong to the same manager. The old
6094           code allowed linking elements before putting them into bins, so it
6095           worked to link them and then put them in different threads, which
6096           lead to weird behaviour.
6097           Since this effectively disallows linking elements before putting
6098           them in a bin, some applications might not work after this and error
6099           out. If these applications are too critical, we might need to revert
6100           that patch. Please test this before the next release...
6101
6102 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6103
6104         * gst/gstpad.c: (gst_pad_get_caps):
6105           throw an error if the getcaps function does not return a subset of
6106           the template caps.
6107         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
6108           make disconts without position info an error in debugging
6109         * tests/spidey_bench.c: (handoff), (main):
6110           don't count first try when averaging
6111
6112 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6113
6114         * gst/gstplugin.c: (gst_plugin_load_file):
6115           figure out problem with dynamic test
6116
6117 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6118
6119         * docs/gst/Makefile.am:
6120           fix docs build
6121
6122 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6123
6124         * po/POTFILES.in:
6125         * po/af.po:
6126         * po/az.po:
6127         * po/en_GB.po:
6128         * po/fr.po:
6129         * po/nl.po:
6130         * po/sr.po:
6131         * po/sv.po:
6132         * po/tr.po:
6133         * po/uk.po:
6134         * tools/gst-register.c: (plugin_added_func), (main):
6135           i18n-ize -register, fix plural
6136
6137 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6138
6139         * gst/elements/gstidentity.c: (gst_identity_class_init),
6140         (gst_identity_init), (gst_identity_chain),
6141         (gst_identity_set_property), (gst_identity_get_property):
6142         * gst/elements/gstidentity.h:
6143           check for perfect stream
6144
6145 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6146
6147         * gst/elements/gstidentity.c: (gst_identity_chain):
6148           print offset_end
6149
6150 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6151
6152         * docs/gst/Makefile.am:
6153         * docs/gst/gstreamer-docs.sgml:
6154           doc fixes
6155
6156 2004-06-24  David Schleef  <ds@schleef.org>
6157
6158         * autogen.sh:  Remove call to env, since the buildbot isn't
6159         broken anymore.
6160
6161 2004-06-24  Wim Taymans  <wim@fluendo.com>
6162
6163         * gst/elements/Makefile.am:
6164         * gst/elements/gstelements.c:
6165         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
6166         (gst_multifdsink_class_init), (gst_multifdsink_init),
6167         (gst_multifdsink_add), (gst_multifdsink_remove),
6168         (gst_multifdsink_clear), (gst_multifdsink_chain),
6169         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
6170         * gst/elements/gstmultifdsink.h:
6171         Added an element that writes to multiple filedescriptors at once.
6172
6173 2004-06-24  Benjamin Otte  <otte@gnome.org>
6174
6175         * gst/parse/grammar.y:
6176           don't try to link elements before they have been added to bins
6177
6178 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6179
6180         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
6181         (gst_file_pad_get_length):
6182         * libs/gst/bytestream/filepad.h:
6183           add 2 new functions
6184
6185 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6186
6187         * docs/gst/gstreamer-sections.txt:
6188         remove from docs, the define that Benjamin removed from gstelement.h
6189
6190 2004-06-22  Benjamin Otte  <otte@gnome.org>
6191
6192         * gst/gstelement.h:
6193           remove define that referenced a nonexisting GstElement struct member
6194
6195 2004-06-20  Benjamin Otte  <otte@gnome.org>
6196
6197         * gst/gstdata.c: (gst_data_is_writable):
6198           whoops, return values were wrong, so writable data was marked as
6199           non-writable and vice versa. (fixes #143953, spotted by Francis
6200           Labonte)
6201           Shows how rarely we need to copy data ;)
6202
6203 2004-06-20  Benjamin Otte  <otte@gnome.org>
6204
6205         * testsuite/schedulers/.cvsignore:
6206         * testsuite/schedulers/Makefile.am:
6207         * testsuite/schedulers/143777-2.c: (main):
6208           add test for opt breakage in bug #143777
6209
6210 2004-06-20  Benjamin Otte  <otte@gnome.org>
6211
6212         * gst/gstpad.c: (gst_pad_call_chain_function):
6213           check for if we were unlinked while inside the chainfunction (fixes
6214           entrygthread having issues with #143777)
6215         * testsuite/schedulers/143777.c: (main):
6216         * testsuite/schedulers/Makefile.am:
6217           add a test for that fix
6218
6219 2004-06-20  Benjamin Otte  <otte@gnome.org>
6220
6221         * gst/gstvalue.c: (gst_value_set_int_range):
6222           test that start is smaller then end
6223         * libs/gst/bytestream/Makefile.am:
6224         * libs/gst/bytestream/filepad.c: 
6225         * libs/gst/bytestream/filepad.h:
6226           add GstFilePad - a pad that behaves like a FILE*
6227         * testsuite/bytestream/.cvsignore:
6228         * testsuite/bytestream/Makefile.am:
6229         * testsuite/bytestream/filepadsink.c: 
6230           test for the GstFilePad
6231
6232 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6233
6234         * gst/elements/gstidentity.c: (gst_identity_class_init),
6235         (gst_identity_init), (gst_identity_set_clock),
6236         (gst_identity_chain), (gst_identity_set_property),
6237         (gst_identity_get_property):
6238         * gst/elements/gstidentity.h:
6239         * gst/gstclock.c: (gst_clock_id_wait):
6240           add a "sync" property to sync to the clock
6241
6242 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6243
6244         * gst/gstelementfactory.c: (gst_element_factory_create):
6245           make the freakin "elementfactory bla has no type" message more
6246           useful. So we actually can do something when someone shows up
6247           complaining about it.
6248
6249 2004-06-15  Johan Dahlin  <johan@gnome.org>
6250
6251         * tools/gst-inspect.c (main): Fallback to plugin if no element is
6252         found. This matches the old behavior better. Thanks to Thomas for
6253         pointing out.
6254
6255 2004-06-14  David Schleef  <ds@schleef.org>
6256
6257         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
6258         -fomit-frame-pointer.  Appears to generate correct code in
6259         other cases as well.
6260
6261 2004-06-14  Johan Dahlin  <johan@gnome.org>
6262
6263         * tools/gst-inspect.c (main): Add two new command line options: -a
6264         to print all elements and -n to print the name on each line. Also
6265         fix some error reporting.
6266         (main): Simplify, remove -n and always print names if -a is specified
6267
6268 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
6269
6270         * win32/gstconfig.h:
6271         * win32/GSTreamer.vcproj:
6272         * win32/Makefile:
6273         * gst/gstconfig.h.in:
6274         * gst/gst.h:
6275         * gst/gstbin.h:
6276         * gst/gstelement.h:
6277         * gst/gstevent.h:
6278         * gst/gstobject.h:
6279         * gst/gstpad.h:
6280         * docs/gst/gstreamer-sections.txt:
6281         * docs/gst/tmpl/gstconfig.sgml:
6282           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
6283
6284 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6285         * docs/gst/gstreamer-sections.txt:
6286         * docs/gst/tmpl/gstconfig.sgml:
6287         Add the GSTREAMER_EXPORT macro to the docs
6288
6289 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6290
6291         * tools/gst-compprep.c: (handle_xmlerror), (main):
6292         Add a check for the version that introduced SetStructuredError to fix
6293         the build on FC1
6294
6295 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6296
6297         * win32/msvc71.sln:
6298         * win32/testsuite/:
6299           prepare to compile the testsuite with MSVC
6300
6301 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6302
6303         * docs/manual/win32.xml:
6304           attempt to transform the Win32 README into an XML doc
6305
6306 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6307
6308         * gst/gst.c:
6309         * gst/gstbin.*:
6310         * gst/config.h.in:
6311         * gst/gstelement.*:
6312         * gst/gstevent.h:
6313         * gst/gstobject.*:
6314         * gst/gstpad.h:
6315         * tools/gst-register.c:
6316         * win32/gstreamer.def:
6317           extern symbols are now exported for the Windows DLL
6318
6319 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6320
6321         * gst/gstinfo.h:
6322           fix a problem to enable/disable DEBUG under MSVC
6323
6324 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6325
6326         * win32/:
6327           enable more debug code in DEBUG build
6328
6329 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6330
6331         * win32/config.h:
6332         * gst/gst-i18n-app.h:
6333           enable NLS under Windows
6334
6335 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
6336         * tools/gst-compprep.c: (handle_xmlerror), (main):
6337           Make an error that baffled me a bit clearer
6338
6339 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6340
6341         * gst/gstqueue.c:
6342           don't use g_queue_get_length () because it's 2.4, use ->length
6343
6344 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
6345
6346         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
6347
6348         * tools/gst-inspect.c: (print_signal_info):
6349           don't free random data twice. (fixes #144185)
6350
6351 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6352
6353         * gst/gstqueue.c:
6354         * gst/gstqueue.h:
6355           fix removing from the wrong queue on event timeout
6356           fix disposing of the event queue by casting correctly
6357           add mutexes for handling the event queue
6358           someone was sleeping when fixing queue last time around :)
6359
6360 2004-06-10  Johan Dahlin  <johan@gnome.org>
6361
6362         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
6363         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
6364
6365 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6366
6367         * docs/random/gdp:
6368         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
6369         * libs/gst/dataprotocol/dataprotocol.c:
6370         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6371         (gst_dp_buffer_from_header):
6372         * libs/gst/dataprotocol/dataprotocol.h:
6373         * libs/gst/dataprotocol/dp-private.h:
6374           rev version to 0.1, add buffer flags and copy them
6375
6376 2004-06-09  Johan Dahlin  <johan@gnome.org>
6377
6378         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
6379         the flags from the buffer we're copying.
6380
6381 2004-06-09  Wim Taymans  <wim@fluendo.com>
6382
6383         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
6384         * gst/elements/gstidentity.c: (gst_identity_init),
6385         (gst_identity_chain):
6386         Print more buffer info in fakesink.
6387         Make identity output similar to fakesink.
6388
6389 2004-06-07  Daniel Gazard  <dany42@free.fr>
6390
6391         reviewed by Benjamin Otte  <otte@gnome.org>
6392
6393         * configure.ac:
6394           fix cross compiling not working. (fixes #143741)
6395
6396 2004-06-07  Benjamin Otte  <otte@gnome.org>
6397
6398         * gst/gstelement.c: (gst_element_set_time_delay):
6399           add failure check
6400         * gst/gstinfo.h:
6401           put brackets around macro arguments of GST_TIME_ARGS, add note to
6402           move it to correct header in 0.9
6403
6404 2004-06-07  Benjamin Otte  <otte@gnome.org>
6405
6406         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
6407         (gst_file_index_load), (_file_index_id_save_entries),
6408         (gst_file_index_commit), (gst_file_index_add_association),
6409         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
6410         (gst_file_index_plugin_init):
6411           make debugging use a default category
6412
6413 2004-06-06  David Moore  <dcm@acm.org>
6414
6415         reviewed by Benjamin Otte  <otte@gnome.org>
6416
6417         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6418         (gst_fdsrc_change_state):
6419           reset offset counter when going READY => PAUSED. (fixes #142903)
6420
6421 2004-06-06  ed@catmur.co.uk
6422
6423         reviewed by Benjamin Otte  <otte@gnome.org>
6424
6425         * gst/registries/gstxmlregistry.c:
6426         (gst_xml_registry_rebuild_recurse):
6427           don't rely on g_dir_open to figure out if a file is a directory, use
6428           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
6429           directories. (fixes #142850)
6430
6431 2004-06-06  Benjamin Otte  <otte@gnome.org>
6432
6433         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
6434           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
6435         * libs/gst/bytestream/adapter.c:
6436         * libs/gst/bytestream/adapter.h:
6437           fix copyright in header and typo in debugging category name
6438
6439 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6440
6441         * configure.ac:
6442           bump nano to cvs
6443
6444 === release 0.8.3 ===
6445
6446 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6447
6448         * configure.ac:
6449           update libtool versioning
6450           do a new release
6451         * docs/gst/tmpl/gstelement.sgml:
6452         * docs/gst/tmpl/gsttypes.sgml:
6453         * gst/gstinfo.c: (_gst_debug_init):
6454           put back GST_CAT_DATAFLOW to fix API breakage
6455
6456 2004-06-04  David Schleef  <ds@schleef.org>
6457
6458         * autogen.sh: Add a temporary 'env' to test buildbot problems.
6459
6460 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6461
6462         * configure.ac:
6463           bump nano to cvs
6464
6465 === release 0.8.2 ===
6466
6467 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6468
6469         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
6470           check GST_DEBUG environment variable which is parsed the same way
6471           as --gst-debug=
6472
6473 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6474
6475         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
6476                             gstmd5sink.c gstshaper.c gsttee.c
6477                             gsttypefindelement.c
6478         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
6479
6480           - removing trailing commas at end of enums
6481             it is correct C99 code but C90 compilers would complain
6482             (AIX, Forte, ...)
6483             ('should' fix #143290, at least partially)
6484
6485 2004-05-27  Wim Taymans  <wim@fluendo.com>
6486
6487         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
6488         (chain_group_set_enabled), (create_group), (add_to_group),
6489         (merge_groups), (setup_group_scheduler), (group_elements),
6490         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
6491         Don't try to follow the pad connections with other groups
6492         when a loop based element is added to the scheduler because
6493         the bin will inform the scheduler about the pad links a little
6494         later.
6495
6496 2004-05-27  Wim Taymans  <wim@fluendo.com>
6497
6498         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6499         (remove_from_chain), (chain_group_set_enabled),
6500         (setup_group_scheduler), (group_element_set_enabled),
6501         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
6502         (gst_opt_scheduler_show):
6503         Elements without a group can do a state change as well, just wait
6504         with the setup of the scheduling function when it is added to a
6505         chain.
6506
6507 2004-05-27  Wim Taymans  <wim@fluendo.com>
6508
6509         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6510         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
6511         (merge_groups), (setup_group_scheduler),
6512         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
6513         (gst_opt_scheduler_show):
6514         Fixes to maintain internal consistency of the scheduler data
6515         structures. 
6516          - adding an enabled group to a chain should increment the
6517            number of enabled elements in that chain.
6518          - removing an enabled group from a chain could disable the
6519            chain.
6520          - removing a disabled group from a chain could enable the
6521            chain.
6522          - add g_assert when internal inconsistency is detected.
6523          - adding an element to a group could increase the number of
6524            links this group has with other groups.
6525          - merging two groups also merges the chains.
6526          - also show group links in the _show method.
6527            
6528
6529 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6530
6531         * gst/gstcaps.c: (gst_caps_structure_simplify):
6532           don't print error messages when there is no error
6533         * gst/gstvalue.c: (gst_value_compare_int_range):
6534           compare the second value, too
6535         * testsuite/caps/Makefile.am:
6536         * testsuite/caps/random.c: (assert_on_error), (main):
6537           add tests to make sure the two things above are checked for
6538
6539 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6540
6541         * configure.ac:
6542         * libs/gst/dataprotocol/Makefile.am:
6543         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
6544         * libs/gst/dataprotocol/dataprotocol.h:
6545           wrap header in GST_ENABLE_NEW.  make code use it
6546
6547 2004-05-23  Johan Dahlin  <johan@gnome.org>
6548
6549         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
6550         so verbose and print GstElement signal names all the time.
6551
6552 2004-05-22  David Schleef  <ds@schleef.org>
6553
6554         * gst/registries/gstxmlregistry.c:
6555         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
6556         (bug #142957)
6557
6558 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6559
6560         * configure.ac:
6561           scrub cflags for glib2 so gcc doesn't complain when glib is in
6562           /usr/local
6563
6564 2004-05-21  Johan Dahlin  <johan@gnome.org>
6565
6566         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
6567         __GNUC__, patch from Brian Cameron, fixes bug #142804
6568
6569 2004-05-20  David Schleef  <ds@schleef.org>
6570
6571         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
6572         comparison code.  (bug #142819)
6573
6574 2004-05-20  Wim Taymans  <wim@fluendo.com>
6575
6576         * gst/gstbuffer.c: (gst_buffer_default_copy):
6577         * gst/gstbuffer.h:
6578         Added Comment to a flag.
6579         copy relevant flags in _buffer_copy.
6580
6581 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6582
6583         reviewed by: Wim Taymans <wim at fluendo dot com>
6584
6585         * gst/gstbuffer.h:
6586           add GST_BUFFER_IN_CAPS buffer flag
6587         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6588         (gst_structure_parse_any_list), (gst_structure_parse_list),
6589         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
6590         * gst/gstvalue.c: (gst_value_serialize_any_list),
6591         (gst_value_transform_any_list_string),
6592         (gst_value_list_prepend_value), (gst_value_list_append_value),
6593         (gst_value_list_get_size), (gst_value_list_get_value),
6594         (gst_value_transform_list_string),
6595         (gst_value_transform_fixed_list_string),
6596         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
6597         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
6598         (_gst_value_initialize):
6599         * gst/gstvalue.h:
6600           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
6601           < , > as a format.
6602         * testsuite/caps/string-conversions.c: (main):
6603           add regression tests for < >
6604
6605 2004-05-20  Johan Dahlin  <johan@gnome.org>
6606
6607         * docs/gst/Makefile.am (all-local): Re-add
6608
6609 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6610
6611         * docs/gst/Makefile.am:
6612         * docs/gst/gstreamer-docs.sgml:
6613         * docs/libs/Makefile.am:
6614         * docs/libs/gstreamer-libs-docs.sgml:
6615           fix distcheck issues
6616
6617 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6618
6619         * libs/gst/dataprotocol/Makefile.am:
6620           add to autotest
6621
6622 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6623
6624         * libs/gst/dataprotocol/Makefile.am:
6625         * libs/gst/dataprotocol/dataprotocol.c:
6626         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6627         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
6628         * libs/gst/dataprotocol/dp-private.h:
6629           use GST macros to read/write fixed length ints
6630           add some more asserts
6631
6632 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6633
6634         * docs/libs/gstreamer-libs-docs.sgml:
6635         * docs/libs/gstreamer-libs-sections.txt:
6636           remove idct and putbits
6637         * configure.ac:
6638         * docs/libs/tmpl/gstdataprotocol.sgml:
6639         * libs/gst/Makefile.am:
6640         * libs/gst/dataprotocol/Makefile.am:
6641         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
6642         (buffer_test), (caps_test), (event_test), (main):
6643         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6644         (gst_dp_dump_byte_array), (gst_dp_init),
6645         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
6646         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6647         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
6648         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
6649         (gst_dp_validate_header), (gst_dp_validate_payload),
6650         (gst_dp_validate_packet), (plugin_init):
6651         * libs/gst/dataprotocol/dataprotocol.h:
6652         * libs/gst/dataprotocol/dp-private.h:
6653           add dataprotocol
6654
6655 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6656
6657         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6658           fix int variable deserialization and add a helper so we can actually
6659           debug this.
6660
6661 2004-05-18  David Schleef  <ds@schleef.org>
6662
6663         * testsuite/debug/commandline.c: (main): Call ./commandline, not
6664           argv[0].  Calling yourself is probably not the best way to
6665           construct a test like this, btw.
6666
6667 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6668
6669         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
6670           don't claim to be more intelligent than a scheduler when the
6671           scheduler claims the pipeline is stopped
6672         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
6673         (safe_cothread_destroy),
6674         (gst_entry_scheduler_remove_all_cothreads),
6675         (gst_entry_scheduler_reset), (_remove_cothread),
6676         (gst_entry_scheduler_state_transition):
6677           hold off cothread destruction if we're not in main cothread
6678         * configure.ac:
6679         * testsuite/Makefile.am:
6680           add new test dir
6681         * testsuite/schedulers/.cvsignore:
6682         * testsuite/schedulers/Makefile.am:
6683           add tests
6684         * testsuite/schedulers/relink.c: (cb_handoff), (main):
6685           check relinking and adding/removing elements from a running pipeline
6686         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
6687           check unlinking in a running pipeline
6688         * testsuite/schedulers/unref.c: (cb_handoff), (main):
6689           check unreffing a running pipeline
6690         * testsuite/schedulers/useless_iteration.c: (main):
6691           check iterating a pipeline that contains running threads works
6692
6693 2004-05-18  David Schleef  <ds@schleef.org>
6694
6695         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
6696           is false.
6697
6698 2004-05-18  Wim Taymans  <wim@fluendo.com>
6699
6700         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6701         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
6702         Fixed an error introduced with patch for 1.63. When setting
6703         a get based element as the entry point in a group, make sure
6704         to mark the group as GET based.
6705
6706 2004-05-18  Wim Taymans  <wim@fluendo.com>
6707
6708         * gst/schedulers/gstoptimalscheduler.c: (create_group),
6709         (setup_group_scheduler), (loop_group_schedule_function),
6710         (gst_opt_scheduler_pad_link):
6711         Added some more debug info and fixed a bug where the group
6712         type was set to LOOP but it was in fact unknown.
6713
6714 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6715
6716         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
6717           make resetting scheduler work twice in a row
6718
6719 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6720
6721         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
6722         (CREATE_USERIALIZATION), (_gst_value_initialize),
6723         (gst_value_compare_float), (gst_value_serialize_float),
6724         (gst_value_deserialize_float), (gst_value_compare_enum),
6725         (gst_value_serialize_enum), (gst_value_deserialize_enum):
6726           add serialization and comparison functions for long, int64, enum and
6727           float values
6728         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
6729           use best serialization function in type hierarchy instead of only a
6730           matching one. This is required for enums to work.
6731         * gst/parse/grammar.y:
6732           use gst_caps_deserialize
6733         * testsuite/parse/Makefile.am:
6734           parse1 now works
6735         * testsuite/parse/parse1.c: (main):
6736           remove aggregator check, aggregator is broken, this test works now
6737           but fails because of bug #138012
6738         * testsuite/parse/parse2.c: (main):
6739           s/xvideosink/xvimagesink - this test looks a lot like we should
6740           disable it
6741
6742 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6743
6744         * gst/gstelement.c: (gst_element_class_init):
6745           whoops, store the signal id correctly
6746         * gst/schedulers/gstbasicscheduler.c:
6747         (gst_basic_scheduler_chain_wrapper):
6748           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
6749           chain function isn't linked
6750
6751 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
6752         * configure.ac:
6753         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
6754         support until we decide where the flags should be used
6755         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
6756         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
6757         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6758         Output refused caps in the debug info
6759
6760 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6761
6762         * gst/elements/gstidentity.c: (gst_identity_chain):
6763           add duration debug
6764         * gst/gstinfo.c: (gst_debug_log_default):
6765           add timestamp
6766
6767 2004-05-13  Benjamin Otte  <otte@gnome.org>
6768
6769         * gst/gstpipeline.c: (gst_pipeline_dispose),
6770         (gst_pipeline_change_state):
6771           call gst_scheduler_reset on dispose (fixes #141416)
6772
6773 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6774
6775         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6776           compute mapsize correctly
6777         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6778           use correct datatypes when calling a varargs function
6779         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6780           push a DISCONT event as first thing
6781         * gst/gst_private.h:
6782         * gst/gstinfo.c: (_gst_debug_init):
6783           remove GST_DATAFLOW debugging category
6784         * gst/gstbin.c: (gst_bin_iterate):
6785           use GST_SCHEDULING category
6786         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
6787         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
6788         (gst_pad_call_get_function):
6789           add GST_DATAFLOW to easily track flow of buffers or events.
6790         * gst/gstqueue.c: (gst_queue_get_type),
6791         (gst_queue_handle_pending_events), (gst_queue_chain),
6792         (gst_queue_get), (gst_queue_handle_src_event):
6793           use own static debugging category GST_DATAFLOW for dataflow,
6794           use DEBUG category for showing which path events go, use LOG
6795           category for buffers.
6796
6797 2004-05-10  David Schleef  <ds@schleef.org>
6798
6799         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
6800
6801 2004-05-10  David Schleef  <ds@schleef.org>
6802
6803         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
6804         symbols, because otherwise we don't know what they are.  Thanks,
6805         the GStreamer team.
6806         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
6807
6808 2004-05-10  David Schleef  <ds@schleef.org>
6809
6810         (from Steve Lhomme)
6811         * win32/Makefile: When using make clean the MS Visual Studio makefiles
6812         are deleted.  Fix.
6813         * win32/Makefile.inspect:
6814         * win32/Makefile.launch:
6815         * win32/Makefile.register:
6816
6817 2004-05-10  David Schleef  <ds@schleef.org>
6818
6819         * gst/gstinfo.h: Add missing inline function.
6820         * gst/gsttrace.c: add include
6821         * gst/parse/grammar.y: remove unused code
6822         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
6823         more portable.
6824         * tools/gst-register.c: wrap unistd.h
6825         
6826         More additions/fixes from Steve for the MSVC build.
6827         * win32/GStreamer.vcproj:
6828         * win32/Makefile:
6829         * win32/Makefile.inspect:
6830         * win32/Makefile.launch:
6831         * win32/Makefile.register:
6832         * win32/README.txt:
6833         * win32/gst-inspect.vcproj:
6834         * win32/gst-launch.vcproj:
6835         * win32/gst-register.vcproj:
6836         * win32/gstbytestream.def:
6837         * win32/gstbytestream.vcproj:
6838         * win32/gstconfig.h:
6839         * win32/gstelements.def:
6840         * win32/gstelements.vcproj:
6841         * win32/gstenumtypes.c:
6842         * win32/gstenumtypes.h:
6843         * win32/gstoptimalscheduler.def:
6844         * win32/gstoptimalscheduler.vcproj:
6845         * win32/gstreamer.def:
6846         * win32/gstspider.def:
6847         * win32/gstspider.vcproj:
6848         * win32/gstversion.h:
6849         * win32/msvc71.sln:
6850
6851 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6852
6853         * gst/gstelement.c: (gst_element_class_init),
6854         (gst_element_no_more_pads):
6855         * gst/gstelement.h:
6856           add gst_element_no_more_pads and the "no-more-pads" signal
6857
6858 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6859
6860         * gst/gstregistry.c: (gst_registry_add_plugin):
6861           refuse to add plugins when a plugin with same name is already
6862           registered. Fixes a bunch of "How to remove plugins?" issues.
6863           May lead to other problems though, let's test
6864
6865 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6866
6867         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
6868         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
6869         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
6870
6871 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6872
6873         * tests/Makefile.am: fix am16 issue
6874
6875 2004-05-09  Benjamin Otte  <otte@gnome.org>
6876
6877         * libs/gst/bytestream/Makefile.am:
6878           we should indeed add .c files to makefiles or they won't be built
6879           (d'oh)
6880
6881 2004-05-08  Benjamin Otte  <otte@gnome.org>
6882
6883         * gst/gstpad.c: (gst_pad_proxy_fixate):
6884           really reduce the set of caps
6885
6886 2004-05-08  Benjamin Otte  <otte@gnome.org>
6887
6888         * tests/Makefile.am:
6889         * tests/spidey_bench.c: (handoff), (main):
6890           add benchmark to test how long spider needs to create a pipeline
6891
6892 2004-05-08  Benjamin Otte  <otte@gnome.org>
6893
6894         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
6895           mark links as unengaged when unnegotiating instead of deactivating.
6896           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
6897
6898 2004-05-08  Benjamin Otte  <otte@gnome.org>
6899
6900         * docs/manual/helloworld.xml:
6901           s/audiosink/osssink (patch by Patrick Guimond)
6902
6903 2004-05-07  David Schleef  <ds@schleef.org>
6904
6905         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
6906         since it contains important stuff.
6907
6908 2004-05-07  David Schleef  <ds@schleef.org>
6909
6910         * testsuite/caps/caps.c: (test3), (main): A check for appending
6911         ANY caps.
6912
6913 2004-05-07  David Schleef  <ds@schleef.org>
6914
6915         * common/m4/as-compiler-flag.m4: Properly quote arguments,
6916         which may contain commas.  Fixes detection of -Wa,-mregnames
6917
6918 2004-05-06  David Schleef  <ds@schleef.org>
6919
6920         Changes to handle compilers that don't have variadic macro
6921         support.  In particular, glib headers define some inlines
6922         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
6923         builds.
6924         * gst/Makefile.am:
6925         * gst/cothreads.c:
6926         * gst/elements/gstfdsink.c:
6927         * gst/elements/gstfdsrc.c:
6928         * gst/elements/gstfilesink.c:
6929         * gst/elements/gstfilesrc.c:
6930         * gst/gst_private.h:
6931         * gst/gstatomic.c:
6932         * gst/gstcaps.c: (gst_caps_append):
6933         * gst/gstcpu.c: (gst_cpuid_i386):
6934         * gst/gstelement.c:
6935         * gst/gsterror.c:
6936         * gst/gstfilter.c:
6937         * gst/gstinfo.h:
6938         * gst/gstprobe.c:
6939         * gst/gstquery.c:
6940         * gst/gstregistry.c:
6941         * gst/gststructure.c:
6942         * gst/gsttaginterface.c:
6943         * gst/gsttrace.c: (gst_trace_new):
6944         * gst/gsttrashstack.c:
6945         * gst/gsturi.c:
6946         * gst/gstvalue.c:
6947         * gst/parse/grammar.y:
6948         * gst/parse/parse.l:
6949         * tools/gst-inspect.c: (main):
6950         * tools/gst-launch.c: (main):
6951         * tools/gst-xmlinspect.c: (PUT_STRING):
6952
6953 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6954
6955         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
6956         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
6957         * gst/elements/gstfilesrc.h:
6958           send NEW_MEDIA events correctly
6959         * gst/elements/gsttypefindelement.c: (start_typefinding),
6960         (gst_type_find_element_handle_event):
6961           restart typefinding when we get a NEW_MEDIA event
6962         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
6963         (gst_bin_dispose):
6964           don't die when someone removes elements in callbacks
6965         * gst/gstelement.c: (gst_element_change_state):
6966           improve debugging
6967         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
6968           we need a NEW_MEDIA event to engage a link
6969         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
6970           don't g_print debugging stuff
6971         * testsuite/caps/simplify.c: (check_caps):
6972
6973 2004-05-04  Benjamin Otte  <otte@gnome.org>
6974
6975         * gst/parse/grammar.y:
6976           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
6977
6978 2004-05-04  Benjamin Otte  <otte@gnome.org>
6979
6980         * testsuite/caps/renegotiate.c: (main):
6981           improve output in error case
6982
6983 2004-05-04  Benjamin Otte  <otte@gnome.org>
6984
6985         * gst/parse/grammar.y:
6986           fix assert to not trigger when there's no error argument
6987         * gst/parse/parse.l:
6988           fix definition of caps to allow more than two structures
6989         * testsuite/caps/Makefile.am:
6990         * testsuite/caps/renegotiate.c: (main):
6991           it's sinesrc and works in that case
6992
6993 2004-05-04  Wim Taymans  <wim@fluendo.com>
6994
6995         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6996         (group_dec_link), (gst_opt_scheduler_pad_unlink):
6997         when removing an element from a group, we always need to
6998         decrement the link count that this group had with other 
6999         groups through the element.
7000         added an extra assert to catch inconsistencies when decrementing
7001         the link count.
7002
7003 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7004
7005         * configure.ac:
7006         * docs/gst/Makefile.am:
7007         * docs/gst/gstreamer-sections.txt:
7008         * docs/gst/tmpl/gstcompat.sgml:
7009         * examples/appreader/Makefile.am:
7010         * examples/cutter/Makefile.am:
7011         * examples/events/Makefile.am:
7012         * examples/helloworld/Makefile.am:
7013         * examples/helloworld2/Makefile.am:
7014         * examples/launch/Makefile.am:
7015         * examples/manual/Makefile.am:
7016         * examples/mixer/Makefile.am:
7017         * examples/pingpong/Makefile.am:
7018         * examples/plugins/Makefile.am:
7019         * examples/queue/Makefile.am:
7020         * examples/queue2/Makefile.am:
7021         * examples/queue3/Makefile.am:
7022         * examples/queue4/Makefile.am:
7023         * examples/retag/Makefile.am:
7024         * examples/thread/Makefile.am:
7025         * examples/typefind/Makefile.am:
7026         * examples/xml/Makefile.am:
7027         * gst/Makefile.am:
7028         * gst/autoplug/Makefile.am:
7029         * gst/elements/Makefile.am:
7030         * gst/gstcompat.h:
7031         * gst/indexers/Makefile.am:
7032         * gst/parse/Makefile.am:
7033         * gst/registries/Makefile.am:
7034         * gst/schedulers/Makefile.am:
7035         * libs/gst/bytestream/Makefile.am:
7036         * libs/gst/control/Makefile.am:
7037         * libs/gst/getbits/Makefile.am:
7038         * po/af.po:
7039         * po/az.po:
7040         * po/en_GB.po:
7041         * po/fr.po:
7042         * po/nl.po:
7043         * po/sr.po:
7044         * po/sv.po:
7045         * po/tr.po:
7046         * po/uk.po:
7047         * tests/Makefile.am:
7048         * tests/bufspeed/Makefile.am:
7049         * tests/instantiate/Makefile.am:
7050         * tests/memchunk/Makefile.am:
7051         * tests/muxing/Makefile.am:
7052         * tests/negotiation/Makefile.am:
7053         * tests/probes/Makefile.am:
7054         * tests/sched/Makefile.am:
7055         * tests/seeking/Makefile.am:
7056         * tests/threadstate/Makefile.am:
7057         * testsuite/caps/Makefile.am:
7058         * testsuite/cleanup/Makefile.am:
7059         * testsuite/dlopen/Makefile.am:
7060         * testsuite/dynparams/Makefile.am:
7061         * testsuite/plugin/Makefile.am:
7062         * testsuite/states/Makefile.am:
7063         * tools/Makefile.am:
7064           reorganize compile/link flags to be consistent
7065           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
7066
7067 2004-05-04  David Schleef  <ds@schleef.org>
7068
7069         The "once more, with feeling" check-in.
7070         * testsuite/caps/Makefile.am: dist caps_strings
7071         * testsuite/caps/renegotiate.c: (main): This test triggers a
7072           segfault in the core.  Marking as failing.
7073
7074 2004-05-03  David Schleef  <ds@schleef.org>
7075
7076         * testsuite/caps/deserialize.c: (main): Fix problems noticed
7077           by the build bots.
7078         * testsuite/caps/renegotiate.c: (main): Same.
7079
7080 2004-05-03  David Schleef  <ds@schleef.org>
7081
7082         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
7083
7084 2004-05-03  David Schleef  <ds@schleef.org>
7085
7086         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
7087           variable to find our source file.
7088
7089 2004-05-03  David Schleef  <ds@schleef.org>
7090
7091         * configure.ac:  Link plugins with libgstreamer and dependent
7092           libraries
7093         * testsuite/caps/Makefile.am:
7094         * testsuite/caps/caps_strings:
7095         * testsuite/caps/deserialize.c: (main): Add a little test to slog
7096           through a file of caps strings and test each one
7097
7098 2004-05-04  Benjamin Otte  <otte@gnome.org>
7099
7100         * libs/gst/bytestream/Makefile.am:
7101         * libs/gst/bytestream/adapter.c: 
7102         * libs/gst/bytestream/adapter.h:
7103           add GstAdapter, similar to bytestream, but doesn't require ugly event
7104           handling or uglier loopbased elements
7105
7106 2004-05-03  David Schleef  <ds@schleef.org>
7107
7108         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
7109         * testsuite/caps/erathostenes.c:
7110         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
7111
7112 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7113
7114         * docs/pwg/pwg.xml:
7115           remove hardcoded stylesheet path (duh)
7116         * docs/random/release:
7117         * docs/gst/gstreamer-sections.txt:
7118         * gst/Makefile.am:
7119         * gst/gst.h:
7120         * gst/gst_private.h:
7121         * gst/gstcaps.c:
7122         * gst/gstevent.c:
7123         * gst/gstformat.c:
7124         * gst/gstinfo.c:
7125         * gst/gstinfo.h:
7126         * gst/gstinterface.c:
7127         * gst/gstmemchunk.c:
7128         * gst/gstprobe.c:
7129         * gst/gstquery.c:
7130         * gst/gstregistry.c:
7131         * gst/gstregistrypool.c:
7132         * gst/gststructure.c:
7133         * gst/gsttaginterface.c:
7134         * gst/gstthread.c:
7135         * gst/gsttrace.c:
7136         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
7137         * gst/gsturi.c:
7138         * gst/gstvalue.c:
7139           deprecate gst_info; remove gstlog.h
7140    
7141
7142 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7143
7144         * Makefile.am:
7145         * po/en_GB.po:
7146         * po/sv.po:
7147         * po/uk.po:
7148           updated translations
7149
7150 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7151
7152         * gst/gstbin.c: (gst_bin_dispose):
7153           better debugging
7154
7155 2004-05-03  Johan Dahlin  <johan@gnome.org>
7156
7157         * gst/schedulers/gstoptimalscheduler.c
7158         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
7159         really is a GstElement. Avoids critical when running gst-launch -v
7160         and a oggdemux/decoding pipeline.
7161
7162 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7163
7164         * docs/gst/tmpl/gstpipeline.sgml :
7165         * docs/manual/elements-api.xml :
7166                 doc fix by Patrick Guimond (Protector) from devel ML
7167                 reviewed by ronald
7168
7169 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7170
7171         * docs/gst/Makefile.am :
7172         * docs/libs/Makefile.am :
7173                 apply a patch from Arwed v. Merkatz so that gtk-doc
7174                 generated docs install (same for .devhelp file)
7175                 (fixes part 1 of #138836)
7176
7177 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7178
7179         * docs/faq/dependencies.xml: typo
7180         * docs/faq/getting.xml :
7181             - fix download URL for new gstreamer site
7182             - hide sf.net download page as latest version aren't there
7183             - fix apt URLs
7184             - fill "get via CVS" paragraph (link to dev page on the site)
7185         * docs/faq/general.xml:
7186             hide status tables as they no more exists
7187             change case on plugins license file to reflect reality
7188         * docs/faq/troubleshooting.xml:
7189             remove the wiki question/answer as there is no more wiki
7190
7191 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7192
7193         * gst/gsterror.h:
7194           include the headers needed for declarations used in this header
7195
7196 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7197
7198         * docs/random/uraeus/gstreamer_and_midi.txt :
7199           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
7200           (fixes #132288)
7201
7202 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
7203
7204         reviewed by Benjamin Otte  <otte@gnome.org>
7205
7206         * gst/schedulers/gthread-cothreads.h:
7207           free allocated data for main cothread, too when destroying context
7208           (fixes #141417)
7209
7210 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7211
7212         * docs/manual/goals.xml : remove duplicated paragraph at end 
7213         of doc page (fixes #141448)
7214
7215 2004-04-29  David Schleef  <ds@schleef.org>
7216
7217         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7218         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
7219
7220 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7221
7222         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7223           fix property
7224         * gst/gstcaps.c:
7225           fix doc string
7226         * po/POTFILES.in:
7227           rename typefind source file
7228
7229 2004-04-28  David Schleef  <ds@schleef.org>
7230
7231         Several new files from Steve Lhomme's MSVC patch (bug #141317):
7232         * win32/GStreamer.vcproj:
7233         * win32/Makefile:
7234         * win32/config.h:
7235         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7236         (_trewinddir), (_ttelldir), (_tseekdir):
7237         * win32/dirent.h:
7238         * win32/gst-inspect.vcproj:
7239         * win32/gst-launch.vcproj:
7240         * win32/gst-register.vcproj:
7241         * win32/gstbytestream.vcproj:
7242         * win32/gstelements.vcproj:
7243         * win32/gstoptimalscheduler.vcproj:
7244         * win32/gstspider.vcproj:
7245         * win32/gtchar.h:
7246         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
7247         * win32/mman.h:
7248         * win32/mman.inl:
7249         * win32/msvc71.sln:
7250
7251 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7252
7253         * gst/gst.c: (init_post):
7254         * gst/gstinfo.c:
7255           remove useless _gst_progname stuff
7256         * tools/gst-inspect.c: (print_field), (print_caps):
7257           improve caps output
7258
7259 2004-04-28  David Schleef  <ds@schleef.org>
7260
7261         Disable parsing of a lot of files that aren't part of the
7262         exported API.  Move corresponding template files to old/,
7263         waiting for removal when they don't contain anything
7264         interesting.
7265         * docs/gst/Makefile.am:
7266         * docs/gst/gstreamer-sections.txt:
7267         * docs/gst/tmpl/cothreads.sgml:
7268         * docs/gst/tmpl/cothreads_compat.sgml:
7269         * docs/gst/tmpl/gettext.sgml:
7270         * docs/gst/tmpl/gobject2gtk.sgml:
7271         * docs/gst/tmpl/grammar.tab.sgml:
7272         * docs/gst/tmpl/gst-i18n-app.sgml:
7273         * docs/gst/tmpl/gst-i18n-lib.sgml:
7274         * docs/gst/tmpl/gst_private.sgml:
7275         * docs/gst/tmpl/gstaggregator.sgml:
7276         * docs/gst/tmpl/gstarch.sgml:
7277         * docs/gst/tmpl/gstatomic_impl.sgml:
7278         * docs/gst/tmpl/gstbufferstore.sgml:
7279         * docs/gst/tmpl/gstdata_private.sgml:
7280         * docs/gst/tmpl/gstdisksink.sgml:
7281         * docs/gst/tmpl/gstdisksrc.sgml:
7282         * docs/gst/tmpl/gstelementfactory.sgml:
7283         * docs/gst/tmpl/gstextratypes.sgml:
7284         * docs/gst/tmpl/gstfakesink.sgml:
7285         * docs/gst/tmpl/gstfakesrc.sgml:
7286         * docs/gst/tmpl/gstfdsink.sgml:
7287         * docs/gst/tmpl/gstfdsrc.sgml:
7288         * docs/gst/tmpl/gstfilesink.sgml:
7289         * docs/gst/tmpl/gstfilesrc.sgml:
7290         * docs/gst/tmpl/gsthttpsrc.sgml:
7291         * docs/gst/tmpl/gstidentity.sgml:
7292         * docs/gst/tmpl/gstindexfactory.sgml:
7293         * docs/gst/tmpl/gstmarshal.sgml:
7294         * docs/gst/tmpl/gstmd5sink.sgml:
7295         * docs/gst/tmpl/gstmultidisksrc.sgml:
7296         * docs/gst/tmpl/gstmultifilesrc.sgml:
7297         * docs/gst/tmpl/gstpadtemplate.sgml:
7298         * docs/gst/tmpl/gstpipefilter.sgml:
7299         * docs/gst/tmpl/gstschedulerfactory.sgml:
7300         * docs/gst/tmpl/gstsearchfuncs.sgml:
7301         * docs/gst/tmpl/gstshaper.sgml:
7302         * docs/gst/tmpl/gstspider.sgml:
7303         * docs/gst/tmpl/gstspideridentity.sgml:
7304         * docs/gst/tmpl/gststatistics.sgml:
7305         * docs/gst/tmpl/gsttee.sgml:
7306         * docs/gst/tmpl/gsttimecache.sgml:
7307         * docs/gst/tmpl/gsttypefind.sgml:
7308         * docs/gst/tmpl/gsttypefindfactory.sgml:
7309         * docs/gst/tmpl/gstxmlregistry.sgml:
7310         * docs/gst/tmpl/gthread-cothreads.sgml:
7311         * docs/gst/tmpl/old/cothreads.sgml:
7312         * docs/gst/tmpl/old/cothreads_compat.sgml:
7313         * docs/gst/tmpl/old/gettext.sgml:
7314         * docs/gst/tmpl/old/gobject2gtk.sgml:
7315         * docs/gst/tmpl/old/grammar.tab.sgml:
7316         * docs/gst/tmpl/old/gst-i18n-app.sgml:
7317         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7318         * docs/gst/tmpl/old/gst_private.sgml:
7319         * docs/gst/tmpl/old/gstaggregator.sgml:
7320         * docs/gst/tmpl/old/gstarch.sgml:
7321         * docs/gst/tmpl/old/gstatomic_impl.sgml:
7322         * docs/gst/tmpl/old/gstbufferstore.sgml:
7323         * docs/gst/tmpl/old/gstdata_private.sgml:
7324         * docs/gst/tmpl/old/gstdisksink.sgml:
7325         * docs/gst/tmpl/old/gstdisksrc.sgml:
7326         * docs/gst/tmpl/old/gstelementfactory.sgml:
7327         * docs/gst/tmpl/old/gstextratypes.sgml:
7328         * docs/gst/tmpl/old/gstfakesink.sgml:
7329         * docs/gst/tmpl/old/gstfakesrc.sgml:
7330         * docs/gst/tmpl/old/gstfdsink.sgml:
7331         * docs/gst/tmpl/old/gstfdsrc.sgml:
7332         * docs/gst/tmpl/old/gstfilesink.sgml:
7333         * docs/gst/tmpl/old/gstfilesrc.sgml:
7334         * docs/gst/tmpl/old/gsthttpsrc.sgml:
7335         * docs/gst/tmpl/old/gstidentity.sgml:
7336         * docs/gst/tmpl/old/gstindexfactory.sgml:
7337         * docs/gst/tmpl/old/gstmarshal.sgml:
7338         * docs/gst/tmpl/old/gstmd5sink.sgml:
7339         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7340         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7341         * docs/gst/tmpl/old/gstpadtemplate.sgml:
7342         * docs/gst/tmpl/old/gstpipefilter.sgml:
7343         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7344         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7345         * docs/gst/tmpl/old/gstshaper.sgml:
7346         * docs/gst/tmpl/old/gstspider.sgml:
7347         * docs/gst/tmpl/old/gstspideridentity.sgml:
7348         * docs/gst/tmpl/old/gststatistics.sgml:
7349         * docs/gst/tmpl/old/gsttee.sgml:
7350         * docs/gst/tmpl/old/gsttimecache.sgml:
7351         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7352         * docs/gst/tmpl/old/gstxmlregistry.sgml:
7353         * docs/gst/tmpl/old/gthread-cothreads.sgml:
7354         * docs/gst/tmpl/old/types.sgml:
7355         * docs/gst/tmpl/types.sgml:
7356
7357         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
7358         gtkdoc-scan doesn't like files with the same name in different
7359         directories.
7360         * gst/elements/Makefile.am:
7361         * gst/elements/gstelements.c:
7362         * gst/elements/gsttypefind.c: 
7363         * gst/elements/gsttypefind.h:
7364         * gst/elements/gsttypefindelement.c:
7365         * gst/elements/gsttypefindelement.h:
7366
7367 2004-04-28  David Schleef  <ds@schleef.org>
7368
7369         A bunch of portability fixes, derived from Steve Lhomme's MSVC
7370         patch (bug #141317):
7371         * gst/gst-i18n-lib.h: Allow disabling gettext.
7372         * gst/gstatomic_impl.h: disable warning when it's dumb.
7373         * gst/gstclock.c: fix include
7374         * gst/gstcompat.h: fix variadic macro
7375         * gst/gstinfo.c: fix include
7376         * gst/gstmacros.h: add defines for inlines on MSVC
7377         * gst/gstplugin.c: fix includes
7378         * gst/gstregistry.c: fix includes
7379         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
7380         * gst/gstsystemclock.c: fix include
7381         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
7382         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
7383         * gst/registries/gstxmlregistry.c:
7384         (gst_xml_registry_parse_element_factory): fix use of non-portable
7385         functions
7386         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
7387         * libs/gst/control/dparammanager.h: same
7388
7389 2004-04-28  David Schleef  <ds@schleef.org>
7390
7391         Move a bunch of unused files to old/ with names that are
7392         not case-insensitive-unique.  These files still contain some
7393         useful information that needs to be merged into gstbin.sgml,
7394         etc., so they shouldn't be deleted yet.
7395         * docs/gst/tmpl/GstBin.sgml:
7396         * docs/gst/tmpl/GstBuffer.sgml:
7397         * docs/gst/tmpl/GstCaps.sgml:
7398         * docs/gst/tmpl/GstClock.sgml:
7399         * docs/gst/tmpl/GstCompat.sgml:
7400         * docs/gst/tmpl/GstData.sgml:
7401         * docs/gst/tmpl/GstElement.sgml:
7402         * docs/gst/tmpl/GstEvent.sgml:
7403         * docs/gst/tmpl/GstIndex.sgml:
7404         * docs/gst/tmpl/GstStructure.sgml:
7405         * docs/gst/tmpl/GstTag.sgml:
7406         * docs/gst/tmpl/old/GstBin.sgml:
7407         * docs/gst/tmpl/old/GstBuffer.sgml:
7408         * docs/gst/tmpl/old/GstCaps.sgml:
7409         * docs/gst/tmpl/old/GstClock.sgml:
7410         * docs/gst/tmpl/old/GstCompat.sgml:
7411         * docs/gst/tmpl/old/GstData.sgml:
7412         * docs/gst/tmpl/old/GstElement.sgml:
7413         * docs/gst/tmpl/old/GstEvent.sgml:
7414         * docs/gst/tmpl/old/GstIndex.sgml:
7415         * docs/gst/tmpl/old/GstStructure.sgml:
7416         * docs/gst/tmpl/old/GstTag.sgml:
7417
7418 2004-04-28  David Schleef  <ds@schleef.org>
7419
7420         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7421         (gst_caps_append), (gst_caps_append_structure),
7422         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
7423         (gst_caps_set_simple), (gst_caps_set_simple_valist),
7424         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
7425         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
7426         (gst_caps_intersect), (gst_caps_normalize),
7427         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
7428         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
7429         * gst/gstcaps.h: use GST_IS_CAPS().
7430
7431 2004-04-26  David Schleef  <ds@schleef.org>
7432
7433         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
7434         assembly.  gcc doesn't handle it correctly. (bug #141083)
7435         * gst/gsttrashstack.h: same
7436
7437 2004-04-25  Benjamin Otte  <otte@gnome.org>
7438
7439         * gst/gstelement.c: (gst_element_change_state):
7440           fix assertion to do an int comparison
7441
7442 2004-04-25  Benjamin Otte  <otte@gnome.org>
7443
7444         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7445           better debugging output on error
7446
7447 2004-04-25  Benjamin Otte  <otte@gnome.org>
7448
7449         * gst/gstcaps.c: (gst_caps_subtract):
7450           fix memleak
7451
7452 2004-04-23  Benjamin Otte  <otte@gnome.org>
7453
7454         * gst/gstvalue.c: (gst_value_compare_buffer),
7455         (_gst_value_initialize):
7456           add comparison function for buffers
7457
7458 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7459
7460         * docs/pwg/pwg.xml:
7461           Just found out that this so-called "ima-wav" format is really
7462           just "dvi adpcm" (according to the MS WAV documentation). So
7463           renaming it. We didn't use it yet anyway.
7464
7465 2004-04-23  Benjamin Otte  <otte@gnome.org>
7466
7467         * gst/gstcaps.c: (gst_caps_is_always_compatible):
7468           call gst_caps_is_subset
7469
7470 2004-04-23  Benjamin Otte  <otte@gnome.org>
7471
7472         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
7473         (gst_caps_is_subset):
7474           add documentation
7475
7476 2004-04-23  Benjamin Otte  <otte@gnome.org>
7477           
7478         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
7479         (gst_caps_structure_subtract), (gst_caps_subtract),
7480         (gst_caps_structure_figure_out_union),
7481         (gst_caps_structure_simplify), (gst_caps_do_simplify):
7482           fix simplifying and subtracting not working correctly with optional
7483           properties
7484           solve assorted problems that make it now simplify ebven more
7485         * docs/gst/tmpl/gstcaps.sgml:
7486         * gst/gstcaps.h:
7487           make gst_caps_do_simplify return a bool to indicate if it simplified
7488         * testsuite/caps/simplify.c: (main):
7489           add more checks. The tests is quite a bit useless right now because
7490           the core is heavily simplifying itself.
7491         * testsuite/caps/caps.h:
7492           fix caps to contain all optional properties
7493
7494 2004-04-22  Benjamin Otte  <otte@gnome.org>
7495
7496         * docs/gst/tmpl/gstcaps.sgml:
7497         * docs/gst/tmpl/gstfilesrc.sgml:
7498         * docs/gst/tmpl/gststructure.sgml:
7499         * docs/gst/tmpl/gstvalue.sgml:
7500           update for recent API changes
7501         * gst/gstcaps.c: (gst_caps_do_simplify):
7502           fix to stop trying with a freed structure
7503         * gst/gstpad.c: (gst_pad_link_fixate):
7504           simplify caps
7505         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
7506           remove C++ comment
7507         * gst/gstpad.h:
7508           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
7509         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7510         (gst_structure_to_string):
7511           keep the correct type when using lists of ranges
7512         * gst/gstvalue.c: (gst_value_list_prepend_value),
7513         (gst_value_list_append_value):
7514           copy the value before adding to the list (d'oh)
7515         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
7516         (gst_value_subtract_int_range_int_range):
7517           handle overflows correctly
7518         * gst/gstvalue.c: (gst_value_subtract_from_list):
7519           fix memleak
7520         * testsuite/caps/caps.h:
7521           add a caps that caused segfaults
7522
7523 2004-04-22  Benjamin Otte  <otte@gnome.org>
7524
7525         * testsuite/refcounting/pad.c: (main):
7526           fix test
7527
7528 2004-04-22  Benjamin Otte  <otte@gnome.org>
7529
7530         * gst/gstcaps.c: (gst_caps_subtract):
7531           allow subtracting ANY and EMPTY from ANY caps
7532
7533 2004-04-22  Benjamin Otte  <otte@gnome.org>
7534
7535         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
7536         (gst_caps_union):
7537           only simplify in functions that create new caps. Simplifying in
7538           gst_caps_append breaks tests.
7539
7540 2004-04-22  Benjamin Otte  <otte@gnome.org>
7541
7542         * gst/gstcaps.c: (gst_caps_structure_simplify):
7543           unset GValue after use
7544         * gst/gstcaps.c: (gst_caps_append), 
7545         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
7546           use gst_caps_simplify (reduces registry size by 30%)
7547         * gst/gstpad.c: (gst_pad_template_new):
7548           don't allow NULL caps
7549
7550 2004-04-22  Benjamin Otte  <otte@gnome.org>
7551
7552         * docs/gst/gstreamer-sections.txt:
7553           add gst_caps_do_simplify
7554         * gst/gstcaps.c:
7555           add documentation for gst_caps_do_simplify
7556         * gst/gstvalue.h:
7557           fix typo in gst_value_register_subtract_func declaration for gst-doc
7558
7559 2004-04-22  Benjamin Otte  <otte@gnome.org>
7560
7561         * gst/gstcaps.c: (gst_caps_from_string_inplace):
7562           fix bug when converting from empty string.
7563         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
7564         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
7565           use gst_caps_new_empty to allocate a new caps. Only that function
7566           allocates memory for caps now.
7567         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
7568         (gst_caps_remove_structure):
7569           add ability to remove one structure (but not to header yet)
7570         * gst/gstcaps.c: (gst_caps_compare_structures),
7571         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
7572         (gst_caps_structure_simplify), (gst_caps_do_simplify),
7573         * gst/gstcaps.h:
7574           add gst_caps_do_simplify that tries to simplify a caps in place.
7575           Deprecate old gst_caps_simplify function.
7576         * testsuite/caps/caps.h:
7577           add caps.h containing a common set of caps to test against.
7578         * testsuite/caps/sets.c: (check_caps), (main):
7579           use it.
7580         * testsuite/caps/.cvsignore:
7581         * testsuite/caps/Makefile.am:
7582         * testsuite/caps/simplify.c: (check_caps), (main):
7583           add test to check correctness and efficency of caps simplification.
7584
7585 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
7586
7587         reviewed by Benjamin Otte  <otte@gnome.org>
7588
7589         * gst/gstparse.c: (_gst_parse_escape):
7590           Free the GString used in _gst_parse_escape()
7591
7592 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7593
7594         * gst/gstpad.c: (gst_pad_link_negotiate):
7595           refuse to link if the link is not possible
7596         * configure.ac:
7597         * testsuite/Makefile.am:
7598         * testsuite/negotiation/.cvsignore:
7599         * testsuite/negotiation/Makefile.am:
7600         * testsuite/negotiation/pad_link.c: (main):
7601           add test that checks the above behaviour
7602
7603 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7604
7605         * docs/gst/gstreamer-sections.txt:
7606           add newly added API
7607
7608 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7609
7610         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
7611         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
7612         (gst_filesrc_open_file), (gst_filesrc_close_file),
7613         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
7614         * gst/elements/gstfilesrc.h:
7615           add support for non-regular files (#140734)
7616
7617 2004-04-21  Benjamin Otte  <otte@gnome.org>
7618
7619         * gst/gstpad.c: (gst_pad_link_fixate):
7620           add sophisticated error checking code to see if fixation functions
7621           did their fixation right
7622
7623 2004-04-21  Benjamin Otte  <otte@gnome.org>
7624
7625         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
7626           check for ANY caps before appending/unioning
7627         * gst/gstcaps.c: (gst_caps_is_subset),
7628         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
7629         (gst_caps_structure_subtract), (gst_caps_subtract):
7630         * gst/gstcaps.h:
7631           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
7632           the API. deprecate gst_caps_is_equal_fixed
7633         * gst/gstpad.c: (gst_pad_try_set_caps):
7634         * gst/gstqueue.c: (gst_queue_link):
7635           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
7636         * gst/gststructure.c: (gst_structure_get_name_id):
7637         * gst/gststructure.h:
7638           add function gst_structure_get_name_id
7639         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
7640         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7641         (gst_value_subtract_int_range_int_range),
7642         (gst_value_subtract_double_double_range),
7643         (gst_value_subtract_double_range_double),
7644         (gst_value_subtract_double_range_double_range),
7645         (gst_value_subtract_from_list), (gst_value_subtract_list),
7646         (gst_value_can_intersect), (gst_value_subtract),
7647         (gst_value_can_subtract), (gst_value_register_subtract_func),
7648         (_gst_value_initialize):
7649         * gst/gstvalue.h:
7650           add support for subtracting values from each other. Note that
7651           subtracting means subtracting as in set theory. Required for caps
7652           stuff above.
7653         * testsuite/caps/.cvsignore:
7654         * testsuite/caps/Makefile.am:
7655         * testsuite/caps/erathostenes.c: (erathostenes), (main):
7656         * testsuite/caps/sets.c: (check_caps), (main):
7657         * testsuite/caps/subtract.c: (check_caps), (main):
7658           add tests for subtraction and equality code.
7659
7660 2004-04-20  David Schleef  <ds@schleef.org>
7661
7662         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
7663         * gst/indexers/Makefile.am:
7664         * gst/schedulers/Makefile.am:
7665         * libs/gst/bytestream/Makefile.am:
7666         * libs/gst/control/Makefile.am:
7667         * libs/gst/getbits/Makefile.am:
7668
7669 2004-04-20  David Schleef  <ds@schleef.org>
7670
7671         * common/as-libtool.mak: Fine-tune DLL building.
7672         * configure.ac: Link plugins against libgstreamer.  Define plugindir
7673         (like gst-plugins)
7674         * examples/plugins/Makefile.am: remove plugindir
7675         * gst/autoplug/Makefile.am: DLL building fixes
7676         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
7677         Windows.
7678         * gst/elements/gstelements.c: Conditionally disable pipefilter.
7679         * gst/indexers/Makefile.am: DLL building fixes
7680         * gst/schedulers/Makefile.am: DLL building fixes.
7681         * libs/gst/bytestream/Makefile.am: DLL building fixes.
7682         * libs/gst/control/Makefile.am: same
7683         * libs/gst/getbits/Makefile.am: same
7684         * testsuite/Makefile.am: New dlopen directory
7685         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
7686         when dlopened.
7687         * testsuite/dlopen/dlopen_gst.c: (main): same
7688         * testsuite/dlopen/loadgst.c: (do_test): same
7689
7690 2004-04-20  David Schleef  <ds@schleef.org>
7691
7692         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
7693         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
7694
7695 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7696
7697         * gst/gstelement.c: (gst_element_wait),
7698         (gst_element_set_time_delay), (gst_element_change_state):
7699           Use GST_TIME_*
7700
7701 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7702
7703         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
7704         (gst_spider_identity_plug):
7705           improve debugging messages
7706         * gst/gstbin.c: (gst_bin_remove_func):
7707           make sure the state_change function is only called with simple state
7708           transitions
7709
7710 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7711
7712         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
7713         (gst_fakesink_set_property), (gst_fakesink_chain):
7714         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
7715         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
7716         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
7717         * gst/elements/gstidentity.c: (gst_identity_chain),
7718         (gst_identity_set_property):
7719         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
7720         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
7721           add warnings to _set_property for unknown arguments
7722           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
7723
7724 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7725
7726         * Makefile.am:
7727         * docs/manuals.mak:
7728           add .po file download snippet
7729           fix a bug in the doc makefile
7730
7731 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7732
7733         * Makefile.am:
7734         * po/LINGUAS:
7735         * po/en_GB.po:
7736           Added en_GB translation (Gareth Owen)
7737
7738 2004-04-20  Johan Dahlin  <johan@gnome.org>
7739
7740         * gst/gstpad.c (_invent_event): Clean up
7741
7742 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7743
7744         * testsuite/caps/filtercaps.c: (main):
7745           fix test to test things correctly (caps are complicated)
7746
7747 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7748
7749         * testsuite/caps/Makefile.am:
7750         * testsuite/caps/filtercaps.c: (main):
7751           add test (that doesn't work right now, but should)
7752
7753 2004-04-19  David Schleef  <ds@schleef.org>
7754
7755         * configure.ac: Add test for allowing unaligned access.  Add define
7756         to put in gstconfig.h.
7757         * docs/gst/gstreamer-sections.txt: New symbols
7758         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
7759         * docs/gst/tmpl/gstfilesrc.sgml:
7760         * docs/gst/tmpl/gstparse.sgml:
7761         * docs/gst/tmpl/gsttypes.sgml:
7762         * docs/gst/tmpl/gstutils.sgml:
7763         * docs/gst/tmpl/gstvalue.sgml:
7764         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
7765         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
7766         on most !i386/!powerpc architectures.  From Daniel Gazard
7767         <daniel.gazard@free.fr>.  (bug #140156)
7768         * po/af.po: Check in changes made by gettext.
7769         * po/az.po:
7770         * po/fr.po:
7771         * po/nl.po:
7772         * po/sr.po:
7773         * po/sv.po:
7774
7775 2004-04-20  Benjamin Otte  <otte@gnome.org>
7776
7777         * gst/schedulers/entryscheduler.c: 
7778         (gst_entry_scheduler_yield):
7779           refuse to yield when decoupled elements insist on doing that.
7780           At least it's better than crashing
7781
7782 2004-04-19  David Schleef  <ds@schleef.org>
7783
7784         * docs/libs/Makefile.am: Change sinclude to include
7785         * docs/gst/Makefile.am: same
7786         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
7787
7788 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7789
7790         * po/LINGUAS:
7791         * po/uk.po:
7792           Added Ukrainian translation (Maxim V. Dziumanenko)
7793
7794 2004-04-19  Johan Dahlin  <johan@gnome.org>
7795
7796         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
7797         checking here, do it before calling the function.
7798         Clean up, use for loops instead of while loops while iterating
7799         over lists.
7800
7801         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
7802         in debug message.
7803         (gst_spider_create_and_plug): Improve debug message.
7804         General: Replace while loops which iterates over GLists with for
7805         loops. Which are much cleaner, improves readability, especially
7806         for gst_spider_identity_plug
7807
7808         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
7809         fixes bug 140477
7810
7811 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7812
7813         * po/LINGUAS:
7814         * po/tr.po:
7815           Added Turkish translation (Baris Cicek)
7816
7817 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7818
7819         * docs/faq/troubleshooting.xml:
7820           Mention gst-register in the FAQ (fixes 139045).
7821
7822 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7823
7824         * docs/gst/gstreamer-sections.txt:
7825
7826 2004-04-17  Benjamin Otte  <otte@gnome.org>
7827
7828         * gst/gstelement.c: (gst_element_dispose):
7829           simplify
7830         * gst/gstpad.c: (gst_pad_call_chain_function):
7831           don't create loads of events due to bad macro usage
7832
7833 2004-04-16  David Schleef  <ds@schleef.org>
7834
7835         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
7836         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
7837         * gst/gstvalue.c: (gst_value_serialize_buffer),
7838         (gst_value_deserialize_buffer), (gst_type_is_fixed),
7839         (_gst_value_initialize): Create a new function gst_type_is_fixed()
7840         to indicate types that are fixed wrt caps or not.  Switching to
7841         this function fixes (bug #140298).
7842         * gst/gstvalue.h:
7843
7844 2004-04-16  David Schleef  <ds@schleef.org>
7845
7846         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
7847         for GST_UNALIGNED_ACESS, since we essentially know which archs
7848         are ok.
7849
7850 2004-04-17  Benjamin Otte  <otte@gnome.org>
7851
7852         * docs/gst/Makefile.am:
7853           ignore gst/parse directory when building docs (fixes #140205)
7854
7855 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7856
7857         * testsuite/refcounting/mem.c: (vmsize):
7858           do error checking
7859
7860 2004-04-16  Johan Dahlin  <johan@gnome.org>
7861
7862         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
7863         and gst_pad_call_get_function.
7864
7865 2004-04-15  David Schleef  <ds@schleef.org>
7866
7867         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
7868         checks if we can access unaligned memory.
7869         * configure.ac: Use it.
7870
7871 2004-04-16  Benjamin Otte  <otte@gnome.org>
7872
7873         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
7874         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
7875         * gst/elements/gstfilesrc.h:
7876           s/seek_happened/need_discont/ and require discont before sending any
7877           data
7878
7879 2004-04-15  David Schleef  <ds@schleef.org>
7880
7881         * gst/gstvalue.c: (gst_value_serialize_buffer),
7882         (gst_value_deserialize_buffer), (_gst_value_initialize):
7883         Register these types as fundamental types. (bug #140015)
7884
7885 2004-04-16  Benjamin Otte  <otte@gnome.org>
7886
7887         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
7888         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
7889         (gst_pad_pull):
7890           implement enforcing discont events before buffers are passed. This
7891           allows state changes of only some elements and later correctly going
7892           on where they left off (or in short: you can now set audio sinks to
7893           NULL to release the device when the pipeline is paused)
7894         * gst/gstpad.c: (gst_pad_call_chain_function),
7895         (gst_pad_call_get_function):
7896         * gst/gstpad.h:
7897           add gst_pad_call_chain_function and gst_pad_call_get_function for
7898           scheduler interaction. They are required because of the changes
7899           above.
7900         * gst/schedulers/entryscheduler.c: (get_buffer),
7901         (gst_entry_scheduler_chain_wrapper),
7902         (gst_entry_scheduler_get_wrapper),
7903         (gst_entry_scheduler_state_transition),
7904         (gst_entry_scheduler_pad_link):
7905         * gst/schedulers/gstbasicscheduler.c:
7906         (gst_basic_scheduler_chain_wrapper),
7907         (gst_basic_scheduler_src_wrapper),
7908         (gst_basic_scheduler_chainhandler_proxy),
7909         (gst_basic_scheduler_gethandler_proxy),
7910         (gst_basic_scheduler_cothreaded_chain),
7911         (gst_basic_scheduler_chain_elements):
7912         * gst/schedulers/gstoptimalscheduler.c:
7913         (get_group_schedule_function), (pad_clear_queued),
7914         (gst_opt_scheduler_pad_link):
7915           use the new functions instead of calling get/chain-functions
7916           directly.
7917
7918 2004-04-15  David Schleef  <ds@schleef.org>
7919
7920         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
7921         * docs/gst/tmpl/gstinfo.sgml: same
7922         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
7923         gtk-doc put here.
7924         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
7925         * examples/queue/queue.c: (main):  We iterate pipelines, not
7926         bins.  (bug #139996)
7927
7928 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7929
7930         * docs/pwg/advanced-types.xml:
7931           Add MS RLE support. Also document Qt RLE although I have no sample
7932           files for that yet. And document an extra property for ADPCM.
7933
7934 2004-04-15  David Schleef  <ds@schleef.org>
7935
7936         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
7937         (_gst_plugin_fault_handler_setup):  Disable more stuff on
7938         Windows.
7939
7940 2004-04-15  David Schleef  <ds@schleef.org>
7941
7942         * gst/gstinfo.c: (_gst_debug_init): Change some internal
7943         symbol names to not conflict with new gstinfo.h symbols.
7944         * gst/gstinfo.h: Add inline functions for all those crazy
7945         compilers that don't know how to handle variadic macros (MSVC).
7946
7947 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7948
7949         * configure.ac: bump nano to 1
7950
7951 === release 0.8.1 ===
7952
7953 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7954
7955         * NEWS:
7956         * RELEASE:
7957         * configure.ac:
7958           releasing 0.8.1, "Snow Brigade"
7959
7960 2004-04-14  David Schleef  <ds@schleef.org>
7961
7962         * testsuite/Makefile.am: define tests_ignore
7963         * testsuite/Rules: Added new tests_ignore, which get compiled,
7964         but not run (generally because they're inconsistent or have
7965         heisenbugs).  Now we can ensure all the .c files compile in
7966         testsuite/.
7967         * testsuite/bins/Makefile.am: define tests_ignore
7968         * testsuite/bytestream/Makefile.am:
7969         * testsuite/caps/Makefile.am:
7970         * testsuite/clock/Makefile.am:
7971         * testsuite/debug/Makefile.am:
7972         * testsuite/debug/global.c: (gst_debug_log_one),
7973         (gst_debug_log_two): Fix compilation problem.
7974         * testsuite/dynparams/Makefile.am:
7975         * testsuite/elements/Makefile.am:
7976         * testsuite/ghostpads/Makefile.am:
7977         * testsuite/indexers/Makefile.am:
7978         * testsuite/parse/Makefile.am:
7979         * testsuite/plugin/Makefile.am:
7980         * testsuite/refcounting/Makefile.am:
7981         * testsuite/refcounting/element_pad.c: (main): Don't return leak
7982         results, because it's not calculated correctly.
7983         * testsuite/refcounting/pad.c: (main): same
7984         * testsuite/states/Makefile.am:
7985         * testsuite/tags/Makefile.am:
7986         * testsuite/threads/Makefile.am:
7987
7988 2004-04-14  David Schleef  <ds@schleef.org>
7989
7990         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
7991         generating bad code around the cpu detection asm code.
7992
7993 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7994
7995         * tools/gst-inspect.c: (print_element_info):
7996           print numeric version of rank as well, since we added some - 1
7997           rank values to elements
7998
7999 2004-04-13  David Schleef  <ds@schleef.org>
8000
8001         * configure.ac:  Disable various code when compiling for MinGW.
8002         * gst/elements/Makefile.am:
8003         * gst/elements/gstelements.c:
8004         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8005         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
8006         * gst/registries/gstxmlregistry.c: (make_dir):
8007
8008 2004-04-13  David Schleef  <ds@schleef.org>
8009
8010         * gst/Makefile.am:
8011         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
8012         assembly.
8013         * gst/gstcpuid_i386.s: remove
8014
8015 2004-04-13  David Schleef  <ds@schleef.org>
8016
8017         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
8018         seems to think it needs to be done.
8019         * docs/gst/tmpl/gstfakesink.sgml:
8020         * docs/gst/tmpl/gstfakesrc.sgml:
8021         * docs/gst/tmpl/gstfdsink.sgml:
8022         * docs/gst/tmpl/gstfdsrc.sgml:
8023         * docs/gst/tmpl/gstfilesink.sgml:
8024         * docs/gst/tmpl/gstfilesrc.sgml:
8025         * docs/gst/tmpl/gstidentity.sgml:
8026         * docs/gst/tmpl/gstmd5sink.sgml:
8027         * docs/gst/tmpl/gstmultifilesrc.sgml:
8028         * docs/gst/tmpl/gstpipefilter.sgml:
8029         * docs/gst/tmpl/gstshaper.sgml:
8030         * docs/gst/tmpl/gstspider.sgml:
8031         * docs/gst/tmpl/gstspideridentity.sgml:
8032         * docs/gst/tmpl/gststatistics.sgml:
8033         * docs/gst/tmpl/gsttee.sgml:
8034         * docs/gst/tmpl/gsttypefind.sgml:
8035         * docs/gst/tmpl/gstutils.sgml:
8036
8037 2004-04-13  David Schleef  <ds@schleef.org>
8038
8039         * configure.ac: Changes to remove POSIXisms (mmap in this case)
8040         and to build DLLs on Windows.
8041         * gst/Makefile.am:
8042         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8043         (gst_filesrc_open_file):
8044         * gst/schedulers/Makefile.am:
8045
8046 2004-04-13  David Schleef  <ds@schleef.org>
8047
8048         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
8049         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
8050         fixating lists.
8051
8052 2004-04-12  David Schleef  <ds@schleef.org>
8053
8054         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
8055         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
8056         to using it.
8057         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
8058         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
8059         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
8060         * gst/gststructure.c: (gst_structure_set_valist),
8061         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
8062         support for buffers.
8063         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
8064         intended to be const.
8065         * gst/gsttag.h: same
8066         * gst/gstvalue.c: (gst_value_serialize_buffer),
8067         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
8068         to (de)serialize buffers.
8069         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
8070         * testsuite/caps/string-conversions.c: (main):
8071         * testsuite/caps/value_serialize.c: add new test
8072
8073 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8074
8075         * docs/pwg/advanced-types.xml:
8076           Document MS video 1 (video/x-msvideocodec) mimetype/format.
8077
8078 2004-04-11  Benjamin Otte  <otte@gnome.org>
8079
8080         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
8081           rename categories to basic_*
8082         * gst/schedulers/gstbasicscheduler.c: 
8083         (gst_basic_scheduler_chain_wrapper),
8084         (gst_basic_scheduler_chainhandler_proxy),
8085         (gst_basic_scheduler_gethandler_proxy),
8086         (gst_basic_scheduler_eventhandler_proxy):
8087           debugging category fixes - put common stuff in log category
8088         * gst/schedulers/gstbasicscheduler.c: 
8089         (gst_basic_scheduler_chain_elements):
8090           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
8091           active and linking two active chains
8092
8093 2004-04-10  Benjamin Otte  <otte@gnome.org>
8094
8095         * docs/pwg/intro-preface.xml:
8096           fix dead links and remove reference to Wiki
8097
8098 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8099
8100         * gst/schedulers/gstbasicscheduler.c:
8101           make sure we can switch back to the main function if we're still in
8102           the main function (supposed to fix #139617)
8103         * gst/schedulers/gthread-cothreads.h:
8104           don't throw an error when switching to the same cothread
8105
8106 2004-04-09  Benjamin Otte  <otte@gnome.org>
8107
8108         * gst/gstbin.c: (gst_bin_get_type):
8109         * gst/gstclock.c: (gst_clock_get_type):
8110         * gst/gstindex.c: (gst_index_get_type):
8111         * gst/gstobject.c: (gst_object_get_type),
8112         (gst_signal_object_get_type):
8113         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
8114         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
8115         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
8116         * gst/gstqueue.c: (gst_queue_get_type):
8117         * gst/gstregistry.c: (gst_registry_get_type):
8118         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8119         * gst/gstthread.c: (gst_thread_get_type):
8120           don't use memchunks for these objects, use malloc instead
8121
8122 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8123
8124         * docs/gst/.cvsignore:
8125         * docs/gst/Makefile.am:
8126         * docs/gst/gstreamer-sections.txt:
8127         * docs/gst/tmpl/gstaggregator.sgml:
8128         * docs/gst/tmpl/gstbuffer.sgml:
8129         * docs/gst/tmpl/gstclock.sgml:
8130         * docs/gst/tmpl/gstelement.sgml:
8131         * docs/gst/tmpl/gstfakesink.sgml:
8132         * docs/gst/tmpl/gstfakesrc.sgml:
8133         * docs/gst/tmpl/gstfdsink.sgml:
8134         * docs/gst/tmpl/gstfdsrc.sgml:
8135         * docs/gst/tmpl/gstfilesink.sgml:
8136         * docs/gst/tmpl/gstfilesrc.sgml:
8137         * docs/gst/tmpl/gstidentity.sgml:
8138         * docs/gst/tmpl/gstindex.sgml:
8139         * docs/gst/tmpl/gstinfo.sgml:
8140         * docs/gst/tmpl/gstmd5sink.sgml:
8141         * docs/gst/tmpl/gstmultifilesrc.sgml:
8142         * docs/gst/tmpl/gstpad.sgml:
8143         * docs/gst/tmpl/gstpipefilter.sgml:
8144         * docs/gst/tmpl/gstpipeline.sgml:
8145         * docs/gst/tmpl/gstpluginfeature.sgml:
8146         * docs/gst/tmpl/gstqueue.sgml:
8147         * docs/gst/tmpl/gstregistry.sgml:
8148         * docs/gst/tmpl/gstscheduler.sgml:
8149         * docs/gst/tmpl/gstshaper.sgml:
8150         * docs/gst/tmpl/gstspider.sgml:
8151         * docs/gst/tmpl/gstspideridentity.sgml:
8152         * docs/gst/tmpl/gststatistics.sgml:
8153         * docs/gst/tmpl/gstsystemclock.sgml:
8154         * docs/gst/tmpl/gsttee.sgml:
8155         * docs/gst/tmpl/gstthread.sgml:
8156         * docs/gst/tmpl/gsttypefind.sgml:
8157         * docs/gst/tmpl/gstutils.sgml:
8158           further doc build fixes
8159
8160 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8161
8162         * docs/gst/Makefile.am:
8163           make docs exit on scanning problems
8164           fix nonsrcdir build issues
8165         * docs/gst/gstreamer-sections.txt:
8166           adding stuff from -unused
8167         * gst/gstqueue.h:
8168           create GstQueueSize
8169         * gst/schedulers/cothreads_compat.h:
8170           fix cothread warnings
8171
8172 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8173
8174         * docs/gst/gstreamer-sections.txt:
8175           remove defines deprecated by Benjamin
8176
8177 2004-04-07  Benjamin Otte  <otte@gnome.org>
8178
8179         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8180           when the buffer is complete, don't check if other buffers are needed
8181         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
8182           check that the offset is >0 so we don't try to read before the
8183           beginning of the file
8184         * gst/gstpad.c: (gst_pad_set_pad_template):
8185           sink the template, so we don't end up with 130k pad templates
8186
8187 2004-04-06  Benjamin Otte  <otte@gnome.org>
8188
8189         * gst/autoplug/gstspider.c: (gst_spider_link_add):
8190           don't ref the element, adding already reffed it. And we didn't unref
8191           it later anyway... (huge memleak when you used many spider elements)
8192         * gst/gstelement.c: (gst_element_base_class_finalize):
8193         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
8194         (gst_element_register):
8195         * gst/gsturi.c: (gst_element_make_from_uri):
8196           use gst_object_(un)ref instead of g_object(un)ref
8197
8198 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8199
8200         * gst/gstbuffer.h:
8201           remove macro that wouldn't work anymore because struct member has
8202           been removed.
8203         * gst/schedulers/entryscheduler.c: (schedule_forward):
8204           fix segfault for unconnected pads
8205         
8206 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8207
8208         reviewed by David Schleef <ds@schleef.org>
8209
8210         * gst/gstinfo.h:
8211           *_FORMAT modifiers should require putting a % in front of them for
8212           consistency reasons.
8213
8214 2004-04-05  Colin Walters  <walters@redhat.com>
8215
8216         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
8217         space.
8218
8219 2004-04-05  Benjamin Otte  <otte@gnome.org>
8220
8221         * configure.ac:
8222         * gst/Makefile.am:
8223         * gst/gst_private.h:
8224         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
8225           add support for detecting if GStreamer runs inside valgrind.
8226           requires valgrind (d'oh) and --enable-debug for correct cdetection.
8227           print a big message in valgrind that GStreamer has detected it's
8228           running inside and might now use different code.
8229         * gst/gstmemchunk.c: (populate), (free_area),
8230         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
8231         (gst_mem_chunk_free):
8232           flag memchunks for valgrind, so it can detect leaking of chunks.
8233           This allows detecting leaks of GstBuffer and GstEvent correctly
8234           inside valgrind.
8235
8236 2004-04-05  David Schleef  <ds@schleef.org>
8237
8238         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
8239           jensgr@gmx.net (Jens Granseuer)
8240
8241 2004-04-05  David Schleef  <ds@schleef.org>
8242
8243         * gst/gstbuffer.c: (_gst_buffer_sub_free),
8244         (gst_buffer_default_free), (gst_buffer_default_copy),
8245         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
8246         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
8247         structures in one place.
8248
8249 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8250
8251         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
8252           (GST_TIME_FORMAT, GST_TIME_ARGS)
8253
8254 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8255
8256         * testsuite/elements/Makefile.am:
8257           disable test until it stops breaking make distcheck
8258
8259 2004-04-05  Johan Dahlin  <johan@gnome.org>
8260
8261         * po/sv.po: Updated translation
8262
8263 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8264
8265         * gst/gstplugin.c: (gst_plugin_load_file):
8266           fix segfault for when original plugin was loaded statically
8267
8268 2004-04-05  Benjamin Otte  <otte@gnome.org>
8269
8270         * testsuite/debug/category.c: (main):
8271         * testsuite/debug/commandline.c: (main):
8272         * testsuite/debug/output.c: (main):
8273           fix tests to work again with debugging enabled
8274
8275 2004-04-05  Benjamin Otte  <otte@gnome.org>
8276
8277         * gst/schedulers/gstbasicscheduler.c:
8278         (gst_basic_scheduler_pad_link):
8279           fix to work with recent scheduling changes
8280
8281 2004-04-05  Benjamin Otte  <otte@gnome.org>
8282
8283         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
8284         prepareChangeLog doesn't work when cvs indents):
8285           don't throw an error when no element can be scheduled, there's too
8286           many weird reasons why it doesn't work. Return STOPPED instead.
8287           decoupled elemts' schedulability doesn't depend on bufpens.
8288
8289 2004-04-04  Benjamin Otte  <otte@gnome.org>
8290
8291         * gst/schedulers/gstbasicscheduler.c:
8292         (gst_basic_scheduler_pad_select):
8293           fix uninitialized variable warnings
8294
8295 2004-04-04  Benjamin Otte  <otte@gnome.org>
8296
8297         * gst/gstpad.c: (gst_pad_collect_valist):
8298           fix uninitialized variable warning
8299         * gst/schedulers/entryscheduler.c: (schedule_forward):
8300           fix shadowed variable
8301
8302 2004-04-04  Benjamin Otte  <otte@gnome.org>
8303
8304         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
8305         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
8306         (gst_pad_select):
8307         * gst/gstpad.h:
8308         * gst/gstscheduler.c: (gst_scheduler_pad_select),
8309         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
8310         * gst/gstscheduler.h:
8311           implement gst_pad_collect as replacement for gst_pad_select.
8312           deprecate gst_pad_select and gst_scheduler_(un)lock_element
8313           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
8314           new pad_select, lock and unlock calls.
8315         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
8316         * gst/cothreads.h:
8317         * gst/schedulers/cothreads_compat.h:
8318         * gst/schedulers/gthread-cothreads.h:
8319           remove unused cothread_lock and cothread_unlock calls
8320         * gst/schedulers/entryscheduler.c:
8321         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
8322         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
8323         (gst_entry_scheduler_pad_select):
8324           update to new API
8325         * gst/schedulers/gstbasicscheduler.c:
8326         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
8327         (gst_basic_scheduler_pad_select):
8328           remove useless lock and unlock calls, update pad_select to new API
8329           (untested)
8330         * gst/schedulers/gstoptimalscheduler.c:
8331         (gst_opt_scheduler_class_init):
8332           remove useless select, lock and unlock function calls
8333         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
8334           use gst_pad_collect instead of gst_pad_select
8335
8336 2004-04-04  Benjamin Otte  <otte@gnome.org>
8337
8338         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
8339         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
8340         (schedule_next_element), (print_entry):
8341           add can_schedule_pad to handle element states.
8342           add schedule_forward to select the correct entry to schedule next
8343
8344 2004-04-03  Benjamin Otte  <otte@gnome.org>
8345
8346         * gst/schedulers/entryscheduler.c: 
8347           remove unused variable, fix error inside Rb, fix compile warning in
8348           unreachable code
8349
8350 2004-04-03  Benjamin Otte  <otte@gnome.org>
8351
8352         * gst/schedulers/entryscheduler.c:
8353           completely revamp the inner workings, so it's a lot easier to
8354           understand and extend
8355
8356 2004-04-03  Andy Wingo  <wingo@pobox.com>
8357
8358         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
8359         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
8360         This allows better introspection of pipeline topology.
8361         (add_to_chain): Don't do trickery to put loop elements first;
8362         rather, queue a chain sort by marking the chain as dirty.
8363         (remove_from_chain): Mark the chain dirty.
8364         (sort_chain): New function. Sorts the group list so that terminal
8365         sinks are first. This means elements on the sink side will be
8366         preferentially sscheduled before elements on the src side of the
8367         pipeline.
8368         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
8369         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
8370         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
8371         (group_inc_link): Change argument and variable names to match the
8372         new link structure member names (src and sink).
8373         (group_dec_link): Add some description
8374
8375 2004-04-03  Benjamin Otte  <otte@gnome.org>
8376
8377         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
8378         * gst/gstinfo.h:
8379         * testsuite/debug/category.c: (main):
8380         * testsuite/debug/commandline.c: (main):
8381         * testsuite/debug/output.c: (main):
8382         * testsuite/debug/printf_extension.c: (main):
8383           fix to successfully build and test with --disable-gst-debug
8384           configure switch (fixes #138705)
8385
8386 2004-04-03  Benjamin Otte  <otte@gnome.org>
8387
8388         * docs/pwg/building-boiler.xml:
8389           add cvs login line and s/anonymous/anoncvs/
8390
8391 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
8392
8393         reviewed by Benjamin Otte  <otte@gnome.org>
8394
8395         * gst/gststructure.c: (gst_structure_free):
8396           memleak fix: free fields array (partial fix for #134839)
8397
8398 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8399
8400         * docs/random/ds/0.9-suggested-changes:
8401           Add a note to change handoff use in fakesrc to be usable in
8402           a more generic way (fakesrc should be renamed to appsrc or so).
8403         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8404           Change signal type to scope, so we can fill the buffer in the
8405           handoff handler (that's the whole use of this signal...).
8406
8407 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8408
8409         * docs/pwg/other-ntoone.xml:
8410           Document muxers and n-to-1 elements.
8411
8412 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
8413
8414         * gst/registries/gstxmlregistry.c
8415         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
8416         determine if a file is a G_MODULE. The old one discards paths
8417         containing "so" somewhere in the middle. My home directory is
8418         called "soto". Go figure...
8419
8420 2004-03-31  David Schleef  <ds@schleef.org>
8421
8422         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
8423         to eventually deprecate gst_buffer_merge().  (bug: #136408)
8424         * gst/gstbuffer.h:
8425
8426 2004-03-31  David Schleef  <ds@schleef.org>
8427
8428         * gst/gstvalue.c: (gst_value_union_int_int_range),
8429         (gst_value_union_int_range_int_range), (gst_value_can_union),
8430         (gst_value_union), (_gst_value_initialize):  Add some union
8431         implementations.  We didn't have any previously.
8432         * testsuite/caps/Makefile.am:
8433         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
8434         (gst_audioscale_getcaps), (test_caps), (main): A little test
8435         that is the same as the caps manipulation in audioscale.
8436
8437 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8438
8439         * docs/faq/general.xml:
8440           add entry about "does gst support format X?"
8441
8442 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8443
8444         * gst/gstthread.c:
8445           fix docs
8446         * gst/gstutils.h:
8447           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
8448
8449 2004-03-30  Benjamin Otte  <otte@gnome.org>
8450
8451         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8452           set the offset of the buffer to the requested offset
8453         * gst/elements/gsttypefind.c: (stop_typefinding):
8454           revert patch 1.18 (which I unfortunately don't know the reason for).
8455           This is needed to allow downstream elements to seek. Otherwise
8456           typefind might overwrite a previous seek by downstream elements.
8457           This lead to errors with id3tag and typefind on some mp3s.
8458         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8459         (gst_entry_scheduler_iterate):
8460           be more verbose when debugging
8461
8462 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8463
8464         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8465           make sure we don't get NULL strings
8466
8467 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8468
8469         * gst/gstcaps.c:
8470         * gst/gstelement.c:
8471         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8472         * gst/gstindex.c: (gst_index_resolver_get_type),
8473         (gst_index_get_type), (gst_index_factory_get_type):
8474         * gst/gstinfo.c:
8475         * gst/gstpad.c:
8476         * gst/gstplugin.c:
8477         * gst/gsturi.c: (gst_uri_handler_get_type):
8478         * gst/gstvalue.c:
8479           first batch of documentation fixes
8480
8481 2004-03-29  David Schleef  <ds@schleef.org>
8482
8483         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
8484         * docs/gst/gstreamer-docs.sgml:  More hacking
8485         * docs/gst/gstreamer-sections.txt:
8486         * docs/gst/tmpl/cothreads_compat.sgml:
8487         * docs/gst/tmpl/gstcaps.sgml:
8488         * docs/gst/tmpl/gstclock.sgml:
8489         * docs/gst/tmpl/gstelement.sgml:
8490         * docs/gst/tmpl/gstevent.sgml:
8491         * docs/gst/tmpl/gstpad.sgml:
8492         * docs/gst/tmpl/gstutils.sgml:
8493         * docs/gst/tmpl/gstxml.sgml:
8494         * docs/gst/tmpl/gthread-cothreads.sgml:
8495         * docs/random/ds/0.9-suggested-changes:
8496         * gst/elements/gstfakesink.h: doc fixes
8497         * gst/elements/gstfakesrc.h: doc fixes
8498         * gst/gstcaps.c: doc fixes
8499         * gst/gstcaps.h: doc fixes
8500         * gst/gstelement.c: doc fixes
8501         * gst/gstelement.h: doc fixes
8502         * gst/gstindex.c: doc fixes
8503         * gst/gstinfo.c: doc fixes
8504         * gst/gstpad.c: doc fixes
8505         * gst/gstpad.h: doc fixes
8506         * gst/gstplugin.c: doc fixes
8507         * gst/gsttypefind.h: doc fixes
8508         * gst/gsturi.c: doc fixes
8509         * gst/gstvalue.c: doc fixes
8510
8511 2004-03-29  Colin Walters  <walters@redhat.com>
8512
8513         * gst/registries/gstxmlregistry.c (get_time)
8514         (plugin_times_older_than_recurse):
8515         Use the result of stat to determine whether a path is a file,
8516         so we don't attempt to opendir() files.
8517
8518 2004-03-29  Benjamin Otte  <otte@gnome.org>
8519
8520         * gst/gstpad.c: (gst_pad_set_explicit_caps):
8521           print caps in debugging output when setting caps failed
8522         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8523         (schedule_next_element), (get_buffer), (run_chainhandler),
8524         (element_may_start), (gst_entry_scheduler_chain_handler),
8525         (gst_entry_scheduler_get_handler),
8526         (gst_entry_scheduler_state_transition),
8527         (gst_entry_scheduler_pad_link):
8528           make this scheduler a testcase for mandatory
8529           discont-before-first-buffer which is needed if we want to allow apps
8530           to release the sound device.
8531           add SCHED_ASSERT macro to print scheduler state before an assertion
8532           triggers.
8533
8534 2004-03-29  Benjamin Otte  <otte@gnome.org>
8535
8536         * COPYING:
8537           replace by LGPL (former COPYING.LIB). The core is completely
8538           licensed LGPL.
8539         * COPYING.LIB:
8540           remove
8541
8542 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8543
8544         * po/af.po:
8545         * po/sv.po:
8546           updated Afrikaans and Swedish
8547
8548 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8549
8550         * po/LINGUAS:
8551         * po/az.po:
8552           adding Azerbaijani (Mətin Əmirov)
8553
8554 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
8555
8556         * gst/gstelement.h: 
8557         * gst/gstelement.c (gst_element_set_time_delay): New function for
8558         setting element time taking into account a hardware buffering
8559         delay.
8560         (gst_element_set_time): Now just an invocation of
8561         gst_element_set_time_delay.
8562         * gst/gstclock.h: 
8563         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
8564         allowing to set event times in the future.
8565         (gst_clock_get_event_time): Now just an invocation of
8566         gst_clock_get_event_time_delay.
8567
8568 2004-03-28  Benjamin Otte  <otte@gnome.org>
8569
8570         * gst/gstbin.c: (gst_bin_set_element_sched),
8571         (gst_bin_unset_element_sched):
8572           don't add decoupled elements to schedulers - otherwise it's
8573           impossible to control if a link to a decoupled element was already
8574           removed from a scheduler or not.
8575         * gst/schedulers/cothreads_compat.h:
8576         * gst/schedulers/gthread-cothreads.h:
8577           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
8578           is no "unused" warning.
8579         * gst/schedulers/Makefile.am:
8580         * gst/schedulers/entryscheduler.c:
8581           add new scheduler, based on ideas from talking to David and Martin.
8582           It's supposed to be small and correct. Currently it's also slow (but
8583           it's not noticable)
8584         * examples/retag/retag.c: (main):
8585         * testsuite/bytestream/test1.c: (main):
8586           fix missing NULLs at end of variadic functions
8587         * testsuite/elements/.cvsignore:
8588           update
8589
8590 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
8591
8592         * gst/gstevent.h:
8593         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
8594
8595 2004-03-25  David Schleef  <ds@schleef.org>
8596
8597         * docs/gst/gstreamer-sections.txt:  More doc hacking.
8598         * docs/gst/tmpl/gstaggregator.sgml:
8599         * docs/gst/tmpl/gstautoplugfactory.sgml:
8600         * docs/gst/tmpl/gstbin.sgml:
8601         * docs/gst/tmpl/gstbuffer.sgml:
8602         * docs/gst/tmpl/gstbufferstore.sgml:
8603         * docs/gst/tmpl/gstfakesink.sgml:
8604         * docs/gst/tmpl/gstfakesrc.sgml:
8605         * docs/gst/tmpl/gstmd5sink.sgml:
8606         * docs/gst/tmpl/gstreamer-unused.sgml:
8607         * docs/gst/tmpl/gstsearchfuncs.sgml:
8608         * docs/gst/tmpl/gstshaper.sgml:
8609         * docs/gst/tmpl/gstspider.sgml:
8610         * docs/gst/tmpl/gsttee.sgml:
8611         * docs/gst/tmpl/gstutils.sgml:
8612         * docs/gst/tmpl/gstvalue.sgml:
8613         * docs/gst/tmpl/gstxml.sgml:
8614         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
8615         and we don't support it.
8616         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8617         (gst_use_threads), (gst_has_threads): same
8618         * gst/gstthreaddummy.c: same
8619         * gst/autoplug/gstspider.c: Make gst_spider_details static.
8620         * gst/autoplug/gstspider.h: same
8621         * gst/elements/gstaggregator.h: Remove bogus function from header
8622         * gst/elements/gstfakesink.h: same
8623         * gst/elements/gstfakesrc.h: same
8624         * gst/elements/gstmd5sink.h: same
8625         * gst/elements/gstshaper.h: same
8626         * gst/elements/gsttee.h: same
8627         * gst/gstbin.c: doc fixes
8628         * gst/gstbin.h: Remove unused definition.
8629         * gst/gstbuffer.c: doc fixes
8630         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
8631         * gst/gstfilter.c: doc fixes
8632         * gst/gsttag.c: doc fixes
8633         * gst/gstvalue.c: doc fixes
8634
8635 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8636
8637         * docs/pwg/advanced-types.xml:
8638           Document typefinding.
8639         * docs/pwg/other-oneton.xml:
8640           Document one-to-n elements, demuxers and parsers.
8641
8642 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
8643
8644         reviewed by: David Schleef  <ds@schleef.org>
8645
8646         * configure.ac: Check bison version (bug #127838)
8647
8648 2004-03-25  David Schleef  <ds@schleef.org>
8649
8650         * docs/gst/gstreamer-docs.sgml: More fine tuning.
8651         * docs/gst/gstreamer-sections.txt:
8652         * docs/gst/tmpl/gstautoplug.sgml:
8653         * docs/gst/tmpl/gststaticautoplug.sgml:
8654         * docs/gst/tmpl/gststaticautoplugrender.sgml:
8655         * docs/gst/tmpl/gstutils.sgml:
8656         * docs/gst/tmpl/gstxml.sgml:
8657
8658 2004-03-24  David Schleef  <ds@schleef.org>
8659
8660         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
8661         manual being such complete crap, that I decided to do major
8662         hacking of it.  This checkin replaces any fine tuning that
8663         may have been done previously, with the benefit of actually
8664         being complete for much of the API that was changed since
8665         0.6.  Further fine tuning will occur shortly.  (bug #134721)
8666         * docs/gst/gstreamer-sections.txt:
8667         * docs/gst/tmpl/GstBin.sgml:
8668         * docs/gst/tmpl/GstBuffer.sgml:
8669         * docs/gst/tmpl/GstCaps.sgml:
8670         * docs/gst/tmpl/GstClock.sgml:
8671         * docs/gst/tmpl/GstCompat.sgml:
8672         * docs/gst/tmpl/GstData.sgml:
8673         * docs/gst/tmpl/GstElement.sgml:
8674         * docs/gst/tmpl/GstEvent.sgml:
8675         * docs/gst/tmpl/GstIndex.sgml:
8676         * docs/gst/tmpl/GstStructure.sgml:
8677         * docs/gst/tmpl/GstTag.sgml:
8678         * docs/gst/tmpl/cothreads.sgml:
8679         * docs/gst/tmpl/cothreads_compat.sgml:
8680         * docs/gst/tmpl/gettext.sgml:
8681         * docs/gst/tmpl/grammar.tab.sgml:
8682         * docs/gst/tmpl/gst-i18n-app.sgml:
8683         * docs/gst/tmpl/gst-i18n-lib.sgml:
8684         * docs/gst/tmpl/gst.sgml:
8685         * docs/gst/tmpl/gst_private.sgml:
8686         * docs/gst/tmpl/gstaggregator.sgml:
8687         * docs/gst/tmpl/gstarch.sgml:
8688         * docs/gst/tmpl/gstatomic.sgml:
8689         * docs/gst/tmpl/gstatomic_impl.sgml:
8690         * docs/gst/tmpl/gstbin.sgml:
8691         * docs/gst/tmpl/gstbuffer.sgml:
8692         * docs/gst/tmpl/gstbufferstore.sgml:
8693         * docs/gst/tmpl/gstcaps.sgml:
8694         * docs/gst/tmpl/gstclock.sgml:
8695         * docs/gst/tmpl/gstcompat.sgml:
8696         * docs/gst/tmpl/gstconfig.sgml:
8697         * docs/gst/tmpl/gstcpu.sgml:
8698         * docs/gst/tmpl/gstdata.sgml:
8699         * docs/gst/tmpl/gstdata_private.sgml:
8700         * docs/gst/tmpl/gstelement.sgml:
8701         * docs/gst/tmpl/gstenumtypes.sgml:
8702         * docs/gst/tmpl/gsterror.sgml:
8703         * docs/gst/tmpl/gstevent.sgml:
8704         * docs/gst/tmpl/gstfakesink.sgml:
8705         * docs/gst/tmpl/gstfakesrc.sgml:
8706         * docs/gst/tmpl/gstfilesink.sgml:
8707         * docs/gst/tmpl/gstfilter.sgml:
8708         * docs/gst/tmpl/gstindex.sgml:
8709         * docs/gst/tmpl/gstinfo.sgml:
8710         * docs/gst/tmpl/gstinterface.sgml:
8711         * docs/gst/tmpl/gstlog.sgml:
8712         * docs/gst/tmpl/gstmacros.sgml:
8713         * docs/gst/tmpl/gstmarshal.sgml:
8714         * docs/gst/tmpl/gstmd5sink.sgml:
8715         * docs/gst/tmpl/gstmultifilesrc.sgml:
8716         * docs/gst/tmpl/gstobject.sgml:
8717         * docs/gst/tmpl/gstpad.sgml:
8718         * docs/gst/tmpl/gstparse.sgml:
8719         * docs/gst/tmpl/gstpipeline.sgml:
8720         * docs/gst/tmpl/gstplugin.sgml:
8721         * docs/gst/tmpl/gstpluginfeature.sgml:
8722         * docs/gst/tmpl/gstqueue.sgml:
8723         * docs/gst/tmpl/gstreamer-unused.sgml:
8724         * docs/gst/tmpl/gstregistry.sgml:
8725         * docs/gst/tmpl/gstregistrypool.sgml:
8726         * docs/gst/tmpl/gstscheduler.sgml:
8727         * docs/gst/tmpl/gstsearchfuncs.sgml:
8728         * docs/gst/tmpl/gstshaper.sgml:
8729         * docs/gst/tmpl/gstspider.sgml:
8730         * docs/gst/tmpl/gstspideridentity.sgml:
8731         * docs/gst/tmpl/gststructure.sgml:
8732         * docs/gst/tmpl/gstsystemclock.sgml:
8733         * docs/gst/tmpl/gsttag.sgml:
8734         * docs/gst/tmpl/gsttaginterface.sgml:
8735         * docs/gst/tmpl/gsttee.sgml:
8736         * docs/gst/tmpl/gstthread.sgml:
8737         * docs/gst/tmpl/gsttrace.sgml:
8738         * docs/gst/tmpl/gsttrashstack.sgml:
8739         * docs/gst/tmpl/gsttypefind.sgml:
8740         * docs/gst/tmpl/gsttypes.sgml:
8741         * docs/gst/tmpl/gsturi.sgml:
8742         * docs/gst/tmpl/gsturitype.sgml:
8743         * docs/gst/tmpl/gstutils.sgml:
8744         * docs/gst/tmpl/gstvalue.sgml:
8745         * docs/gst/tmpl/gstversion.sgml:
8746         * docs/gst/tmpl/gstxml.sgml:
8747         * docs/gst/tmpl/gstxmlregistry.sgml:
8748         * docs/gst/tmpl/gthread-cothreads.sgml:
8749         * docs/gst/tmpl/types.sgml:
8750
8751 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8752
8753         * docs/pwg/other-sink.xml:
8754         * docs/pwg/other-source.xml:
8755           Documentation on how to write source and sink elements. Other
8756           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
8757           manager, autoplugger) are all still pending.
8758
8759 2004-03-25  Benjamin Otte  <otte@gnome.org>
8760
8761         * testsuite/elements/Makefile.am:
8762         * testsuite/elements/gst-compprep-check:
8763           add check to make sure gst-compprep works
8764         * testsuite/elements/gst-inspect-check.in:
8765           improve initialization output
8766         * testsuite/Makefile.am:
8767         * testsuite/gst-inspect-check:
8768           remove old file
8769
8770 2004-03-24  David Schleef  <ds@schleef.org>
8771
8772         * testsuite/elements/Makefile.am:
8773         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
8774         to the testsuite.
8775
8776 2004-03-24  Benjamin Otte  <otte@gnome.org>
8777
8778         * libs/gst/control/dparam.c: (gst_dparam_attach),
8779         (gst_dparam_detach):
8780         * libs/gst/control/dparammanager.c: (gst_dpman_init):
8781           fix lvalue casts for real
8782
8783 2004-03-24  Benjamin Otte  <otte@gnome.org>
8784
8785         * gst/schedulers/gstbasicscheduler.c:
8786         (gst_basic_scheduler_src_wrapper):
8787         * gst/schedulers/gstoptimalscheduler.c:
8788         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8789         (pad_clear_queued), (gst_opt_scheduler_add_element),
8790         (gst_opt_scheduler_remove_element):
8791           fix GStreamer to not have issues with lvalue casts anymore (fixes
8792           #136841)
8793
8794 2004-03-24  Benjamin Otte  <otte@gnome.org>
8795
8796         * gst/gstelement.c:
8797           add documentation about a gobject quirk where the object hasn't the
8798           correct class pointer set on initialization
8799         * gst/schedulers/gstbasicscheduler.c:
8800         (gst_basic_scheduler_src_wrapper):
8801           make sure to not run into an infinite loop
8802
8803 2004-03-22  Benjamin Otte  <otte@gnome.org>
8804
8805         * gst/gstutils.c: (gst_util_dump_mem):
8806         * gst/gstutils.h:
8807           first argument of gst_util_dump_mem should be const
8808
8809 2004-03-22  Johan Dahlin  <johan@gnome.org>
8810
8811         * gst/gstvalue.h: Clean up a little bit.
8812
8813 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
8814
8815         reviewed by Benjamin Otte  <otte@gnome.org>
8816
8817         * gst/autoplug/gstspider.c: (gst_spider_dispose):
8818         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
8819         (gst_aggregator_class_init), (gst_aggregator_init):
8820         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8821         (gst_filesrc_dispose), (gst_filesrc_set_location):
8822         * gst/elements/gstidentity.c: (gst_identity_finalize),
8823         (gst_identity_class_init), (gst_identity_chain):
8824         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
8825         * gst/elements/gststatistics.c: (gst_statistics_finalize),
8826         (gst_statistics_class_init):
8827         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
8828         (gst_tee_get_property):
8829           clean up used memory in this elements correctly on teardown (closes
8830           #137279)
8831
8832 2004-03-20  Colin Walters  <walters@redhat.com>
8833
8834         * gst/registries/gstxmlregistry.c:
8835         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
8836         registry saving atomic.
8837
8838 2004-03-20  Colin Walters  <walters@redhat.com>
8839
8840         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
8841         Just use
8842         access() instead of actually creating and deleting files.
8843
8844 2004-03-18  David Schleef  <ds@schleef.org>
8845
8846         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
8847         (bug #137625)
8848
8849 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8850
8851         * po/sv.po: updated translation (Christian Rose)
8852
8853 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8854
8855         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
8856         (gst_filesink_get_query_types), (_do_init),
8857         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
8858           return FALSE silently
8859         * po/af.po: updated translation (Petri Jooste)
8860
8861 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8862
8863         * Makefile.am:
8864         * configure.ac:
8865           dist common properly
8866         * po/af.po:
8867         * po/fr.po:
8868         * po/nl.po:
8869         * po/sr.po:
8870         * po/sv.po:
8871           refreshing translations
8872
8873 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8874
8875         * po/LINGUAS:
8876         * po/sv.po:
8877         * po/af.po:
8878           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
8879
8880 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8881
8882         * Makefile.am: use common/release.mak
8883
8884 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8885
8886         * docs/faq/gst-uninstalled:
8887           adding gst-monkeysaudio to the list of possible plugin dirs
8888
8889 2004-03-16  David Schleef  <ds@schleef.org>
8890
8891         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
8892         (gst_init_check_with_popt_table):  Fix some gettext strings to
8893         make them easier to translate.  Required making the strings
8894         non-const.
8895
8896 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8897
8898         * configure.ac: bump nano to 1
8899
8900 === release 0.8.0 ===
8901
8902 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8903
8904         * configure.ac: release 0.8.0, "Executive Slacks"
8905
8906 2004-03-16  Johan Dahlin  <johan@gnome.org>
8907
8908         * gst/schedulers/gstoptimalscheduler.c
8909         (gst_opt_scheduler_pad_unlink): Remove double ;,
8910         spotted by Scott Wheeler
8911
8912 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8913
8914         * configure.ac: bump libtool version
8915
8916 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8917
8918         * gst/gstcaps.h:
8919         * gst/gststructure.h:
8920           add reserved padding
8921
8922 2004-03-15  Benjamin Otte  <otte@gnome.org>
8923
8924         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8925           set the first parameter for select call correctly.
8926           (fixes #137230)
8927
8928 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8929
8930         * *.c,*.h: don't mix tabs and spaces
8931
8932 2004-03-15  Johan Dahlin  <johan@gnome.org>
8933
8934         * gst/schedulers/gstoptimalscheduler.c
8935         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
8936         crash on MPEG playback. My boolean arithmetic is a bit rusty.
8937
8938         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
8939         
8940 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8941
8942         * testsuite/Rules:
8943           fix gst-register rules
8944
8945 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8946
8947         * testsuite/Rules:
8948           use versioned gst-register
8949
8950 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8951
8952         * docs/libs/gstreamer-libs-sections.txt:
8953           remove </SUBSECTION>
8954         * gst/gstplugin.c:
8955         * gst/gstregistry.c: (gst_registry_add_plugin):
8956         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
8957         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
8958           add debugging and fix some comment blocks
8959
8960 2004-03-15  Johan Dahlin  <johan@gnome.org>
8961
8962         * *.h: Revert indent changes.
8963         
8964 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8965
8966         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
8967           g_error_free the g_error
8968         * tools/gst-feedback-m.m:
8969           check for other versions of gstreamer
8970         * tools/gst-indent:
8971           use sh, not bash
8972
8973 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8974
8975         * tools/gst-register.c: do not spill paths when registries are not
8976           writable, until we fix the "user running gst-register" case.
8977
8978 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8979
8980         * *.c, *.h: commit of gst-indent run on core
8981
8982 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8983
8984         * tools/gst-indent:
8985         * tools/Makefile.am:
8986           add our indentation style as a script
8987
8988 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8989
8990         * po/sr.po:
8991         * po/LINGUAS:
8992           added Serbian translation
8993
8994 2004-03-13  Benjamin Otte  <otte@gnome.org>
8995
8996         * gst/gstelement.c:
8997           add documentation note about gst_element_found_tags_for_pad not
8998           being usable in getfunctions. (see #137042)
8999
9000 2004-03-12  David Schleef  <ds@schleef.org>
9001
9002         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
9003         change API right now!  Readd gst_caps_is_simple() macro.
9004         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
9005         uninitialized variable.  I'd bet this caused crashes.
9006         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
9007
9008 2004-03-12  Johan Dahlin  <johan@gnome.org>
9009
9010         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
9011         * gst/gstcaps.h: Clean up
9012
9013         * gst/gst.c (init_post): call gst_caps_get_type() instead of
9014         _gst_caps_initalize()
9015
9016         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
9017         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
9018
9019         * gst/gststructure.c (gst_structure_get_type): Ditto
9020
9021         * gst/gststructure.h: Ditto
9022         
9023 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9024
9025         * gst/gstqueue.c: (gst_queue_init):
9026           Reset default max. values in queues. Reason is simply to avoid
9027           braindead use. If you want wider values, use the properties. The
9028           default is supposed to always work. Wider values would make this
9029           beast a memory hog by default (250 full-PAL RGB32 video frames?
9030           That's 440 MB! No thank you).
9031
9032 2004-03-10  David Schleef  <ds@schleef.org>
9033
9034         * tools/gst-run.c: (main):  Fix crash when no relevant tools
9035         were found.  (bug #136793)
9036
9037 2004-03-10  Johan Dahlin  <johan@gnome.org>
9038
9039         * gst/schedulers/gstoptimalscheduler.c
9040         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
9041         links to elements within the same group, so we can finally remove
9042         that annoying warning. Refactor the code a little bit
9043         (group_dec_links_for_element): Split out
9044
9045 2004-03-09  David Schleef  <ds@schleef.org>
9046
9047         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
9048         (bug #134863)
9049
9050 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9051
9052         * configure.ac: first bug fix due to major/minor bump
9053
9054 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9055
9056         * configure.ac: bump nano to 1
9057
9058 === release 0.7.6 ===
9059
9060 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9061
9062         * NEWS:
9063         * RELEASE:
9064         * configure.ac:
9065           releasing 0.7.6, "Almost"
9066         * po/fr.po:
9067         * po/nl.po:
9068         * tools/Makefile.am:
9069         * tools/gst-feedback-m.m:
9070           unversioned source
9071
9072 2004-03-09  Johan Dahlin  <johan@gnome.org>
9073
9074         Reviewed by: Thomas Vander Stichele
9075
9076         * gst/gstelement.c (gst_element_class_init): register second
9077         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
9078         language bindings can (de)marshall correctly.
9079
9080         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
9081
9082         * gst/gsterror.c (gst_g_error_get_type): New function
9083
9084         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
9085         with VOID:OBJECT,OBJECT,STRING 
9086
9087 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
9088
9089         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
9090         Free a leaked g_timer on early returns.
9091
9092 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9093
9094         * docs/pwg/advanced-types.xml:
9095           Add cinepak description.
9096
9097 2004-03-07  David Schleef  <ds@schleef.org>
9098
9099         * docs/random/mimetypes:  Added cinepak description
9100
9101 2004-03-07  Andy Wingo  <wingo@pobox.com>
9102
9103         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
9104
9105         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
9106         there are no links to other groups when a group is destroyed.
9107         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
9108         removed from a group, make sure the link count to elements linked
9109         to other pads is appropriately decremented. This really fixes
9110         #135672.
9111
9112         The 1.60->1.61 patch has been reapplied in light of this fix.
9113
9114         * gst/gstelement.c (gst_element_dispose): Really protect against
9115         multiple invocations this time.
9116
9117 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9118
9119         * docs/gst/gstreamer-sections.txt:
9120         * docs/gst/tmpl/gsttag.sgml:
9121           remove some deprecated functions, document some existing ones
9122         * gst/gsttag.c: (gst_tag_get_flag):
9123         * gst/gsttag.h:
9124           add accessor function
9125
9126 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9127
9128         * docs/gst/gstreamer-sections.txt:
9129         * docs/gst/tmpl/gsttag.sgml:
9130         * docs/gst/tmpl/gstxml.sgml:
9131         * gst/gsttag.c: (gst_tag_get_flag):
9132         * gst/gsttag.h:
9133
9134 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
9135
9136         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
9137         leak
9138
9139 2004-03-05  David Schleef  <ds@schleef.org>
9140
9141         * REQUIREMENTS: Add bison and flex.
9142         * configure.ac: Fix comment about bison.
9143         * docs/random/ds/0.9-suggested-changes: yer ma
9144         * tools/gst-inspect.c: (print_element_info):  Fix warning.
9145
9146 2004-03-05  Benjamin Otte  <otte@gnome.org>
9147
9148         * gst/gstelement.c: (gst_element_error_full):
9149           revert recent recursive state changing commit - messing with other
9150           elements' states is evil and should be done by apps only.
9151
9152 2004-03-05  Benjamin Otte  <otte@gnome.org>
9153
9154         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
9155           check for empty intersection instead of NULL caps
9156         (gst_element_get_compatible_pad_filtered):
9157           remove old workaround that is only a bug nowadays
9158
9159 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9160
9161         * gst/gstelement.c: (gst_element_error_full):
9162           make elements try to recursively change state to PAUSED on all
9163           parents after an error to suppress ensuing warnings
9164         * gst/parse/grammar.y:
9165           make it check if it was able to sync the state, and throw an error
9166           if not, so stuff like
9167           oggdemux ! vorbisdec ! osssink gets caught
9168
9169 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9170
9171         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
9172           it contains lib64; use AS_AC_EXPAND to handle it properly
9173
9174 2004-03-05  David Schleef  <ds@schleef.org>
9175
9176         * gst/gstcpuid_i386.s:  Remove unused code
9177         * libs/gst/getbits/getbits.c: (gst_getbits_init),
9178         (gst_getbits_newbuf): Remove MMX code
9179         * libs/gst/getbits/getbits.h: Remove MMX code
9180
9181 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
9182
9183         * debian/.cvsignore:
9184         * debian/README.Debian:
9185         * debian/changelog:
9186         * debian/control:
9187         * debian/control.in:
9188         * debian/copyright:
9189         * debian/gstreamer-core-libs-dev.files:
9190         * debian/gstreamer-core-libs.files:
9191         * debian/gstreamer-core.files:
9192         * debian/gstreamer-core.postinst:
9193         * debian/gstreamer-core.postrm:
9194         * debian/gstreamer-doc.files:
9195         * debian/gstreamer-doc.links:
9196         * debian/gstreamer-doc.lintian:
9197         * debian/gstreamer-runtime.files:
9198         * debian/gstreamer-runtime.manpages:
9199         * debian/gstreamer-runtime.postinst:
9200         * debian/gstreamer-runtime.postrm:
9201         * debian/gstreamer-tools.files:
9202         * debian/gstreamer-tools.manpages:
9203         * debian/libgstreamer-dev.files:
9204         * debian/libgstreamer0.4.1.files:
9205         * debian/libgstreamerVERSION.files:
9206         * debian/rules:
9207         Debian package info not maintained here.
9208
9209 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9210
9211         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9212         * gst/gstbin.c: (gst_bin_class_init):
9213         * gst/gstelement.c: (gst_element_class_init):
9214         * gst/gstindex.c: (gst_index_class_init):
9215         * gst/gstobject.c: (gst_object_class_init),
9216         (gst_signal_object_class_init):
9217         * gst/gstpad.c: (gst_pad_template_class_init):
9218         * gst/gstregistry.c: (gst_registry_class_init):
9219         * gst/gsturi.c: (gst_uri_handler_base_init):
9220         * gst/gstxml.c: (gst_xml_class_init):
9221         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9222         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
9223           make all signal names use dashes instead of underscore
9224
9225 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9226
9227         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
9228
9229 2004-03-03  Benjamin Otte  <otte@gnome.org>
9230
9231         * gst/schedulers/gstoptimalscheduler.c:
9232           revert last commit by Andy Wingo. It causes segfaults on unreffing
9233           in Rhythmbox. (see bug #135672)
9234
9235 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9236
9237         * po/fr.po: fix typo
9238
9239 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9240
9241         * tools/gst-inspect.c: (main): 
9242         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
9243
9244 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9245
9246         * configure.ac:
9247           get GLIB_ONLY and POPT flags for the nonversioned binaries
9248         * tools/Makefile.am:
9249           use them
9250
9251 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9252
9253         * gst/gst.c: (init_post):
9254           change so that GST_REGISTRY now is where the global registry gets
9255           saved, since that is where plugins now get attached to first, and
9256           spilled over to the user registry.  Note that in the case of using
9257           GST_REGISTRY env var, we don't want to affect any real registries
9258           beyond the one given by this var, and thus we don't set a user
9259           registry to spill to.  So make sure GST_REGISTRY is writable.
9260
9261 2004-03-01  David Schleef  <ds@schleef.org>
9262
9263         * AUTHORS:  Added some names.  Add yourself if you're missing.
9264
9265 2004-03-01  David Schleef  <ds@schleef.org>
9266
9267         * MAINTAINERS: Add
9268
9269 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9270
9271         * configure.ac:
9272           remove whitespace
9273         * docs/gst/tmpl/gstbuffer.sgml:
9274         * docs/gst/tmpl/gstdata.sgml:
9275         * docs/gst/tmpl/gstreamer-unused.sgml:
9276         * docs/gst/tmpl/gstxml.sgml:
9277           doc update
9278         * docs/manuals.mak:
9279           add a FIXME
9280         * docs/pwg/intro-preface.xml:
9281         * docs/pwg/pwg.xml:
9282           remove GNOME
9283         * gst/gst.c: (init_post):
9284           try GST_PLUGIN_PATH paths for the _global_registry first
9285         * gst/gstelement.h:
9286           add the error message as well, otherwise (null) debug info doesn't
9287           make much sense
9288         * tools/gst-register.c: (main):
9289           spill paths to next registry if this registry is not writable
9290         * po/fr.po:
9291         * po/nl.po:
9292           translation updates
9293
9294 2004-03-01  Johan Dahlin  <johan@gnome.org>
9295
9296         * gst/gstbuffer.c (_gst_buffer_initialize): 
9297         * gst/gstdata.c (gst_data_get_type): 
9298         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
9299         instead of ref, since some applications that uses GBoxed
9300         routines depends on a function that actually returns a copy.
9301
9302 2004-02-27  Benjamin Otte  <otte@gnome.org>
9303
9304         * gst/gstbuffer.h:
9305           remove gst_buffer_free, use gst_data_unref
9306         * gst/gstdata.c: (gst_data_get_type):
9307           use refcounting in GstData GBoxed registration
9308         * gst/gstdata.h:
9309           remove gst_data_free, use gst_data_unref
9310
9311 2004-02-27  Johan Dahlin  <johan@gnome.org>
9312
9313         * gst/gstdata.c (gst_data_get_type): New function, register
9314         GstData as a GBoxed type.
9315
9316         * gst/gstdata.h (GST_TYPE_DATA): New macro
9317
9318 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9319
9320         * Makefile.am:
9321         * gstreamer.spec.in:
9322           put back RELEASE
9323         * gst/Makefile.am:
9324           clean up non-disting of built files
9325         * testsuite/debug/commandline.c:
9326           test fix for option rename
9327
9328 2004-02-26  David Schleef  <ds@schleef.org>
9329
9330         * configure.ac:  We don't really need glib-2.3.  Also remove
9331         some unneeded checks for library functions.
9332         * gst/Makefile.am:  Instead, we need to not dist files created
9333         by glib-genmarshal.
9334
9335 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9336
9337         * configure.ac:
9338           bump glib required version to 2.3.0 for g_value_takes_boxed
9339
9340  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
9341
9342         * common/m4/gst-docs.m4
9343         change flavour text from enable to disable as enable is our default
9344         closes bug Bug 135304
9345
9346 === release 0.7.5 ===
9347  
9348  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9349  
9350         * NEWS:
9351           instate NEWS file
9352         * Makefile.am:
9353         * gstreamer.spec.in:
9354         * RELEASE:
9355           put back release
9356         * configure.ac:
9357         * docs/random/release:
9358           more updates
9359
9360 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9361
9362         * gst/gsttag.c: (_gst_tag_initialize):
9363         * po/fr.po:
9364         * po/nl.po:
9365           remove hyphen from codec tags
9366
9367 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9368
9369         * gst/parse/Makefile.am:
9370           fix dependency so that a make from a clean build works the first
9371           time
9372
9373 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9374
9375         * docs/random/release:
9376           update release strategy
9377         * po/fr.po:
9378           auto-update po file
9379         * po/nl.po:
9380           update dutch translation
9381
9382 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9383
9384         * docs/manual/debugging.xml:
9385         fix manual for new debugging system
9386
9387 2004-02-25  Andy Wingo  <wingo@pobox.com>
9388
9389         * gst/gstpad.c (gst_pad_link_prepare): Re-add
9390         gst_pad_link_prepare. Please email the list with specific reasons
9391         for reverting.
9392
9393 2004-02-24  Andy Wingo  <wingo@pobox.com>
9394
9395         * gst/gstelement.c (gst_element_dispose): Protect against multiple
9396         invocations.
9397
9398         * gst/schedulers/gstoptimalscheduler.c:
9399         I added a mess of prototypes at the top of the file by way of
9400         documentation. Some of the operations on chains and groups were
9401         re-organized.
9402
9403         (create_group): Added a type argument so if the group is enabled,
9404         the setup_group_scheduler knows what to do.
9405         (group_elements): Added a type argument here, too, to be passed on
9406         to create_group.
9407         (group_element_set_enabled): If an unlinked PLAYING element is
9408         added to a bin, we have to create a new group to hold the element,
9409         and this function will be called before the group is added to the
9410         chain. Thus we have a valid case for group->chain==NULL. Instead
9411         of calling chain_group_set_enabled, just set the flag on the group
9412         (the chain's status will be set when the group is added to it).
9413         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
9414         Setup the group scheduler when the group is enabled, not
9415         specifically when an element goes PAUSED->PLAYING. This means
9416         PLAYING elements can be added, linked, and scheduled into a
9417         PLAYING pipeline, as was intended.
9418         (add_to_group): Don't ref the group twice. I don't know when this
9419         double-ref got in here. Removing it has the potential to cause
9420         segfaults if other parts of the scheduler are buggy. If you find
9421         that the scheduler is segfaulting for you, put in an extra ref
9422         here and see if that hacks over the underlying issue. Of course,
9423         then find out what code is unreffing a group it doesn't own...
9424         (create_group): Make the extra refcount floating, and remove it
9425         after adding the element. This means that...
9426         (unref_group): Destroy when the refcount reaches 0, not 1, like
9427         every other refcounted object in the known universe.
9428         (remove_from_group): When a group becomes empty, set it to be not
9429         active, and remove it from its chain. Don't unref it again,
9430         there's no floating reference any more.
9431         (destroy_group): We have to remove the group from the chain in
9432         remove_from_group (rather than here) to break refcounting cycles
9433         (the chain always has a ref on the group). So assert that
9434         group->chain==NULL.
9435         (ref_group_by_count): Removed, it was commented out anyway.
9436         (merge_chains): Use the remove_from_chain and add_to_chain
9437         primitives to do the reparenting, instead of rolling our own
9438         implementation.
9439         (add_to_chain): The first non-disabled group in the chain's group
9440         list will be the entry point for the chain. Because buffers can
9441         accumulate in loop elements' peer bufpens, we preferentially
9442         schedule loop groups before get groups to avoid unnecessary
9443         execution of get-based groups when the bufpens are already full.
9444         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
9445         (get_group_schedule_function): Ditto.
9446         (loop_group_schedule_function): Ditto.
9447         (gst_opt_scheduler_loop_wrapper): Ditto.
9448         (gst_opt_scheduler_iterate): Ditto.
9449
9450         I understand the opt scheduler now, yippee!
9451
9452         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
9453         (gst_pad_get_name, gst_pad_set_chain_function) 
9454         (gst_pad_set_get_function, gst_pad_set_event_function) 
9455         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
9456         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
9457         (gst_pad_set_query_function, gst_pad_get_query_types) 
9458         (gst_pad_get_query_types_default) 
9459         (gst_pad_set_internal_link_function) 
9460         (gst_pad_set_formats_function, gst_pad_set_link_function) 
9461         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
9462         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
9463         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
9464         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
9465         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
9466         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
9467         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
9468         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
9469         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
9470         (gst_pad_event_default_dispatch, gst_pad_event_default) 
9471         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
9472         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
9473         (gst_pad_get_formats_default, gst_pad_get_formats): Better
9474         argument checks, and some doc fixes.
9475
9476         (gst_pad_custom_new_from_template): Um, does anyone
9477         use these functions? Actually make a custom pad instead of a
9478         normal one.
9479         (gst_pad_try_set_caps): Transpose some checks.
9480         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
9481         the pad is in negotiation.
9482         (gst_pad_try_relink_filtered): Use pad_link_prepare.
9483         
9484         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
9485
9486         * gst/gstelement.h: 
9487         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
9488         on the list.
9489
9490 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9491
9492         * gst/gstbin.c: (gst_bin_add):
9493           add error for not being able to add elements
9494
9495 2004-02-22  Julien MOUTTE <julien@moutte.net>
9496
9497         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
9498         audio-codec and video-codec.
9499
9500 2004-02-22  Benjamin Otte  <otte@gnome.org>
9501
9502         reported by: Padraig O'Briain <padraig.obriain@sun.com>
9503
9504         * autogen.sh:
9505           replace test -e with test -x for mkinstalldirs to be more portable.
9506           (fixes #134816)
9507
9508 2004-02-22  Benjamin Otte  <otte@gnome.org>
9509
9510         * gst/gstpad.c:
9511           revert last patch from Andy, it makes gst_pad_can_link_filtered much
9512           too noisy
9513         * gst/gsttag.c: (_gst_tag_initialize):
9514         * gst/gsttag.h:
9515           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
9516         * libs/gst/control/dparam.c: (gst_dparam_attach):
9517         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
9518           check that types for attached dparams match
9519
9520 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9521
9522         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
9523         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9524         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
9525           fix errors
9526
9527 2004-02-20  Andy Wingo  <wingo@pobox.com>
9528
9529         * gst/gstbin.c:
9530         * gst/gstbuffer.c:
9531         * gst/gstplugin.c:
9532         * gst/registries/gstxmlregistry.c: 
9533         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
9534
9535         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
9536         (gst_element_add_pad): DEBUG->INFO, some fixes.
9537         (gst_element_get_compatible_pad_template): Just see if the
9538         templates' caps intersect, not if one is a strict subset of the
9539         other. This conforms more to what gst_pad_link_intersect() does.
9540         (gst_element_class_add_pad_template): Don't memcpy the pad
9541         template, just ref it.
9542         (gst_element_get_compatible_pad_filtered): Clean up debug messages
9543
9544         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
9545         (gst_pad_link_filtered): Debug changes.
9546         (gst_pad_link_prepare): New function, consolidated from
9547         can_link_filtered and link_filtered.
9548
9549         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
9550         look more like that of the functions in gstelement.c
9551
9552         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
9553         object, and return the empty string if object is NULL.
9554
9555         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
9556         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
9557         LOG, not DEBUG. We still get flex info on debug.
9558
9559         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
9560         debug string more verbose.
9561         (plugin_times_older_than): DEBUG->LOG.
9562
9563 2004-02-20  Julien MOUTTE <julien@moutte.net>
9564
9565         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
9566         will emit found_tag for each stream they demux with the codec.
9567
9568 2004-02-20  Benjamin Otte  <otte@gnome.org>
9569
9570         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
9571           copy navigation event correctly. Check freeing tag lists. 
9572         * gst/gstthread.c: (gst_thread_change_state):
9573           don't abort() on state changing mess - it might happen because of
9574           bugs.
9575         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
9576           use boxed functions
9577         * gst/gstvalue.h:
9578           fix GST_VALUE_HOLDS_CAPS
9579
9580 2004-02-19  David Schleef  <ds@schleef.org>
9581
9582         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
9583         and use it for GST_FUNCTION.  (bug #134750)
9584
9585 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9586
9587         * po/fr.po:
9588         * po/nl.po:
9589           updating translations
9590
9591 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9592
9593         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
9594
9595 2004-02-18  kost@imn.htwk-leipzig.de
9596
9597         reviewed by: David Schleef  <ds@schleef.org>
9598
9599         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
9600         for libgstcontrol.
9601
9602 2004-02-18  David Schleef  <ds@schleef.org>
9603
9604         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9605         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9606         (gst_dpsmooth_new): Additional fixes to get double dparams working.
9607         * tools/gst-inspect.c: (print_element_info): Support dumping of
9608         double dparam information.
9609
9610 2004-02-17  David Schleef  <ds@schleef.org>
9611
9612         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9613         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
9614         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
9615         Use GST_TYPE_CAPS in signal prototype.
9616         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
9617         Convert GST_TYPE_CAPS to boxed.
9618         * gst/gstelement.c: (gst_element_class_init):
9619         Use GST_TYPE_TAG_LIST in signal prototype.
9620         * gst/gstindex.c: (gst_index_class_init):
9621         * gst/gstindex.h:
9622         Add GST_TYPE_INDEX_ENTRY type.
9623         * gst/gstmarshal.list:
9624         Add necessary marshal types.
9625         * gst/gstpad.c: (gst_real_pad_class_init),
9626         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
9627         (gst_pad_recover_caps_error):
9628         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
9629         * gst/gststructure.c: (_gst_structure_initialize),
9630         (gst_structure_copy), (_gst_structure_copy_conditional):
9631         * gst/gststructure.h:
9632         Convert GST_TYPE_STRUCTURE to boxed.
9633         * gst/gsttag.c: (gst_tag_list_get_type):
9634         * gst/gsttag.h:
9635         Add GST_TYPE_TAG_LIST type.
9636
9637 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9638
9639         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
9640         to what we agreed with david.
9641         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
9642
9643 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9644
9645         * po/nl.po: update translation
9646
9647 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9648
9649         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9650           throw an error if spider is trying to play a mime type there is
9651           no decoder for
9652         * po/POTFILES.in:
9653           add gst/autoplug/gstspider.c for translation
9654
9655 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9656
9657         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
9658         silently when the pad is negotiating.
9659
9660 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9661
9662         * docs/faq/Makefile.am:
9663           add script to run gstreamer uninstalled 
9664         * docs/faq/faq.xml:
9665         * docs/faq/developing.xml:
9666         * docs/faq/gst-uninstalled:
9667           extract script to run gstreamer uninstalled
9668         * docs/manuals.mak:
9669           add EXTRA_SOURCES variable for Makefile.am's to set to
9670           use additional SOURCE files for the doc build
9671
9672 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9673
9674         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
9675
9676 2004-02-15  Julien MOUTTE  <julien@moutte.net>
9677
9678         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
9679         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
9680         an error was thrown by osssink. Basically a state change failure for
9681         an element in a different scheduling group was considered as
9682         successful, which means that caps nego was going on and weird stuff
9683         happened. Like I wrote in the comment there, if someone wants to
9684         revert that please drop me a mail explaining why because I really see
9685         no point in keeping that broken behaviour there.
9686         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
9687         be empty, we then return NULL which will trigger a nice error when 
9688         pulling from the pad.
9689
9690 2004-02-13  David Schleef  <ds@schleef.org>
9691
9692         * libs/gst/control/dparam.c: (gst_dparam_class_init),
9693         (gst_dparam_get_property), (gst_dparam_set_property),
9694         (gst_dparam_do_update_default):
9695         * libs/gst/control/dparam.h:
9696         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9697         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
9698         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
9699         (gst_dpsmooth_do_update_double):
9700         * libs/gst/control/dparam_smooth.h:
9701         * libs/gst/control/dparammanager.c:
9702         (gst_dpman_inline_direct_update):
9703         Add support for double dparams.
9704
9705 2004-02-13  David Schleef  <ds@schleef.org>
9706
9707         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
9708         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
9709
9710 2004-02-13  Mattias Wadman  <mattias@sudac.org>
9711
9712         reviewed by: David Schleef  <ds@schleef.org>
9713
9714         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9715         (gst_fdsrc_init), (gst_fdsrc_set_property),
9716         (gst_fdsrc_get_property), (gst_fdsrc_get):
9717         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
9718         and sends an EOS event if file descriptor reading times out.
9719
9720 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9721
9722         * configure.ac:
9723           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
9724
9725 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9726
9727         * configure.ac: pass required libxml version as argument
9728         (bug reported by Christophe Fergeau)
9729
9730 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9731   
9732         * docs/gst/gstreamer-docs.sgml:
9733         * docs/gst/tmpl/gstxml.sgml:
9734         * docs/libs/gstreamer-libs-docs.sgml:
9735           version API docs
9736
9737 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9738
9739         * gst/gstinfo.c:
9740         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
9741         (gst_registry_pool_feature_filter):
9742         * gst/gstthread.c: (gst_thread_class_init):
9743         * gst/gstvalue.c:
9744           add includes exposed by building without libxml
9745         * gst/indexers/Makefile.am:
9746           do not build fileindex when LOADSAVE disabled; we should have
9747           a better libxml check later since fileindex depends on xml, not
9748           LOADSAVE or REGISTRY
9749         * libs/gst/control/Makefile.am:
9750           link with m
9751         * tools/Makefile.am:
9752           fix wrong source code for gst-xmlinspect
9753
9754 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9755
9756         * configure.ac:
9757           fix gcov help output
9758           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
9759         * docs/random/release:
9760           some updated releasing notes
9761         * gstreamer.spec.in:
9762           more updates
9763
9764 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9765
9766         * docs/faq/faq.xml:
9767         * docs/manual/manual.xml:
9768         * docs/pwg/pwg.xml:
9769         * docs/pwg/titlepage.xml:
9770           put version in documentation
9771
9772 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9773
9774         * tools/Makefile.am: fix man page installation
9775
9776 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9777
9778         * configure.ac:
9779           don't check for libxml when load/save and registry disabled (#105844)
9780         * gstreamer.spec.in:
9781           sync with fedora candidate spec
9782
9783 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9784
9785         * po/fr.po:
9786         * po/nl.po:
9787           replace multidisksrc with multifilesrc
9788
9789 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9790
9791         * po/POTFILES.in:
9792           update to multidisksrc => multifilesrc file renaming (#134145)
9793
9794 2004-02-11  David Schleef  <ds@schleef.org>
9795
9796         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
9797         * docs/gst/tmpl/gstpadtemplate.sgml: same
9798         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
9799         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
9800         fixing dance.
9801         * gst/gstutils.c: Remove disabled code that uses GstProps.
9802         * gst/registries/gstxmlregistry.h: same
9803         * docs/random/ds/0.9-suggested-changes: random notes
9804
9805 2004-02-11  kost@imn.htwk-leipzig.de
9806
9807         reviewed by: David Schleef  <ds@schleef.org>
9808
9809         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
9810         initialisation of clock (bug #134128)
9811
9812 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9813
9814         * configure.ac:
9815         * gst/elements/Makefile.am:
9816         * gst/elements/gstelements.c:
9817         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
9818         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
9819         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
9820         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
9821         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
9822         * gst/elements/gstmultifilesrc.h:
9823           rename multidisksrc to multifilesrc (part of #122200)
9824
9825 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9826
9827         * docs/manuals.mak:
9828           fix automake complaints
9829         * gst-element-check.m4:
9830           fix unquotedness
9831
9832 2004-02-11  David Schleef  <ds@schleef.org>
9833
9834         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
9835         * gst/gstatomic_impl.h: Disable sparc implementation.
9836
9837 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9838
9839         * gst-element-check.m4:
9840           fix underquoted macros as reported by automake 1.8.x (#133800)
9841         * configure.ac:
9842           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
9843           by autopoint (fixes #132996)
9844
9845 2004-02-10  Andy Wingo  <wingo@pobox.com>
9846
9847         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
9848         way to do inheritance.
9849         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
9850         (gst_pad_get_query_types, gst_pad_get_query_types_default):
9851         Routine docs.
9852         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
9853         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
9854         doc.
9855         (gst_pad_unlink, gst_pad_is_linked): Docs.
9856         (gst_pad_renegotiate): A brief description of capsnego.
9857         (gst_pad_try_set_caps): Document.
9858         (gst_pad_try_set_caps_nonfixed): Document.
9859         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
9860         (gst_pad_set_parent): Deprecated (although not out of the API).
9861         (gst_pad_get_parent): Deprecated, although many plugins use this.
9862         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
9863         are private and will go away in 0.9.
9864         (gst_pad_perform_negotiate): Doc.
9865         (gst_pad_link_unnegotiate): I think this is meant to be static.
9866         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
9867         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
9868         (gst_pad_get_peer): Doc updates.
9869         (gst_pad_caps_change_notify): Doc.
9870         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
9871         (gst_ghost_pad_new): Doc fixes.
9872
9873         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
9874         (gst_object_check_uniqueness): 
9875
9876         * gst/gstelement.c (gst_element_add_pad) 
9877         (gst_element_add_ghost_pad, gst_element_remove_pad) 
9878         (gst_element_remove_ghost_pad, gst_element_get_pad) 
9879         (gst_element_get_static_pad, gst_element_get_pad_list) 
9880         (gst_element_class_get_pad_template_list) 
9881         (gst_element_class_get_pad_template): Work on the docs.
9882         (gst_element_get_pad_template_list): Uses the class method.
9883         (gst_element_get_compatible_pad_template): Docs, and consolidate
9884         some test conditions. 
9885         (gst_element_get_pad_from_template): New static function.
9886         (gst_element_request_compatible_pad): Docs, and work with
9887         non-request compatible templates. 
9888         (gst_element_get_compatible_pad_filtered): Docs and remove
9889         redundant checks.
9890         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
9891         (gst_element_link_filtered, gst_element_link_many) 
9892         (gst_element_link, gst_element_link_pads) 
9893         (gst_element_unlink_many): Docs.
9894
9895 2004-02-05  Andy Wingo  <wingo@pobox.com>
9896
9897         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
9898         s/pointer/boxed/.
9899
9900         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
9901
9902         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
9903         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
9904         with the type=GST_TYPE_CAPS. This allows language bindings to know
9905         what kind of data they're dealing with.
9906
9907         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
9908         to NULL when g_value_init is called. GstCaps, which rolls its own
9909         type implementation, now does the same instead of allocating empty
9910         caps.
9911         (_gst_caps_initialize, _gst_caps_collect_value,
9912         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
9913         table methods. This allows G_VALUE_COLLECT to work.
9914
9915 2004-02-05  Andy Wingo  <wingo@pobox.com>
9916
9917         * configure.ac:
9918         * testsuite/Makefile.am (SUBDIRS): 
9919         * testsuite/ghostpads/Makefile.am: 
9920         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
9921
9922         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
9923         These two routines are the only ones that set
9924         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
9925         pad template. They should be made static, depending on ABI needs.
9926         (gst_real_pad_dispose): Handle the case of ghost pads without a
9927         parent. Assert after dealing with ghost pads that the ghost pad
9928         list is empty.
9929         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
9930         set after creation.
9931         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
9932         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
9933         functions. set_property will call add_ghost_pad/remove_ghost_pad
9934         as appropriate.
9935         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
9936
9937         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
9938         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
9939         (gst_element_remove_pad): Handle ghost pads as well.
9940         (gst_element_remove_ghost_pad): Deprecated (could be removed,
9941         depending on API-stability needs).
9942
9943 2004-02-05  Andy Wingo  <wingo@pobox.com>
9944
9945         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
9946         of course they're const
9947
9948 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9949
9950         * tools/Makefile.am:
9951         * tools/gst-feedback:
9952         * tools/gst-feedback-0.7:
9953           make gst-feedback versioned too for consistency
9954
9955 2004-02-11  David Schleef  <ds@schleef.org>
9956
9957         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9958         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
9959
9960 2004-02-10  Julien MOUTTE <julien@moutte.net>
9961
9962         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
9963         the structure does not contain a valid tag list. Adding a safety check
9964         to remove a noisy warning in that case.
9965
9966 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9967
9968         * gst/gst.c: fix name to be in line with others
9969
9970 2004-02-09  Julien MOUTTE <julien@moutte.net>
9971
9972         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
9973         not shout that loud when len is 0. Just return 0 silently.
9974
9975 2004-02-09  Julien MOUTTE  <julien@moutte.net>
9976
9977         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
9978         because data_unref has one and I prefer the debug to be symetric.
9979         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
9980         were refed when added to the queue and unrefed only once when the queue
9981         was flushed. Now the flush handler unref the buffers two times : first
9982         unref for the ref added when pushing in the queue's tail and second
9983         unref to destroy the flushed buffer.
9984
9985 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9986
9987         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
9988
9989 2004-02-06  David Schleef  <ds@schleef.org>
9990
9991         * docs/random/ds/0.9-suggested-changes: Random ramblings
9992         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
9993         to int before printing.
9994         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
9995         * gst/parse/parse.l: same.  See bug #129600
9996
9997 2004-02-06  David Schleef  <ds@schleef.org>
9998
9999         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
10000         (gst_index_add_entry), (gst_index_add_associationv),
10001         (gst_index_add_association): Add gst_index_add_associationv()
10002         and clean up gst_index_add_association(). #127133
10003
10004 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10005
10006         * autogen.sh: check out common with right tag if CVS/Tag exists
10007
10008 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10009
10010         * testsuite/ghostpads/ghostpads.c: (main):
10011           fix testsuite from segfaulting
10012
10013 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10014
10015         * Makefile.am: add release target
10016         * configure.ac: bump nano to 1
10017         * docs/random/release:
10018
10019 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10020
10021         * gst/gstcaps.h:
10022         * gst/gstelement.c: (gst_element_base_class_init),
10023         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10024         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10025         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10026         (gst_real_pad_dispose):
10027         * gst/gststructure.c: (gst_structure_free),
10028         (gst_structure_from_string):
10029           put reverted patch back in
10030         * gst/gstelement.c: (gst_element_remove_pad):
10031           free explicit caps if they're set
10032         * gst/gstpad.c: (_gst_pad_default_fixate_func):
10033           copy the structure when fixating
10034
10035 2004-02-05  David Schleef  <ds@schleef.org>
10036
10037         * gst/gstmarshal.list:
10038         * gst/gstpad.c: (gst_real_pad_class_init),
10039         (_gst_real_pad_fixate_accumulator):
10040         Revert POINTER->BOXED change in signal marshaller.
10041
10042 === release 0.7.4 ===
10043                                                                                 
10044 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10045                                                                                 
10046         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
10047         * configure.ac: changed for release
10048
10049 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10050
10051         * gstreamer.spec.in:
10052           bump required version of gtk-doc
10053
10054 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10055
10056         * gst/gstcaps.h:
10057         * gst/gstelement.c: (gst_element_base_class_init),
10058         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10059         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10060         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10061         (gst_real_pad_dispose):
10062         * gst/gststructure.c: (gst_structure_free),
10063         (gst_structure_from_string):
10064           revert patch that breaks applications, reapply after release
10065           to get this fixed properly
10066
10067 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10068
10069         * gst/gsttag.c: (_gst_tag_initialize):
10070         * gst/gsttag.h:
10071           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
10072
10073 2004-02-04  David Schleef  <ds@schleef.org>
10074
10075         Fix some memleaks:
10076         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
10077         (gst_spider_plug_from_srcpad):
10078         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
10079
10080 2004-02-04  David Schleef  <ds@schleef.org>
10081
10082         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
10083         a GstRealPad before accessing its structure members.
10084
10085 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10086
10087         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
10088         (gst_clock_get_speed):
10089         * gst/gstclock.h:
10090           reset padding, remove unused fields
10091
10092 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10093
10094         * gst/autoplug/gstspideridentity.c:
10095         (gst_spider_identity_sink_loop_type_finding):
10096           use get_allowed_caps, not get_caps (fixes #132519)
10097         * gst/elements/gsttypefind.c: (stop_typefinding):
10098           use correct order when sending buffers and seeking
10099
10100 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10101
10102         * configure.ac:
10103         * gst/gstelement.h:
10104         * gst/gstpad.h:
10105         * gst/gstqueue.h:
10106           upgrade libtool CURRENT, reset padding
10107
10108 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10109
10110         * configure.ac:
10111           bump to prerelease
10112           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
10113
10114 2004-02-04  David Schleef  <ds@schleef.org>
10115
10116         * docs/random/ds/0.9-suggested-changes: random notes
10117         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
10118         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
10119         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
10120         expansion.
10121         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10122         (gst_filesink_get_query_types): same
10123         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
10124         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
10125         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
10126         to use new GST_PTR_FORMAT.
10127         * gst/gstelement.h: deprecate function factory macros
10128         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
10129         These are our last variadic macros that can't be replaced with
10130         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
10131         attempting to deprecate gst_element_clock_wait().
10132         * gst/gstevent.h: same
10133         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10134         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
10135         * gst/gstpad.h: deprecate function factory macros similar to above.
10136
10137 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10138
10139         * configure.ac:
10140         * tools/Makefile.am:
10141         * tools/gst-run.c: (popt_callback), (hash_print_key),
10142         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
10143         (get_candidates), (main):
10144           add new source file to generate non-versioned wrapper binaries
10145           for our tools.
10146
10147 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10148
10149         * gst/gstevent.c: (_gst_event_free):
10150           actually break; inside the switch statement
10151         * gst/parse/grammar.y:
10152           fix memleak where GValues weren't unset
10153
10154 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10155
10156         * gst/gststructure.c: (gst_structure_from_string):
10157           fix huge memleak
10158         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10159         (new_entry), (gst_type_find_element_chain):
10160         * gst/gstelement.c: (gst_element_base_class_init),
10161         (gst_element_class_set_details):
10162         * gst/gstpad.c: (gst_pad_can_link_filtered):
10163           fix smaller memleaks
10164         * gst/gstpad.c: (gst_real_pad_dispose):
10165           check that explicit caps are gone
10166         * gst/gststructure.c: (gst_structure_free):
10167           actually free the structure
10168         * gst/gstelement.c: (gst_element_clear_pad_caps):
10169           unset explicit caps
10170
10171 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10172
10173         * tools/Makefile.am:
10174           use AM_CFLAGS since all the CFLAGS are the same
10175           use AM_LDFAGS
10176
10177 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10178
10179         * docs/manual/gnome.xml:
10180           expand example a little
10181         * gst/gst.c: (gst_init_with_popt_table),
10182         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
10183           make sure popt option displays are done with right textdomain
10184           use GstPoptOption type
10185         * gst/gst.h:
10186           create GstPoptOption type
10187
10188 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10189
10190         * gst/gsterror.c: (_gst_stream_errors_init):
10191         * gst/gsterror.h:
10192           adding error type for no codec
10193         * po/POTFILES.in:
10194           add gst-inspect
10195         * po/nl.po:
10196           update dutch translation
10197         * tools/gst-inspect.c: (print_element_list), (main):
10198           do proper internationalization
10199         * tools/gst-launch.c: (idle_func):
10200           remove commented out function call
10201
10202 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10203
10204         * docs/README:
10205           add some error fixing notes
10206         * docs/gst/gstreamer-sections.txt:
10207           remove double entries
10208         * docs/gst/tmpl/gstbin.sgml:
10209         * docs/gst/tmpl/gstclock.sgml:
10210           remove override
10211         * docs/gst/tmpl/gstelement.sgml:
10212         * docs/gst/tmpl/gstindex.sgml:
10213         * docs/gst/tmpl/gstobject.sgml:
10214         * docs/gst/tmpl/gstpadtemplate.sgml:
10215         * docs/gst/tmpl/gstreamer-unused.sgml:
10216         * docs/gst/tmpl/gsttag.sgml:
10217         * docs/gst/tmpl/gstthread.sgml:
10218         * docs/gst/tmpl/gstxml.sgml:
10219         * gst/gsttag.h:
10220           sync header prototypes with c decls
10221         * gst/gsttaginterface.c:
10222           fix doc headers
10223
10224 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10225
10226         * gst/parse/Makefile.am:
10227         * gst/gstobject.h:
10228           get rid of gstmarshal.h dependency. It's not needed.
10229         * gst/gst.h:
10230         * gst/elements/gstfakesink.c:
10231         * gst/elements/gstfakesrc.c:
10232         * gst/elements/gstidentity.c:
10233         * gst/gstbin.c:
10234         * gst/gstelement.c:
10235         * gst/gstindex.c:
10236         * gst/gstobject.c:
10237         * gst/gstpad.c:
10238         * gst/gstthread.c:
10239         * gst/gstxml.c:
10240         * libs/gst/control/dparam.c:
10241         * libs/gst/control/dparammanager.c:
10242           include gstmarshal.h.
10243         Fixes #132045
10244
10245 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10246
10247         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10248         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
10249         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
10250         * gst/elements/gstfilesrc.h:
10251           don't ref the filesrc when creating mmaped buffers. Don't keep a
10252           list of not-yet-destroyed buffers.
10253         * gst/gstbuffer.h:
10254           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
10255
10256 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10257
10258         * gst/gst.c: (init_pre):
10259           remove textdomain
10260
10261 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10262
10263         * docs/pwg/advanced-events.xml:
10264         * docs/pwg/advanced-scheduling.xml:
10265         * docs/pwg/intro-basics.xml:
10266         * docs/pwg/other-manager.xml:
10267         * docs/pwg/other-nton.xml:
10268         * docs/pwg/other-ntoone.xml:
10269         * docs/pwg/other-oneton.xml:
10270         * docs/pwg/pwg.xml:
10271           All sort of documentation... Forgot what. Point is that I want this
10272           in before I leave. The 'other-*' will be the last section and will
10273           explain issues specific to these type of elements.
10274
10275 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10276
10277         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10278         (gst_filesrc_get_read):
10279           set all the values on buffers that we can
10280
10281 2004-02-02  David Schleef  <ds@schleef.org>
10282
10283         Change usage of isblah() to g_ascii_isblah() to be more locale
10284         independent.  (#133076)
10285         * gst/gsturi.c: (gst_uri_protocol_check_internal):
10286         * gst/gstutils.c:
10287         * gst/parse/parse.l:
10288
10289 2004-02-02  Jon Trowbridge  <trow@gnu.org>
10290
10291         reviewed by: David Schleef  <ds@schleef.org>
10292
10293         Fix memory leaks:
10294         * gst/gstcaps.c: (gst_caps_to_string):
10295         * gst/registries/gstxmlregistry.c:
10296         (gst_xml_registry_add_path_list_func),
10297         (gst_xml_registry_parse_padtemplate):
10298
10299 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10300
10301         * gst/gstelement.c: (gst_element_default_error):
10302           suffix error messages with period
10303
10304 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10305
10306         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10307         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10308         * gst/gsterror.c: (gst_error_get_message):
10309           Suffix with dots
10310         * po/fr.po:
10311         * po/nl.po:
10312           Update translation files
10313
10314 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10315
10316         * gst/autoplug/gstspideridentity.c:
10317         (gst_spider_identity_sink_loop_type_finding):
10318         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10319         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10320         (gst_filesink_close_file), (gst_filesink_handle_event),
10321         (gst_filesink_chain):
10322         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10323         (gst_filesrc_get_read), (gst_filesrc_open_file):
10324         * gst/elements/gstidentity.c: (gst_identity_chain):
10325         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10326         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10327         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10328         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10329         * gst/gsterror.c: (_gst_core_errors_init),
10330         (_gst_library_errors_init), (_gst_resource_errors_init),
10331         (_gst_stream_errors_init), (gst_error_get_message):
10332         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10333         (gst_pad_recover_caps_error), (gst_pad_pull):
10334         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10335         * gst/schedulers/gstbasicscheduler.c:
10336         (gst_basic_scheduler_chainhandler_proxy),
10337         (gst_basic_scheduler_gethandler_proxy),
10338         (gst_basic_scheduler_cothreaded_chain):
10339           Suffix error messages with period.
10340           Use (NULL) instead of NULL
10341
10342 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10343
10344         * docs/gst/tmpl/gstelement.sgml:
10345         * docs/gst/tmpl/gstxml.sgml:
10346         * gst/gstelement.c: (gst_element_error_full):
10347           add element path to error
10348
10349 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10350
10351         * docs/random/mimetypes:
10352           update raw int/float info
10353         * gst/gsttag.c: (_gst_tag_initialize):
10354         * gst/gsttag.h:
10355           add GST_TAG_ENCODER
10356
10357 2004-01-30  David Schleef  <ds@schleef.org>
10358
10359         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
10360           missing (#132991)
10361
10362 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
10363
10364         reviewed by Benjamin Otte 
10365           parts of the patch submitted in bug #113913
10366
10367         * configure.ac:
10368           use AC_C_INLINE. Use = instead of == with test
10369         * examples/plugins/example.c:
10370         * gst/autoplug/gstspideridentity.c:
10371         * gst/elements/gstfdsrc.c:
10372         * gst/elements/gstfilesrc.c:
10373         * gst/elements/gstidentity.c:
10374         * gst/elements/gstmultidisksrc.c:
10375         * gst/elements/gststatistics.c:
10376         * gst/gstelement.c:
10377         * gst/gstobject.c:
10378         * gst/gstpad.c:
10379         * gst/gstpipeline.c:
10380         * gst/gstthread.c:
10381           don't end enums with a comma
10382         * gst/gstindex.c: (gst_index_compare_func):
10383           do explicit casting to gint
10384         * gst/gsttrace.c: (gst_trace_text_flush):
10385           #define strsize as a macro
10386
10387 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10388
10389         * docs/README:
10390         * docs/gst/gstreamer-docs.sgml:
10391         * docs/gst/gstreamer-sections.txt:
10392         * docs/gst/tmpl/gstelement.sgml:
10393         * docs/gst/tmpl/gsterror.sgml:
10394         * docs/gst/tmpl/gstinterface.sgml:
10395         * docs/gst/tmpl/gstreamer-unused.sgml:
10396         * docs/gst/tmpl/gststructure.sgml:
10397         * docs/gst/tmpl/gsttag.sgml:
10398         * docs/gst/tmpl/gsttaginterface.sgml:
10399         * docs/gst/tmpl/gstvalue.sgml:
10400         make sure all API ends up in the built docs
10401         * gst/gstinterface.c:
10402         * gst/gststructure.c: (gst_structure_id_set_value),
10403         (gst_structure_set_value), (gst_structure_id_get_value):
10404         * gst/gststructure.h:
10405         * gst/gstvalue.h:
10406         sync .h with .c declarations
10407
10408 2004-01-30  Julien Moutte  <julien@moutte.net>
10409
10410         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
10411         Ronald will fix riffread.
10412
10413 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10414
10415         * docs/pwg/advanced-interfaces.xml:
10416           Added tuner interface docs.
10417
10418 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10419
10420         * docs/random/mimetypes:
10421           correct Theora information
10422         * gst/gstelement.h:
10423           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
10424
10425 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10426
10427         * gst/gstelement.c: (gst_element_error_full):
10428         * gst/gstelement.h:
10429           GST_ELEMENT_ERROR in enum -> _IN_ERROR
10430
10431 2004-01-29  Julien MOUTTE  <julien@moutte.net>
10432
10433         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10434         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
10435         again and even before DISCONT.
10436         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
10437         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
10438         bytestream so that it's not stopping to fill the bytestream if events
10439         different than EOS or DISCONT are received. Instead it process them so
10440         that they go downstream.
10441
10442 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10443
10444         * docs/gst/tmpl/gstelement.sgml:
10445         * docs/gst/tmpl/gstreamer-unused.sgml:
10446         * docs/gst/tmpl/gstxml.sgml:
10447         * gst/autoplug/gstspideridentity.c:
10448         (gst_spider_identity_sink_loop_type_finding):
10449         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10450         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10451         (gst_filesink_close_file), (gst_filesink_handle_event),
10452         (gst_filesink_chain):
10453         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10454         (gst_filesrc_get_read), (gst_filesrc_open_file):
10455         * gst/elements/gstidentity.c: (gst_identity_chain):
10456         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10457         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10458         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10459         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10460         * gst/gstelement.h:
10461         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10462         (gst_pad_recover_caps_error), (gst_pad_pull):
10463         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10464         * gst/schedulers/gstbasicscheduler.c:
10465         (gst_basic_scheduler_chainhandler_proxy),
10466         (gst_basic_scheduler_gethandler_proxy),
10467         (gst_basic_scheduler_cothreaded_chain):
10468           gst_element_error -> GST_ELEMENT_ERROR
10469
10470 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10471
10472         * docs/Makefile.am:
10473         * docs/gst/tmpl/gstelement.sgml:
10474         * docs/gst/tmpl/gstxml.sgml:
10475         * docs/manuals.mak:
10476         * docs/pwg/advanced-request.xml:
10477         * docs/pwg/advanced-scheduling.xml:
10478         * docs/pwg/advanced-tagging.xml:
10479           fix non-validating docbook using CDATA
10480           make sure make check-local gets run first to check if it validates
10481
10482 2004-01-29  Julien MOUTTE <julien@moutte.net>
10483
10484         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
10485         handling (up and downstream).
10486         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
10487         my_filter thing.
10488
10489 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10490
10491         * docs/pwg/advanced-tagging.xml:
10492           Add docs about tag writing.
10493
10494 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10495
10496         * docs/pwg/advanced-tagging.xml:
10497           Add a part about tag reading and application signalling... Tag
10498           writing still needs to be documented.
10499         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10500           We can set file locations in READY, too.
10501
10502 2004-01-29  Julien MOUTTE <julien@moutte.net>
10503
10504         * docs/random/ds/element-checklist: Adding some notes about src
10505         events.
10506
10507 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10508
10509         * docs/random/mimetypes:
10510           Update docs to point to correct elements for various mimetypes, and
10511           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
10512           <stephane.loeuillet@tiscali.fr>.
10513
10514 2004-01-28  David Schleef  <ds@schleef.org>
10515
10516         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
10517
10518 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10519
10520         * docs/random/mimetypes:
10521           update docs for audio/x-raw-float. Add "buffer-frames=0 means
10522           undefined"
10523         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10524           make it only work in NULL.
10525         * gst/gstcaps.c:
10526           don't posion NULL caps
10527         * gst/gstelement.c: (gst_element_set_time):
10528           add debugging statement
10529         * gst/gstelement.c: (gst_element_emit_found_tag),
10530         (gst_element_found_tag_func), (gst_element_found_tags):
10531         * gst/gstelement.h:
10532           These functions take const taglists
10533         * gst/gstpad.c: (gst_pad_proxy_getcaps):
10534           fix memleak
10535         * gst/gstpad.c: (gst_pad_event_default):
10536           make more effort on handling discont and clocks, g_warn if everything
10537           fails
10538         * gst/gststructure.c: (gst_structure_remove_fields),
10539         (gst_structure_remove_fields_valist):
10540         * gst/gststructure.h:
10541           add gst_structure_remove_fields(_valist)
10542         * gst/gsttag.c:
10543           fix doc glitch
10544
10545 2004-01-28  David Schleef  <ds@schleef.org>
10546
10547         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
10548         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
10549         Fix memory leakage of gst_caps_to_string().
10550
10551         Use GST_PTR_FORMAT instead of gst_caps_to_string():
10552         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
10553         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
10554         (gst_spider_identity_sink_loop_type_finding):
10555         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10556         (find_suggest):
10557         * gst/gstpad.c: (gst_pad_try_relink_filtered),
10558         (gst_pad_set_explicit_caps):
10559         * gst/parse/grammar.y:
10560
10561 2004-01-28  David Schleef  <ds@schleef.org>
10562
10563         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
10564         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
10565         * docs/random/ds/0.9-suggested-changes: Notes from Company.
10566         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
10567         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
10568         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
10569         (gst_debug_log_default), (_gst_info_printf_extension),
10570         (_gst_info_printf_extension_arginfo):  Add printf extension.
10571         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
10572         * gst/gststructure.c: (gst_structure_to_string),
10573         (_gst_structure_parse_value): Use gst_value_deserialize() and
10574         remove old code.
10575         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
10576         (gst_value_deserialize_boolean), (gst_strtoi),
10577         (gst_value_deserialize_int), (gst_value_deserialize_double),
10578         (gst_value_deserialize_string), (gst_value_deserialize): Implement
10579         a bunch of deserialize functions and gst_value_deserialize.
10580         * gst/gstvalue.h: er, _de_serialize, not unserialize
10581         * testsuite/caps/string-conversions.c: (main): We don't currently
10582         handle (float) in caps, so convert these to (double).
10583         * testsuite/debug/Makefile.am: Add new test for the printf extension
10584         * testsuite/debug/printf_extension.c: (main): same
10585
10586 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10587
10588         * docs/random/company/time:
10589           Add some docs about clocking and time
10590
10591 2004-01-28  Julien MOUTTE <julien@moutte.net>
10592
10593         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
10594
10595 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10596
10597         * docs/pwg/advanced-clock.xml:
10598         * docs/pwg/advanced-dparams.xml:
10599         * docs/pwg/advanced-events.xml:
10600         * docs/pwg/advanced-interfaces.xml:
10601         * docs/pwg/advanced-midi.xml:
10602         * docs/pwg/advanced-request.xml:
10603         * docs/pwg/advanced-scheduling.xml:
10604         * docs/pwg/advanced-tagging.xml:
10605         * docs/pwg/advanced-types.xml:
10606         * docs/pwg/appendix-checklist.xml:
10607         * docs/pwg/building-boiler.xml:
10608         * docs/pwg/building-chainfn.xml:
10609         * docs/pwg/building-filterfactory.xml:
10610         * docs/pwg/building-pads.xml:
10611         * docs/pwg/building-props.xml:
10612         * docs/pwg/building-signals.xml:
10613         * docs/pwg/building-state.xml:
10614         * docs/pwg/building-testapp.xml:
10615         * docs/pwg/intro-basics.xml:
10616         * docs/pwg/intro-preface.xml:
10617         * docs/pwg/other-autoplugger.xml:
10618         * docs/pwg/other-sink.xml:
10619         * docs/pwg/other-source.xml:
10620         * docs/pwg/titlepage.xml:
10621           fix up id's
10622
10623 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10624
10625         * docs/95NonPath:
10626         * docs/HACKING:
10627         * docs/README:
10628         * docs/building-the-docs-on-debian:
10629           collect relevant bits of doc info
10630
10631 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10632
10633         * docs/pwg/advanced_tagging.xml:
10634           Half-assed commit so Thomas can re-arrange document IDs here to be
10635           consistent, too.
10636
10637 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10638
10639         * docs/manual/autoplugging.xml:
10640         * docs/manual/bins-api.xml:
10641         * docs/manual/bins.xml:
10642         * docs/manual/buffers-api.xml:
10643         * docs/manual/buffers.xml:
10644         * docs/manual/clocks.xml:
10645         * docs/manual/components.xml:
10646         * docs/manual/cothreads.xml:
10647         * docs/manual/debugging.xml:
10648         * docs/manual/dparams-app.xml:
10649         * docs/manual/dynamic.xml:
10650         * docs/manual/elements-api.xml:
10651         * docs/manual/elements.xml:
10652         * docs/manual/factories.xml:
10653         * docs/manual/gnome.xml:
10654         * docs/manual/goals.xml:
10655         * docs/manual/helloworld.xml:
10656         * docs/manual/helloworld2.xml:
10657         * docs/manual/init-api.xml:
10658         * docs/manual/intro.xml:
10659         * docs/manual/links-api.xml:
10660         * docs/manual/links.xml:
10661         * docs/manual/manual.xml:
10662         * docs/manual/motivation.xml:
10663         * docs/manual/pads-api.xml:
10664         * docs/manual/pads.xml:
10665         * docs/manual/plugins-api.xml:
10666         * docs/manual/plugins.xml:
10667         * docs/manual/programs.xml:
10668         * docs/manual/queues.xml:
10669         * docs/manual/quotes.xml:
10670         * docs/manual/schedulers.xml:
10671         * docs/manual/states-api.xml:
10672         * docs/manual/states.xml:
10673         * docs/manual/threads.xml:
10674         * docs/manual/typedetection.xml:
10675         * docs/manual/xml.xml:
10676           use chapter, part, section or misc as id starts for all bits
10677
10678 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10679
10680         * docs/gst/gstreamer-sections.txt:
10681           Fix up TITLE of the sections
10682
10683 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10684
10685         * docs/pwg/advanced_interfaces.xml:
10686           Add documentation on propertyprobing.
10687         * docs/pwg/advanced_events.xml:
10688         * docs/pwg/advanced_tagging.xml:
10689         * docs/pwg/building_boiler.xml:
10690         * docs/pwg/building_filterfactory.xml:
10691         * docs/pwg/pwg.xml:
10692           Move filterfactory and tagging into their own chapter, add a chapter
10693           on events. all these are empty placeholders that will be filled in
10694           some day.
10695
10696 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10697
10698         * docs/pwg/advanced_interfaces.xml:
10699           Docs for mixer interface. Also a check for website uploading.
10700
10701 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10702
10703         * docs/HACKING:
10704         * docs/Makefile.am:
10705         * docs/faq/Makefile.am:
10706         * docs/gst/Makefile.am:
10707         * docs/gst/tmpl/gstelement.sgml:
10708         * docs/gst/tmpl/gstplugin.sgml:
10709         * docs/gst/tmpl/gstreamer-unused.sgml:
10710         * docs/libs/Makefile.am:
10711         * docs/manual/Makefile.am:
10712         * docs/manuals.mak:
10713         * docs/pwg/Makefile.am:
10714         * docs/upload.mak:
10715           Separate out upload target and make it similar for
10716           both docbook and gtk-doc docs
10717
10718 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10719
10720         * docs/manuals.mak:
10721           Fix upload target to work with freedesktop
10722
10723 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10724
10725         * docs/pwg/advanced_types.xml:
10726           Add notes on creating your own types.
10727         * docs/pwg/building_boiler.xml:
10728         * docs/pwg/building_pads.xml:
10729         * docs/pwg/building_state.xml:
10730           Add some stuff about how to retrieve values from structures, how
10731           that relates to types and change layout slightly again to be almost
10732           perfect.
10733
10734 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10735
10736         * docs/pwg/advanced_dparams.xml:
10737         * docs/pwg/advanced_scheduling.xml:
10738           Change index layout slightly.
10739
10740 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10741
10742         * docs/pwg/advanced_clock.xml:
10743         * docs/pwg/advanced_interfaces.xml:
10744         * docs/pwg/advanced_midi.xml:
10745           General placeholders for now.
10746         * docs/pwg/advanced_request.xml:
10747           Explanation about sometimes and request pads.
10748         * docs/pwg/advanced_scheduling.xml:
10749           Concept of bytestream, loopfunctions and schedulers.
10750         * docs/pwg/building_boiler.xml:
10751           Add something about plugin-init.
10752
10753 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10754
10755         * docs/pwg/building_pads.xml:
10756           Fix broken docbook
10757
10758 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10759
10760         * docs/pwg/advanced_interfaces.xml:
10761         * docs/pwg/pwg.xml:
10762           Add as a placeholder for future filling-in.
10763         * docs/pwg/basics_autoplugging.xml:
10764         * docs/pwg/basics_buffers.xml:
10765         * docs/pwg/basics_elements.xml:
10766         * docs/pwg/basics_events.xml:
10767         * docs/pwg/basics_plugins.xml:
10768         * docs/pwg/basics_types.xml:
10769           Remove, because unused (this is all in intro_basics.xml).
10770         * docs/pwg/building_signals.xml:
10771           Short intro to signals + reference to GObject docs - we really
10772           shouldn't go into these sort of things to deply because we don't
10773           use them that extensively anyway.
10774         * docs/pwg/building_state.xml:
10775           Explanation of states. Benjamin, please check.
10776         * docs/pwg/building_testapp.xml:
10777           Put everything in one page - putting only a few lines of content
10778           per page doesn't really make sense.
10779
10780           Time to get into the advanced topics. ;).
10781
10782 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10783
10784         * docs/pwg/advanced_types.xml:
10785           Finish documenting the current state of mimetypes.
10786         * docs/pwg/building_boiler.xml:
10787         * docs/pwg/building_chainfn.xml:
10788         * docs/pwg/building_pads.xml:
10789         * docs/pwg/building_props.xml:
10790         * docs/pwg/building_testapp.xml:
10791           Start documenting the "how to build a simple audio filter" part
10792           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
10793           states and (maybe?) a short introduction to capsnego in the chapter
10794           on pads (building_pads.xml). Capsnego should probably be explained
10795           fully in advanced_capsnego.xml or so.
10796
10797 2004-01-26  David Schleef  <ds@schleef.org>
10798
10799         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
10800         * gst/gstpad.h: Add new function to allow element to (somewhat)
10801         specify non-fixed caps on a pad.
10802         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
10803         that I added a few weeks ago.
10804
10805 2004-01-26  David Schleef  <ds@schleef.org>
10806
10807         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
10808           making try_set_caps() work with non-fixed caps.
10809
10810 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10811
10812         * docs/pwg/advanced_types.xml:
10813         * docs/pwg/intro_basics.xml:
10814         * docs/pwg/intro_preface.xml:
10815         * docs/pwg/pwg.xml:
10816         * docs/pwg/titlepage.xml:
10817           First try to resurrect the PWG. I'm halfway integrating the mimetypes
10818           in here (docs/random/mimetypes), and will from there on work on both
10819           updating outdated parts and adding missing parts.
10820           That doesn't mean I'll fix it completely, but I'll try at least. ;).
10821
10822 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10823
10824         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
10825           policy is set
10826
10827 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10828
10829         * gst/gstelement.h:
10830           remove gst_element_factory_get_version. It doesn't exist anymore.
10831         * gst/gstplugin.c:
10832         * gst/gstplugin.h:
10833           remove gst_plugin_set_name and change gst_plugin_get_longname to
10834           gst_plugin_get_description to match code.
10835         * gst/gsterror.h:
10836           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
10837         * gst/gstpad.c: (gst_pad_try_set_caps):
10838           make it work with nonfixed caps.
10839           Note that even in the nonfixed case the link function of the pad
10840           that tries to set caps isn't called.
10841
10842 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10843
10844         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10845           fix bug where buffer was not assembled correctly
10846         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
10847           silence by default
10848         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10849           only seek if there's no more buffers that could work without seeking
10850
10851 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10852
10853         * gst/gsttag.c: (_gst_tag_initialize):
10854         * gst/gsttag.h:
10855           Add application tag (for encoding/muxing app).
10856
10857 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10858
10859         * autogen.sh:
10860           make autopoint force, and libtoolize not copy
10861         * common/m4/as-docbook.m4:
10862           added docbook xml catalog setup check
10863         * common/m4/gst-doc.m4:
10864           use docbook check
10865
10866 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10867
10868         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10869         * gst/gsttag.h:
10870           add GstTagFlag
10871
10872 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10873
10874         * docs/gst/gstreamer-sections.txt:
10875         * docs/gst/tmpl/gst.sgml:
10876         * docs/gst/tmpl/gstbuffer.sgml:
10877         * docs/gst/tmpl/gstclock.sgml:
10878         * docs/gst/tmpl/gstelement.sgml:
10879         * docs/gst/tmpl/gstreamer-unused.sgml:
10880         * docs/gst/tmpl/gstxml.sgml:
10881           sync latest API changes to docs
10882
10883 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10884
10885         * gst/gstpluginfeature.c:
10886           fix doc snippet
10887         * tools/gst-inspect.c: (print_element_list):
10888           fix output of typefind
10889           add GPL header
10890         * tools/gst-launch.c:
10891           add GPL header
10892
10893 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10894
10895         * gst/elements/Makefile.am:
10896         * gst/elements/gstelements.c:
10897         * gst/elements/gsttypefindelement.c:
10898         * gst/elements/gsttypefindelement.h:
10899         * po/POTFILES.in:
10900         * po/fr.po:
10901         * po/nl.po:
10902           renamed gsttypefindelement to gsttypefind, conserving CVS history
10903
10904 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10905
10906         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
10907         * gst/gsttag.h:
10908           add some tags used in ogg as well
10909           fix _ in replaygain tags
10910
10911 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10912
10913         * gst/gsterror.h:
10914           fix wrong GST_LIBRARY_ERROR_ENCODE addition
10915
10916 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10917
10918         * gst/gstelement.c: (gst_element_error_full):
10919         * gst/gstelement.h:
10920           change _extended to _full
10921
10922 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10923
10924         reviewed by: <delete if not using a buddy>
10925
10926         * docs/gst/tmpl/gst.sgml:
10927         * docs/gst/tmpl/gstbuffer.sgml:
10928         * docs/gst/tmpl/gstclock.sgml:
10929         * docs/gst/tmpl/gstelement.sgml:
10930         * docs/gst/tmpl/gstreamer-unused.sgml:
10931         * docs/gst/tmpl/gstxml.sgml:
10932         * gst/gstelement.c: (gst_element_error_full):
10933         * gst/gstelement.h:
10934
10935 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10936
10937         * gst/gstelement.h: fix _gst_element_error_printf prototype
10938
10939 2004-01-20  David Schleef  <ds@schleef.org>
10940
10941         * gst/gststructure.c: (gst_structure_to_string):
10942         Convert function to use gst_value_serialize().
10943         * gst/gstvalue.c: (gst_value_serialize_list),
10944         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
10945         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
10946         (gst_value_serialize_int), (gst_value_serialize_double),
10947         (gst_string_wrap), (gst_value_serialize_string),
10948         (gst_value_serialize), (gst_value_deserialize):
10949         * gst/gstvalue.h:
10950         Add implementations for serialize.
10951
10952 2004-01-20  Julien MOUTTE  <julien@moutte.net>
10953
10954         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
10955         we want to keep that one in the future or change xvidenc.c to use 
10956         another error.
10957
10958 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10959
10960         * gst/gstelement.c: (_gst_element_error_printf):
10961         * gst/gstelement.h:
10962           privatise function
10963
10964 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10965
10966         * docs/random/error:
10967           doc explaining error system
10968         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10969           cleanup
10970
10971 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10972
10973         * gst/gst-i18n-app.h:
10974         * gst/gst-i18n-lib.h:
10975           remove inclusion of config.h
10976         * po/POTFILES.in:
10977         * po/nl.po:
10978           add gst/gstelement.c
10979
10980 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10981
10982         * po/nl.po: updated Dutch translation
10983
10984 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10985
10986         * gst/gsterror.c: (_gst_core_errors_init),
10987         (_gst_library_errors_init), (_gst_resource_errors_init),
10988         (_gst_stream_errors_init):
10989         remove ending punctuation dots
10990
10991 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10992
10993         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10994         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
10995         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10996         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10997         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10998         use GST_ERROR_SYSTEM
10999
11000 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11001
11002         * gst/gstelement.c: (gst_element_error_printf),
11003         (gst_element_error_extended):
11004         * gst/gstelement.h:
11005           add a helper printf function so we can have NULL values passed.
11006
11007 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11008
11009         * gst/gstelement.h:
11010           add G_STMT macros to gst_element_error, which isn't strictly
11011           necessary but people tell me to anyway.
11012
11013 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11014
11015         * gst/Makefile.am:
11016         * gst/autoplug/gstspideridentity.c:
11017         (gst_spider_identity_sink_loop_type_finding):
11018         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11019         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11020         (gst_filesink_close_file), (gst_filesink_handle_event),
11021         (gst_filesink_chain):
11022         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
11023         (gst_filesrc_map_region), (gst_filesrc_get_read),
11024         (gst_filesrc_open_file):
11025         * gst/elements/gstidentity.c: (gst_identity_chain):
11026         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11027         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11028         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11029         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
11030         * gst/gst.h:
11031         * gst/gst_private.h:
11032         * gst/gstelement.c: (gst_element_class_init),
11033         (gst_element_default_error), (gst_element_error_func),
11034         (gst_element_error_extended):
11035         * gst/gstelement.h:
11036         * gst/gsterror.c: (_gst_core_errors_init),
11037         (_gst_library_errors_init), (_gst_resource_errors_init),
11038         (_gst_stream_errors_init), (gst_error_get_message):
11039         * gst/gsterror.h:
11040         * gst/gstinfo.c: (_gst_debug_init):
11041         * gst/gstmarshal.list:
11042         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11043         (gst_pad_recover_caps_error), (gst_pad_pull):
11044         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11045         * gst/schedulers/gstbasicscheduler.c:
11046         (gst_basic_scheduler_chainhandler_proxy),
11047         (gst_basic_scheduler_gethandler_proxy),
11048         (gst_basic_scheduler_cothreaded_chain):
11049         * po/POTFILES.in:
11050         * po/fr.po:
11051         * po/nl.po:
11052           change error signal
11053           add error categories
11054
11055 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
11056
11057         * gst/gsttag.c: (_gst_tag_initialize):
11058         * gst/gsttag.h:
11059         Add replaygain tag
11060
11061 2004-01-18  Colin Walters  <walters@verbum.org>
11062
11063         * examples/retag/retag.c: Call gst_init before processing
11064         program args.  Add g_assert to _link_many call.
11065
11066 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11067
11068         * gst/gstpad.c: (gst_pad_alloc_buffer):
11069           Return a newly allocated buffer when the pad has no peer.
11070
11071 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11072
11073         * gst/gstclock.c: (gst_clock_get_time):
11074           make it compile with gcc 2.95 again.
11075           Patch by Scott Wheeler
11076
11077 2004-01-15  David Schleef  <ds@schleef.org>
11078
11079         * gst/gstcaps.h:
11080         Added gst_caps_is_simple() macro.
11081         * testsuite/caps/caps.c: (test1):
11082         * testsuite/caps/intersect2.c: (main):
11083         * testsuite/caps/intersection.c: (main):
11084         Fixes to make 'make check' work again after removing
11085         gst_caps_is_chained().
11086
11087 2004-01-15  Leif Johnson <leif@ambient.2y.net>
11088
11089         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
11090         and additions to the MIDI document.
11091
11092 2004-01-15  David Schleef  <ds@schleef.org>
11093
11094         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
11095         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
11096         of GST_RPAD_, since we don't know if it's a real or ghost pad.
11097
11098 2004-01-15  David Schleef  <ds@schleef.org>
11099
11100         * gst/gstqueue.c:
11101         * gst/gstqueue.h:
11102         Fix the spelling of "treshold" and make min_threshold actually
11103         affect the queue.
11104
11105 2004-01-15  David Schleef  <ds@schleef.org>
11106
11107         * gst/gstcaps.c:
11108         Add lots of documentation.
11109         * gst/gstcaps.h:
11110         Deprecate a few functions.
11111         * gst/gstpad.c:
11112         Removed use of deprecated functions.
11113
11114 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11115
11116         * gst/gstpad.c: (gst_pad_is_linked):
11117         * gst/gstpad.h:
11118           implement gst_pad_is_linked
11119         * gst/gstelement.h:
11120           reserve space for initiate_state_change
11121
11122 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11123
11124         * gst/autoplug/gstspideridentity.c:
11125         (gst_spider_identity_sink_loop_type_finding):
11126           break infinite loop by just returning instead of looping
11127         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
11128           set event time difference correctly. Set it to 1 second instead
11129           of 100ms to be more tolerant
11130         * gst/gstelement.c: (gst_element_set_time):
11131           add debugging output
11132
11133 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11134
11135         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
11136           query if buffers are inside the pool, ignore events
11137
11138 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11139
11140         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
11141         (gst_clock_set_speed), (gst_clock_set_active),
11142         (gst_clock_is_active), (gst_clock_reset),
11143         (gst_clock_handle_discont):
11144         * gst/gstclock.h:
11145           deprecate old interface and disable functions that aren't in use
11146           anymore.
11147         * gst/gstelement.h:
11148         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
11149         (gst_element_set_time), (gst_element_adjust_time):
11150           add concept of "element time" and functions to get/set this time.
11151         * gst/gstelement.c: (gst_element_change_state):
11152           update element time correctly.
11153         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11154           This is a debug message, not a g_critical.
11155         * gst/gstpad.c: (gst_pad_event_default):
11156           handle discontinuous events right with element time.
11157         * gst/gstscheduler.c: (gst_scheduler_state_transition):
11158           update to clocking fixes.
11159           set clocks on elements in READY=>PAUSED. The old behaviour caused
11160           a wrong element time on the first element that started playing.
11161         * gst/schedulers/gstbasicscheduler.c:
11162         (gst_basic_scheduler_class_init):
11163         * gst/schedulers/gstoptimalscheduler.c:
11164         (gst_opt_scheduler_class_init):
11165           remove code that just implements the default behaviour.
11166         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
11167           update to use new clocking functions
11168         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
11169         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
11170           update to test new element time.
11171         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
11172           use _get_allowed_caps instead of _get_caps. This catches filtered
11173           caps correctly.
11174         * testsuite/debug/commandline.c:
11175           update for new GST_DEBUG syntax.
11176         * testsuite/threads/Makefile.am:
11177           disable a test that only works sometimes.
11178
11179 2004-01-13  Julien MOUTTE <julien@moutte.net>
11180
11181         * po/LINGUAS: Adding fr.
11182         * po/fr.po: Adding french translation.
11183
11184 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11185
11186         * gst/parse/grammar.y:
11187         * po/POTFILES.in:
11188         * po/nl.po:
11189         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
11190           translate parsing error messages
11191
11192 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11193
11194         * po/POTFILES.in: adding gst-launch
11195         * po/nl.po: updated translation, all 99 strings translated
11196         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
11197         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
11198           fix strings for translation
11199
11200 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11201
11202         * gst/gst.c:
11203           - capitalize beginnings of popt options
11204           - fix strings for translation
11205           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
11206
11207 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11208
11209         * po/README: add some notes on how to update translations
11210
11211 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11212
11213         * ABOUT-NLS: removed, is autogenerated from autopoint
11214         * autogen.sh: add autopoint stuff
11215         * configure.ac: fix up gettext stuff
11216         * gst/Makefile.am: add i18n headers to noinst_HEADERS
11217         * gst/elements/gsttypefindelement.c: add header include
11218         * gst/gettext.h: add header, copy from system-installed header
11219         * gst/gst-i18n-app.h: to be included by each app having translations
11220         * gst/gst-i18n-lib.h: to be included by each lib having translations
11221         * gst/gst.c: (init_pre): fix up gettext calls
11222         * gst/gst_private.h: remove i18n stuff, moving to separate headers
11223         * po/LINGUAS: the new way to specify translations present
11224         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
11225         * po/Makevars: the variables filled in for GStreamer
11226         * po/POTFILES.in: added new files with translations
11227         * po/de.po: has new strings
11228         * po/nl.po: readded, has new strings
11229
11230 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11231
11232         * gst/gsttag.c: fix some strings marked for translation
11233
11234 2004-01-13  Iain <iain@prettypeople.org>
11235
11236         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
11237         group when we add an element to it, cos we unref it when we remove one
11238
11239 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11240
11241         * testsuite/debug/commandline.c: (debug_not_reached):
11242         * testsuite/debug/output.c: (check_message):
11243           fix testsuite
11244
11245 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11246
11247         * examples/cutter/.cvsignore:
11248         * examples/helloworld/.cvsignore:
11249         * examples/launch/.cvsignore:
11250         * examples/manual/.cvsignore:
11251         * examples/mixer/.cvsignore:
11252         * examples/pingpong/.cvsignore:
11253         * examples/plugins/.cvsignore:
11254         * examples/queue/.cvsignore:
11255         * examples/queue2/.cvsignore:
11256         * examples/queue3/.cvsignore:
11257         * examples/queue4/.cvsignore:
11258         * examples/retag/.cvsignore:
11259         * examples/thread/.cvsignore:
11260         * examples/typefind/.cvsignore:
11261         * examples/xml/.cvsignore:
11262         * gst/.cvsignore:
11263         * gst/autoplug/.cvsignore:
11264         * gst/elements/.cvsignore:
11265         * gst/indexers/.cvsignore:
11266         * gst/parse/.cvsignore:
11267         * gst/registries/.cvsignore:
11268         * gst/schedulers/.cvsignore:
11269         * libs/gst/bytestream/.cvsignore:
11270         * libs/gst/control/.cvsignore:
11271         * libs/gst/getbits/.cvsignore:
11272         * tests/.cvsignore:
11273         * tests/bufspeed/.cvsignore:
11274         * tests/instantiate/.cvsignore:
11275         * tests/memchunk/.cvsignore:
11276         * tests/muxing/.cvsignore:
11277         * tests/sched/.cvsignore:
11278         * tests/seeking/.cvsignore:
11279         * tests/threadstate/.cvsignore:
11280         * testsuite/.cvsignore:
11281         * testsuite/caps/.cvsignore:
11282         * testsuite/cleanup/.cvsignore:
11283         * testsuite/dynparams/.cvsignore:
11284         * testsuite/plugin/.cvsignore:
11285         * tools/.cvsignore:
11286           update - this is huge, because it includes *.bb, *.bbg and *.da files
11287           which are generated for gcov.
11288
11289 2004-01-11  David Schleef  <ds@schleef.org>
11290
11291         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
11292         a function to parse integers in ways that strto[u]l() does not.
11293
11294 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11295
11296         * tools/gst-inspect.c: (print_caps):
11297           improve output of caps a bit
11298
11299 2004-01-11  David Schleef  <ds@schleef.org>
11300
11301         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
11302         inherit correct flags (READONLY and DONTKEEP).
11303
11304 2004-01-11  David Schleef  <ds@schleef.org>
11305
11306         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
11307         (gst_filesrc_map_region):
11308         * gst/gstbuffer.c: (_gst_buffer_initialize),
11309         (_gst_buffer_sub_free), (gst_buffer_default_copy),
11310         (gst_buffer_new), (gst_buffer_create_sub),
11311         (gst_buffer_is_span_fast), (gst_buffer_span):
11312         * gst/gstbuffer.h:
11313         Change GstBuffer private structure element names. (all files)
11314         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11315         (gst_queue_link):
11316         * gst/gstqueue.h:
11317         Implement getcaps/pad_link functions that handle the case where
11318         there are data in the queue.
11319
11320 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11321
11322         * gst/elements/gstbufferstore.c:
11323           initialize debugging structure correctly
11324         * gst/elements/gsttee.c: (gst_tee_set_property):
11325           g_object_notify when property was changed
11326         * gst/elements/gsttypefindelement.c:
11327         (gst_type_find_element_change_state):
11328           clear caps correctly
11329
11330 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11331
11332         * gst/gstqueue.c: (gst_queue_init):
11333           Use better defaults for when a queue should block. This
11334           gets rid of jerky playback for quite a few files.
11335           It takes more memory.
11336
11337 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11338
11339         (gst_xml_registry_parse_padtemplate):
11340           make critical message slightly more useful
11341
11342 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11343
11344         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
11345         (gst_debug_message_get), (gst_debug_log_default):
11346         * gst/gstinfo.h:
11347           Change gst_debug_log(_valist) to take a const format string.
11348           Change prototype of log function and functions using those to 
11349           take a GstDebugMessage instead of a string that requires using
11350           gst_debug_message_get.
11351
11352 2004-01-08  David Schleef  <ds@schleef.org>
11353
11354         * Makefile.am:
11355         * configure.ac:
11356         Add option --enable-gcov to build GStreamer with -fprofile-arcs
11357         and -ftest-coverage, which allows gcov to show information about
11358         testsuite coverage.
11359
11360 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11361
11362         * gst/gstutils.h:
11363           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
11364           GST_PARENT_CALL_WITH_DEFAULT
11365         * gst/elements/gstaggregator.c: 
11366         * gst/elements/gstbufferstore.c: 
11367         * gst/elements/gstfakesink.c: 
11368         * gst/elements/gstfakesrc.c: 
11369         * gst/elements/gstfdsink.c: 
11370         * gst/elements/gstfdsrc.c: 
11371         * gst/elements/gstfilesink.c: 
11372         * gst/elements/gstfilesrc.c: 
11373         * gst/elements/gstidentity.c: 
11374         * gst/elements/gstmd5sink.c: 
11375         * gst/elements/gstmultidisksrc.c:
11376         * gst/elements/gstpipefilter.c: 
11377         * gst/elements/gstshaper.c:
11378         * gst/elements/gststatistics.c:
11379         * gst/elements/gsttee.c:
11380         * gst/elements/gsttypefindelement.c:
11381           use them.
11382
11383 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11384
11385         * docs/gst/gstreamer-docs.sgml: remove props
11386         * docs/gst/gstreamer-sections.txt: remove props
11387         * docs/gst/tmpl/gst.sgml:
11388         * docs/gst/tmpl/gstbin.sgml:
11389         * docs/gst/tmpl/gstbuffer.sgml:
11390         * docs/gst/tmpl/gstcaps.sgml:
11391         * docs/gst/tmpl/gstclock.sgml:
11392         * docs/gst/tmpl/gstelement.sgml:
11393         * docs/gst/tmpl/gstindex.sgml:
11394         * docs/gst/tmpl/gstobject.sgml:
11395         * docs/gst/tmpl/gstpad.sgml:
11396         * docs/gst/tmpl/gstpadtemplate.sgml:
11397         * docs/gst/tmpl/gstreamer-unused.sgml:
11398         * docs/gst/tmpl/gstthread.sgml:
11399         * docs/gst/tmpl/gstxml.sgml:
11400           sync with code reorganization
11401
11402 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
11403
11404         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11405         Make the 'Could not find compatible pad' message more informative.
11406
11407 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11408                                                                                 
11409         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
11410           Fix for if we pass NULL as property to location.
11411         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
11412         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
11413           Fix for instantiate-test (see below).
11414         * gst/gststructure.c: (_gst_structure_parse_value):
11415           Fix compile error on gcc-2.96.
11416         * configure.ac:
11417         * tests/Makefile.am:
11418         * tests/instantiate/Makefile.am:
11419         * tests/instantiate/create.c: (create_all_elements), (main):
11420           Add a test that instantiates all elements. This makes it easy to
11421           track dead code for old API/design (like setting event functions
11422           on sink pads and so on).
11423
11424 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
11425
11426         * gst/gstcaps.c: (gst_caps_append_structure):
11427           Move the poisoning to allow a NULL structure
11428         * gst/gstevent.c: (_gst_event_free):
11429           When freeing a navigation event, free the structure
11430           also
11431
11432 2004-01-04  David Schleef  <ds@schleef.org>
11433
11434         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11435         Remove usage of gst_pad_proxy_fixate.
11436         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
11437         (gst_caps_split_one), (gst_caps_replace):
11438         Add poisoning code.
11439         * gst/gstmarshal.list:
11440         Add pointer__pointer for fixate signal
11441         * gst/gstpad.c: (gst_real_pad_class_init),
11442         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11443         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
11444         (gst_pad_set_explicit_caps), (gst_pad_template_new):
11445         Add poisoning code. Add fixate signal on RealPad. Change
11446         set_explicit_caps() to take const GstCaps, like try_set_caps().
11447         * gst/gstpad.h:
11448         * testsuite/caps/Makefile.am:
11449         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
11450
11451 2004-01-03  David Schleef  <ds@schleef.org>
11452
11453         * gst/elements/gsttypefindelement.c:
11454         (gst_type_find_element_have_type), (gst_type_find_element_init):
11455         Use gst_pad_use_explicit_caps for src pad.
11456         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
11457         before using it.
11458
11459 2004-01-03  David Schleef  <ds@schleef.org>
11460
11461         * gst/gstelement.c: (gst_element_link_pads_filtered),
11462         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
11463         that linking was successful.
11464         * gst/gstpad.c: (gst_pad_link_free),
11465         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
11466         (gst_pad_link_try), (gst_pad_link_unnegotiate),
11467         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
11468         GstPadLinkReturn correctly between functions, and don't fail
11469         when DELAYED is used (DELAYED is very important).  Better
11470         cleanup on unlinking and unnegotiation.  Should fix some spider
11471         bugs.
11472
11473 2004-01-02  David Schleef  <ds@schleef.org>
11474
11475         * gst/gstelement.c: (gst_element_class_init),
11476         (gst_element_base_class_init): ->padtemplates should be cleared
11477         in base_init, since we need to have a fresh list for every
11478         class.  (Alternately, we chould copy the list and share the
11479         actual pad templates (not the list), but that would require
11480         changing every plugin to move pad template registration from
11481         base_init to class_init.)
11482
11483 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11484
11485         * gst/gstelement.c: (gst_element_class_add_pad_template):
11486           Refuse registering a pad template if another pad template
11487           with the same name already exists (#114715).
11488
11489 2004-01-02  David Schleef  <ds@schleef.org>
11490
11491         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
11492         (gst_caps_is_equal_fixed): Add new function.
11493         * gst/gstcaps.h: ditto.
11494         * gst/gstpad.c: (gst_real_pad_class_init),
11495         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
11496         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
11497         check new caps against existing caps -- if they're the same, return
11498         OK without renegotiating.  caps-nego-failed signal fixed so that
11499         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
11500         to save an extra caps copy.  Don't complete negotiation if a pad
11501         link function returns DELAYED.
11502
11503 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11504
11505         * gst/gstpad.c: (gst_pad_try_relink_filtered):
11506           Fix wrong g_return_if_fail
11507
11508 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
11509
11510         * gst/gstbin.c: (gst_bin_class_init):
11511         Change the marshalling of element_added/element_removed
11512         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
11513         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
11514
11515 2004-01-01  David Schleef  <ds@schleef.org>
11516
11517         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11518         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
11519         (gst_pad_use_explicit_caps):
11520         * gst/gstpad.h:
11521         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
11522         to use an internal getcaps and link fuction so that negotiation
11523         always results in the explicitly set caps.
11524         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
11525         are particularly useful for decoders.
11526
11527 2003-12-31  David Schleef  <ds@schleef.org>
11528
11529         * gst/elements/gstidentity.c: (gst_identity_class_init),
11530         (gst_identity_init), (gst_identity_chain),
11531         (gst_identity_set_property), (gst_identity_get_property):
11532         * gst/elements/gstidentity.h:
11533         * gst/gstqueue.c: (gst_queue_init):
11534           Negotiation fixes.
11535
11536 2003-12-31  David Schleef  <ds@schleef.org>
11537
11538         * gst/gstcaps.c: (gst_caps_intersect),
11539         (_gst_caps_normalize_foreach), (gst_caps_normalize):
11540           Implement gst_caps_normalize().
11541         * testsuite/caps/normalisation.c: (main):
11542           Add an additional test
11543
11544 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11545
11546         * gst/gstqueue.c: (gst_queue_init):
11547           use gst_pad_proxy_getcaps()
11548
11549 2003-12-31  David Schleef  <ds@schleef.org>
11550
11551         * gst/elements/gstshaper.c: (gst_shaper_link):
11552         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11553         * gst/gstqueue.c: (gst_queue_link):
11554           Negotiation fixes.
11555
11556 2003-12-31  David Schleef  <ds@schleef.org>
11557
11558         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
11559         * gst/gstpad.h: Add functions that are useful as default pad
11560         link and fixate functions for elements.
11561
11562 2003-12-30  David Schleef  <ds@schleef.org>
11563
11564         * gst/gstpad.c: (gst_pad_link_try):
11565           Fix segfault when attempting to return to old caps
11566
11567 2003-12-29  David Schleef  <ds@schleef.org>
11568
11569         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
11570         (gst_caps_structure_simplify), (gst_caps_simplify):
11571         * gst/gstcaps.h:
11572           Add simplify function
11573         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
11574         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
11575         * gst/gstpad.h:
11576           Copy over srcnotify, sinknotify when calling old pad_link
11577           functions.  Add new is_negotiated() function.
11578         * gst/gststructure.c: (gst_structure_copy):
11579           Fix an incredibly stupid bug that should have been noticed
11580           weeks ago.  _copy() returned the argument, not the new copy.
11581
11582 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11583
11584         * gst/gstcaps.c: (gst_caps_append):
11585           add sanity checks
11586         * gst/gstcaps.h: (gst_caps_debug):
11587           remove, it doesn't exist anymore.
11588         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
11589         (gst_element_threadsafe_properties_post_run):
11590           make debugging messages not clutter up THREAD debug category
11591         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
11592         (gst_element_change_state):
11593           update to new caps API
11594         * gst/gstinterface.c: (gst_implements_interface_cast):
11595           don't put vital code in g_return_if_fail
11596         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
11597         (gst_pad_link_filtered):
11598           add pst_pad_try_link and use it.
11599         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
11600           implement correctly, deprecate first one.
11601         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
11602           add and implement.
11603         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
11604           implement.
11605         (gst_pad_get_negotiated_caps):
11606           add and implement. Make GST_PAD_CAPS call this function.
11607         (gst_pad_get_caps):
11608           remove unneeded check..
11609         (gst_pad_recover_caps_error):
11610           disable, always return FALSE.
11611         (gst_real_pad_dispose):
11612           don't free caps and appfilter anymore, they're unused.
11613         * gst/gstpad.h:
11614           Reflect changes mentioned above.
11615         * gst/gstsystemclock.c: (gst_system_clock_wait):
11616           Make 'clock is way behind' a debugging message.
11617         * gst/gstthread.c: (gst_thread_change_state):
11618           Fix debugging message
11619
11620 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11621
11622         * gst/gstinfo.h:
11623           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
11624         * docs/gst/tmpl/gstreamer-unused.sgml:
11625           removed all traces of cvs conflicts
11626
11627 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11628
11629         * configure.ac:
11630         * gst/schedulers/cothreads_compat.h:
11631         * libs/Makefile.am:
11632           remove last instances of wingo cothread usage
11633
11634 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11635
11636         * gst/gstplugin.c:
11637         * gst/gstversion.h.in:
11638         * gst/parse/grammar.y:
11639           change comment block from /** to /* when not gtk-doc comments
11640
11641 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11642
11643         * gst/gst.c: whitespace and doc style fixes
11644
11645 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11646
11647         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
11648
11649 2003-12-24  Colin Walters  <walters@verbum.org>
11650
11651         * gst/elements/gsttypefindelement.c:
11652           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
11653           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
11654           Don't double-free caps.
11655
11656 2003-12-23  David Schleef  <ds@schleef.org>
11657
11658         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
11659           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
11660           Many little fixes and additions of debug statements to
11661           get rhythmbox working.
11662
11663 2003-12-23  Colin Walters  <walters@verbum.org>
11664
11665         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
11666         Use GST_PAD_LINK_SUCCESSFUL.
11667
11668 2003-12-23  David Schleef  <ds@schleef.org>
11669
11670         * gst/elements/gstaggregator.c:
11671         * gst/elements/gsttee.c:
11672           Use gst_pad_proxy_getcaps().
11673         * gst/gstpad.c:
11674         * gst/gstpad.h:
11675           Add gst_pad_proxy_getcaps(), which filter elements can use
11676           as a generic getcaps implementation.
11677           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
11678           was advertised.
11679
11680 2003-12-23  David Schleef  <ds@schleef.org>
11681
11682         * gst/gstpad.c:
11683           Rearrange/rewrite much of the pad negotiation code, since it
11684           resembled pasta.  This actually changes the way some
11685           negotiation works, since the previous code was inconsistent
11686           depending on how it was invoked.  Add (internal) structure
11687           GstPadLink, which is used to hold some information (more in
11688           the future) about the link between two pads.  Fixes a number
11689           of bugs, including random lossage of filter caps when the
11690           initial negotiation is delayed.  A few functions are still
11691           unimplemented.
11692         * gst/gstpad.h:
11693           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
11694           these when testing GstPadLinkReturn values instead of comparing
11695           directly.
11696
11697 2003-12-23  David Schleef  <ds@schleef.org>
11698
11699         * gst/gstvalue.c: 
11700         * gst/gstvalue.h:
11701           Rearrange lots of code.  Change registration of compare function
11702           into registration of compare/serialize/deserialize functions.
11703           Doesn't include implementation of gst_value_[de]serialize(),
11704           but that should be easy.
11705
11706 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11707
11708         * docs/gst/gstreamer-sections.txt:
11709         * docs/gst/tmpl/gstprops.sgml: removed
11710         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
11711           David removed props and caps code, so let's remove their docs as well.
11712           Removed all no longer existing symbols from gstreamer-sections.txt
11713           
11714 2003-12-22  Colin Walters  <walters@verbum.org>
11715
11716         * gst/gsttaginterface.c, gst/gsttaginterface.h,
11717           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
11718           of tags directly.
11719
11720 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11721
11722         * gst/elements/gstelements.c:
11723           Set ranks of elements to NONE, so the autoplugger doesn't use them.
11724         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
11725           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
11726           gst_caps (peer).
11727
11728 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11729
11730         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11731         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
11732         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
11733         (gst_spider_identity_sink_loop_type_finding):
11734         * gst/autoplug/gstspideridentity.h:
11735           Fix autoplugging in spider element, so it works with new caps.
11736           This was mainly caused by identifying empty caps incorrectly.
11737
11738 2003-12-22  David Schleef  <ds@schleef.org>
11739
11740         * gststructure.c, gstvalue.c, gstvalue.h: Add
11741           gst_value_init_and_copy() and use it, to avoid silly mistakes in
11742           using g_value_copy()
11743
11744 2003-12-21  David Schleef  <ds@schleef.org>
11745
11746         * many, many files: Merge CAPS branch.  This includes:
11747           - implemention of GstValue and several GstValue types
11748           - implemention of GstStructure
11749           - entire rewrite of GstCaps
11750           - removal of GstProps
11751           - many changes to GstPad to compensate for new caps paradigm
11752           - removal of GstBufferpool
11753         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
11754         gstvalue.h, gst/gstcaps[2]*.[ch]:
11755           - rename gstcaps2.[ch] to gstcaps.[ch]
11756
11757 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11758
11759         * gst/gstqueue.c: (gst_queue_handle_pending_events),
11760         (gst_queue_chain), (gst_queue_handle_src_event):
11761           implement timeout for sending events. Workaround for if the
11762           pipeline on this queue is not passing any data.
11763
11764 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
11765                                                                                 
11766         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
11767         * moved CVS to freedesktop.org
11768