gst/base/gstbasesink.c: We are actually prerolling before commiting the state change.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-06-29  Wim Taymans  <wim@fluendo.com>
2
3         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4         We are actually prerolling before commiting the state
5         change. 
6
7 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8
9         * docs/manual/advanced-clocks.xml:
10         * docs/manual/advanced-interfaces.xml:
11         * docs/manual/advanced-metadata.xml:
12         * docs/manual/advanced-position.xml:
13         * docs/manual/advanced-schedulers.xml:
14         * docs/manual/advanced-threads.xml:
15         * docs/manual/appendix-porting.xml:
16         * docs/manual/basics-bins.xml:
17         * docs/manual/basics-bus.xml:
18         * docs/manual/basics-elements.xml:
19         * docs/manual/basics-helloworld.xml:
20         * docs/manual/basics-pads.xml:
21         * docs/manual/highlevel-components.xml:
22         * docs/manual/manual.xml:
23         * docs/manual/thread.fig:
24           Update (until threads/scheduling) Application Development Manual;
25           remove GstThread, add GstBus, add simple porting checklist, add
26           documentation for tag writing, clocks, make all examples until this
27           part compile and run.
28         * examples/manual/Makefile.am:
29           Update from changes to Application Development Manual; add bus
30           example, remove thread example.
31
32 2005-06-28  Wim Taymans  <wim@fluendo.com>
33
34         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
35         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
36         (gst_bus_source_dispatch):
37         Add debugging messages.
38         Make internal methods static.
39         Handle the case where the bus is flushed in the handler.
40         
41         * gst/gstelement.c: (gst_element_get_bus):
42         Fix refcount in _get_bus();
43
44         * gst/gstpipeline.c: (gst_pipeline_change_state),
45         (gst_pipeline_get_clock_func):
46         Clock refcounting fixes.
47         Handle the case where preroll timed out more gracefully.
48         
49         * gst/gstsystemclock.c: (gst_system_clock_dispose):
50         Clean up the internal thread in dispose. This is needed
51         for subclasses that actually get disposed.
52         
53         * gst/schedulers/threadscheduler.c:
54         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
55         (gst_thread_scheduler_dispose):
56         Free thread pool in dispose.
57
58 2005-06-28  Andy Wingo  <wingo@pobox.com>
59
60         * tests/network-clock-utils.scm (debug, print-event): New utils.
61
62         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
63         (*packet-loss*): Unified loss probability.
64         (network-time): Report out-of-band events.
65
66         * tests/plot-data: Add support for out-of-band events. Hack it
67         into this script instead of passing it down the pipe; should fix
68         this later.
69
70 2005-06-28  Wim Taymans  <wim@fluendo.com>
71
72         * docs/gst/gstreamer.types:
73         * docs/gst/tmpl/gstbasesrc.sgml:
74         * docs/gst/tmpl/gstpad.sgml:
75         Docs fixes.
76
77 2005-06-28  Wim Taymans  <wim@fluendo.com>
78
79         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
80         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
81         (gst_proxy_pad_do_fixatecaps):
82         Correctly proxy the check_pull_range function.
83
84 2005-06-28  Andy Wingo  <wingo@pobox.com>
85
86         * tests/network-clock.scm: Removed need for slib.
87         
88 2005-06-28  Wim Taymans  <wim@fluendo.com>
89
90         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
91         (gst_basesink_preroll_queue_flush):
92         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
93         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
94         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
95         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
96         (gst_proxy_pad_set_property):
97         * gst/gstpad.c:
98         * gst/gstpad.h:
99         * gst/gstqueue.c: (gst_queue_init):
100         The deprecated pad loop function is removed now.
101
102 2005-06-28  Andy Wingo  <wingo@pobox.com>
103
104         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
105         New parameters, simulate network packet loss.
106
107         * tests/network-clock-utils.scm: Initialize the RNG.
108
109 2005-06-28  Wim Taymans  <wim@fluendo.com>
110
111         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
112         (gst_basesink_event), (gst_basesink_deactivate):
113         Flushing the preroll queue always needs to unlock the waiters.
114
115 2005-06-28  Edward Hervey  <edward@fluendo.com>
116
117         * gst/gstpipeline.c: (gst_pipeline_send_event): 
118         Wheen a seek was successful on a pipeline, set the stream_time to the
119         seek offset in order to have a synchronized stream_time.
120
121 2005-06-28  Wim Taymans  <wim@fluendo.com>
122
123         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
124         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
125         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
126         (gst_proxy_pad_do_fixatecaps):
127         Call wrapper function instead of just calling the function
128         pointers. This takes care of any locking and whatmore.
129
130 2005-06-28  Wim Taymans  <wim@fluendo.com>
131
132         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
133         (gst_pad_pull_range):
134         * gst/gstpad.h:
135         CONNECTED -> LINKED.
136
137 2005-06-28  Andy Wingo  <wingo@pobox.com>
138
139         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
140         source-munging commit!!!
141
142         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
143         (gst_object_sink): Take gpointer arguments, not GstObject --
144         avoids casts. Like GLib.
145
146         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
147         activate.
148
149 2005-06-27  Andy Wingo  <wingo@pobox.com>
150
151         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
152         remaining buffer.
153
154         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
155         returns a sorted copy of the trace list.
156         (gst_alloc_trace_print_live): New API, only prints traces with
157         live objects. Sort the list.
158         (gst_alloc_trace_print_all): Sort the list.
159         (gst_alloc_trace_print): Align columns.
160
161         * gst/elements/gstttypefindelement.c:
162         * gst/elements/gsttee.c:
163         * gst/base/gstbasesrc.c:
164         * gst/base/gstbasesink.c:
165         * gst/base/gstbasetransform.c:
166         * gst/gstqueue.c: Adapt for pad activation changes.
167
168         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
169         sched.
170         (gst_pipeline_dispose): Drop ref on sched.
171
172         * gst/gstpad.c (gst_pad_init): Set the default activate func.
173         (gst_pad_activate_default): Push mode by default.
174         (pre_activate_switch, post_activate_switch): New stubs, things to
175         do before and after switching activation modes on pads.
176         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
177         the pad's activate function to choose which mode to activate.
178         Shortcut on deactivation and call the right function directly.
179         (gst_pad_activate_pull): New API, (de)activates a pad in pull
180         mode.
181         (gst_pad_activate_push): New API, same for push mode.
182         (gst_pad_set_activate_function) 
183         (gst_pad_set_activatepull_function) 
184         (gst_pad_set_activatepush_function): Setters for new API.
185
186         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
187         Trace all miniobjects.
188         (gst_mini_object_make_writable): Unref the arg if we copy, like
189         gst_caps_make_writable.
190
191         * gst/gstmessage.c (_gst_message_initialize): No trace init.
192
193         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
194         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
195         Adapt for new pad API.
196
197         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
198
199         * gst/gstelement.h:
200         * gst/gstelement.c (gst_element_iterate_src_pads) 
201         (gst_element_iterate_sink_pads): New API functions.
202         
203         * gst/gstelement.c (iterator_fold_with_resync): New utility,
204         should fold into gstiterator.c in some form.
205         (gst_element_pads_activate): Simplified via use of fold and
206         delegation of decisions to gstpad->activate.
207
208         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
209         help in debugging.
210
211         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
212         class once in init, like gstmessage. Didn't run into this issue
213         but it seems correct. Don't initialize a trace, gstminiobject does
214         that.
215
216         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
217         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
218         to the bus.
219         (assert_live_count): New util function, uses alloc traces to check
220         cleanup.
221
222         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
223         To be modified when unlink drops the internal pad.
224
225 2005-06-27  Wim Taymans  <wim@fluendo.com>
226
227         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
228         (gst_bin_change_state):
229         Cleanup the get_state() function a little, make sure it
230         iterates the same set of elements.
231         Added stub iterate_state_order().
232
233 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
234
235         * docs/gst/gstreamer-docs.sgml:
236         * docs/gst/gstreamer-sections.txt:
237         * docs/gst/gstreamer.types:
238         * docs/gst/tmpl/gstbasesink.sgml:
239         * docs/gst/tmpl/gstbasesrc.sgml:
240         * docs/gst/tmpl/gstbasetransform.sgml:
241         * docs/gst/tmpl/gstelement.sgml:
242         * docs/gst/tmpl/gstiterator.sgml:
243         * gst/base/gstbasesrc.c:
244         * gst/base/gstbasesrc.h:
245         * gst/base/gstbasetransform.h:
246         * gst/gstelement.c:
247         * gst/gstiterator.h:
248           adding basetransform and iterator docs
249
250 2005-06-27  Andy Wingo  <wingo@pobox.com>
251
252         * docs/design/part-activation.txt: Notes on how activation should
253         work -- not quite implemented yet.
254
255 2005-06-25  Wim Taymans  <wim@fluendo.com>
256
257         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
258         At least get the chain function correct, needs more
259         fixing.
260
261 2005-06-25  Wim Taymans  <wim@fluendo.com>
262
263         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
264         (gst_basesink_handle_object), (gst_basesink_event),
265         (gst_basesink_do_sync), (gst_basesink_handle_event),
266         (gst_basesink_change_state):
267         * gst/gsttask.h:
268         Right, two problems here: ghostpads don't take locks and
269         glib _rec_mutex_lock_full() with depth==0 still locks.
270         Catch illegal locking and g_warn them.
271
272 2005-06-25  Wim Taymans  <wim@fluendo.com>
273
274         * check/states/sinks.c: (START_TEST), (gst_object_suite):
275         Have to check for completion now...
276
277 2005-06-25  Wim Taymans  <wim@fluendo.com>
278
279         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
280         (gst_basesink_handle_object), (gst_basesink_event),
281         (gst_basesink_do_sync), (gst_basesink_handle_event),
282         (gst_basesink_change_state):
283         * gst/gstpad.h:
284         Unlock STREAM_LOCK whatever the recursion was.
285
286 2005-06-25  Wim Taymans  <wim@fluendo.com>
287
288         * gst/base/gstbasesink.c: (gst_basesink_set_property),
289         (gst_basesink_preroll_queue_empty),
290         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
291         (gst_basesink_event), (gst_basesink_do_sync),
292         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
293         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
294         (gst_basesink_change_state):
295         Reworked the base sink, handle event and buffer serialisation
296         correctly and removed possible deadlock.
297         Handle EOS correctly.
298
299 2005-06-25  Wim Taymans  <wim@fluendo.com>
300
301         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
302         (gst_pipeline_change_state):
303         * tools/gst-launch.c: (check_intr), (event_loop), (main):
304         Allow elements to post EOS in the state change function.
305         Fix up -launch, make it exit the poll loop when the
306         pipeline actually changed state.
307         Fix up warning parsing in -launch.
308
309 2005-06-25  Wim Taymans  <wim@fluendo.com>
310
311         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
312         (gst_tee_sink_activate):
313         Core takes STREAM_LOCK for us now.
314
315 2005-06-25  Wim Taymans  <wim@fluendo.com>
316
317         * gst/gstelement.c: (gst_element_get_state_func),
318         (gst_element_set_state):
319         * gst/gstelement.h:
320         * gst/gstmessage.c: (gst_message_parse_error),
321         (gst_message_parse_warning):
322         Keep track of current target state while performing a state
323         change so that subclasses can do something interesting.
324         Fix parsing of warning/error messages when GError is NULL.
325
326 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
327
328         * docs/gst/Makefile.am:
329         * docs/gst/gstreamer-docs.sgml:
330         * docs/gst/gstreamer-sections.txt:
331         * docs/gst/gstreamer.types:
332         * docs/gst/tmpl/gstbasesink.sgml:
333         * docs/gst/tmpl/gstbasesrc.sgml:
334         * docs/gst/tmpl/gstbin.sgml:
335         * docs/gst/tmpl/gstcompat.sgml:
336         * docs/gst/tmpl/gstfakesink.sgml:
337         * docs/gst/tmpl/gstfakesrc.sgml:
338         * docs/gst/tmpl/gstfilesink.sgml:
339         * docs/gst/tmpl/gstfilesrc.sgml:
340         * docs/gst/tmpl/gstindex.sgml:
341         * docs/manual/appendix-quotes.xml:
342         * gst/base/gstbasesrc.h:
343         * gst/elements/gstfakesrc.h:
344         * gst/gstmessage.h:
345           start pulling in base classes and elements in our docs
346
347 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
348
349         * docs/gst/Makefile.am:
350         * docs/libs/Makefile.am:
351           fixed make distcheck with gtk-doc 1.3
352
353 2005-06-23  Wim Taymans  <wim@fluendo.com>
354
355         * gst/gstelement.c: (gst_element_get_state_func),
356         (gst_element_set_state), (gst_element_change_state):
357         When the state did not change, also report NO_PREROLL
358         when it matters.
359
360 2005-06-23  Wim Taymans  <wim@fluendo.com>
361
362         * gst/gstpad.c: (gst_pad_event_default):
363         * gst/gstqueue.c: (gst_queue_loop):
364         No unsafe task pausing please.
365
366 2005-06-23  Wim Taymans  <wim@fluendo.com>
367
368         * gst/schedulers/threadscheduler.c:
369         (gst_thread_scheduler_task_start),
370         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
371         Ref the task before pushing it on the threadpool. This
372         makes sure that we have a ref when the threadfunction is
373         actually called.
374
375 2005-06-23  Andy Wingo  <wingo@pobox.com>
376
377         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
378         offset is greater than the file's size.
379
380         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
381         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
382         * gst/gstobject.c (gst_object_class_init): Make the class lock
383         recursive. Wim won't let me drop deep_notify. Decodebin works
384         again, whoopdy doo.
385
386         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
387         internal pad, and hacks accordingly. Doesn't do it on the target
388         pad because we change its caps. Probably catches all cases of
389         interest tho.
390         (gst_ghost_pad_set_property): Connect to notify::caps as
391         appropritate.
392
393         * tests/network-clock.scm (plot-simulation): Pipe data to the
394         elite python skript.
395
396         * tests/network-clock-utils.scm (define-parameter): New macro,
397         defines a parameter that can be set via the command line.
398         (set-parameter!, parse-parameter-arguments): Command line args
399         parser.
400
401         * tests/plot-data: Simple matplotlib-based plotter, takes input on
402         stdin.
403
404 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
405
406         * gst/elements/gsttypefindelement.c:
407         (gst_type_find_element_handle_event):
408           Don't restart typefinding on a discont.
409         * gst/gstelement.c: (gst_element_set_state):
410           Debug spelling fix.
411         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
412           Allow changing mode of an active pad.
413           Debug output fixes.
414         * gst/registries/gstlibxmlregistry.c: (load_feature):
415           Don't cast a static pad template to a normal pad template.
416
417 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
418
419         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
420         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
421           remove gst_strtoll completely, since it didn't actually do
422           anything more than what g_ascii_strtoull already does.
423           check for range errors when deserializing
424           do a cast for the unsigned cases; but further fixing needs
425           a decision on what the interpretation of "(int)" and
426           deserialization should be for values that fall outside the
427           type's boundaries (ie, refuse, or interpret as casting)
428
429 2005-06-23  Wim Taymans  <wim@fluendo.com>
430
431         * check/Makefile.am:
432         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
433         * docs/design/part-live-source.txt:
434         * docs/design/part-states.txt:
435         * gst/base/gstbasesrc.c: (gst_basesrc_init),
436         (gst_basesrc_set_live), (gst_basesrc_is_live),
437         (gst_basesrc_get_range), (gst_basesrc_activate),
438         (gst_basesrc_change_state):
439         * gst/base/gstbasesrc.h:
440         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
441         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
442         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
443         * gst/gstelement.c: (gst_element_get_state_func),
444         (gst_element_set_state):
445         * gst/gstelement.h:
446         * gst/gsttypes.h:
447         * tools/gst-launch.c: (event_loop), (main):
448         Added support for live sources and other elements that
449         cannot do preroll.
450         Updated design docs, added live-source design doc.
451         Implemented live source functionality in basesrc
452         Fix error condition in _bin_get_state()
453         Implement live source handling in -launch.
454         Added check for live sources.
455         Fixed case in GstBin where elements were changed state
456         multiple times.
457
458
459 2005-06-23  Andy Wingo  <wingo@pobox.com>
460
461         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
462         borken refcounting.
463
464         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
465         gst_caps_replace takes care of this for us.
466
467         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
468         gst_pad_set_caps on the target, not just its setcaps() function.
469
470         * tests/network-clock.scm: 
471         * tests/network-clock-utils.scm: A network clock simulator.
472         Something of an algorithmic testbed before doing something in C.
473
474 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
475
476         * check/Makefile.am:
477         * check/gst/capslist.h:
478           copy over from 0.8, and add two with bitmasks specified with
479           (int) 0xFF...
480         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
481           add test to parse everything from capslist.h
482         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
483         (main):
484           add test for structure deserialization
485         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
486           add tests for deserialization of strings to int types
487         * gst/gststructure.c: (gst_structure_nth_field_name):
488         * gst/gststructure.h:
489           add a way to get the name of a field referenced by index
490         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
491           instead of checking if the resulting long long lies between
492           min and max, we check if the long long would fit into
493           a number of bytes for the final type.
494           This fixes cases where a string represents 2^32 - 1, which
495           when cast to int would be the (valid) -1, but is bigger than
496           G_MAXINT
497
498 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
499
500         * gst/parse/grammar.y:
501           add a log line for type deserialization
502
503 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
504
505         * check/gst/gstvalue.c: (START_TEST):
506         * gst/gstvalue.c: (gst_value_deserialize):
507           return long long, not int, so gint64 deserialization actually
508           works.  Is there any flag that makes the compiler check this ?
509           Fixes #308559
510
511 2005-06-22  Wim Taymans  <wim@fluendo.com>
512
513         * gst/gstbuffer.h:
514         Added convenience macros for setting buffers in GValue.
515
516 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
517
518         * check/gst/.cvsignore:
519         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
520           add a test deserializing int64, and comment part out because
521           it fails, yay !
522
523 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
524
525         * check/Makefile.am:
526         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
527         * testsuite/Makefile.am:
528         * testsuite/caps/Makefile.am:
529         * testsuite/caps/value_serialize.c:
530         * testsuite/test_gst_init.c:
531           move a value_serialize test over
532
533 2005-06-20  Wim Taymans  <wim@fluendo.com>
534
535         * gst/gstpad.c:
536         Small doc updates.
537         
538         * gst/gstvalue.c: (gst_value_compare_buffer),
539         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
540         (gst_value_compare_flags), (gst_value_serialize_flags),
541         (gst_value_deserialize_flags), (_gst_value_initialize):
542         Fix serialisation of buffers, they are not boxed types anymore
543
544 2005-06-20  Wim Taymans  <wim@fluendo.com>
545
546         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
547         Testcase to show error in buffer-on-caps serialisation.
548
549 2005-06-20  Andy Wingo  <wingo@pobox.com>
550
551         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
552         will be adding to later.
553
554         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
555         if its socks fill with rocks.
556         (gst_system_clock_obtain): Set the name on object construction.
557         Avoid double-checked locking.
558
559 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
560
561         * gst/gsturi.c: (gst_element_make_from_uri):
562           Fix potential endless loop.
563
564 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
565
566         * check/Makefile.am:
567           add gsttag
568         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
569         (main):
570           move over from testsuite dir and clean up
571         * configure.ac:
572         * gst/gsttag.c:
573         * testsuite/Makefile.am:
574         * testsuite/tags/.cvsignore:
575         * testsuite/tags/Makefile.am:
576         * testsuite/tags/merge.c:
577           remove testsuite/tags
578
579 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
580
581         * docs/gst/gstreamer-sections.txt:
582         * docs/gst/tmpl/gstenumtypes.sgml:
583         * win32/gstenumtypes.c:
584           clean up documentation build a little
585
586 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
587
588         * check/gstcheck.h:
589           add macros for checking refcounts on objects and caps
590         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
591           add some more unit tests
592         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
593         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
594           fix leaked refcounts (I hope :)) so unittest works
595         * gst/gstpad.h:
596           whitespace removal
597
598 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
599
600         * configure.ac: back to HEAD
601
602 === release 0.9.1 ===
603
604 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
605
606         * NEWS:
607         * RELEASE:
608           updated
609
610 2005-06-17  Andy Wingo  <wingo@pobox.com>
611
612         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
613         assert; it's always possible that the pad gets deactivated in
614         between the checks in gstpad.c and the implementation. Rely on
615         finish_preroll() to return a FLUSHING or similar instead of on the
616         assert.
617         
618         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
619         clock and post an EOS message if we come out of finish_preroll in
620         the playing state.
621
622 2005-06-16  David Schleef  <ds@schleef.org>
623
624         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
625         (gst_capsfilter_set_property): Allow NULL as possible value
626         for filter_caps property, indicating GST_CAPS_ANY.
627
628 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
629
630         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
631           fix debug output
632         * gst/schedulers/Makefile.am:
633           use libgst prefix
634         * gstreamer.spec.in:
635           fix spec for it
636
637 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
638
639         * gstreamer.spec.in:
640           clean up
641
642 2005-06-08  Andy Wingo  <wingo@pobox.com>
643
644         * gst/gstutils.c: RPAD fixes all around.
645         (gst_element_link_pads): Refcounting fixes.
646
647         * tools/gst-inspect.c:
648         * tools/gst-xmlinspect.c:
649         * parse/grammar.y:
650         * gst/base/gsttypefindhelper.c:
651         * gst/base/gstbasesink.c:
652         * gst/gstqueue.c: RPAD fixes.
653
654         * gst/gstghostpad.h:
655         * gst/gstghostpad.c: New ghost pad implementation as full proxy
656         pads. The tricky thing is they provide both source and sink
657         interfaces, since they proxy the internal pad for the external
658         pad, and vice versa. Implement with lower-level ProxyPad objects,
659         with the interior proxy pad as a child of the exterior ghost pad.
660         Should write a doc on this.
661         
662         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
663         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
664         gst_object API.
665         
666         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
667         pads are real pads. No ghost pads in this file. Not documenting
668         the myriad s/RPAD/PAD/ and REALIZE fixes.
669         (gst_pad_class_init): Add properties for "direction" and
670         "template". Both are construct-only, so they can't change during
671         the life of the pad. Fixes properly deriving from GstPad.
672         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
673         derived objects, just set properties when creating the objects via
674         g_object_new.
675         (gst_pad_get_parent): Implement as a function, return NULL if the
676         parent is not an element.
677         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
678         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
679         
680         * gst/gstobject.c (gst_object_class_init): Make name a construct
681         property. Don't set it in the object init.
682
683         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
684         with UNKNOWN direction.
685         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
686         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
687         (gst_element_remove_pad): Remove ghost-pad special cases.
688         (gst_element_pads_activate): Remove rpad cruft.
689
690         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
691         catch the pad's-parent-not-an-element case.
692
693         * gst/gst.h: Include gstghostpad.h.
694
695         * gst/gst.c (init_post): No more real, ghost pads.
696
697         * gst/Makefile.am: Add gstghostpad.[ch].
698
699         * check/Makefile.am:
700         * check/gst/gstbin.c:
701         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
702         into a bin creates ghost pads, and that the refcounts are right.
703         Partly moved from gstbin.c.
704
705 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
706
707         * check/gst-libs/.cvsignore:
708         * check/gst/.cvsignore:
709         * check/pipelines/.cvsignore:
710           ignore more
711         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
712         (START_TEST), (cleanup_suite), (main):
713           add some tests related to cleanup after running pipelines
714
715 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
716
717         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
718           add a testsuite for GstBuffer
719
720 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
721
722         * gst/gstminiobject.h:
723           add defines for accessing the refcount
724
725 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
726
727         * Makefile.am: added support for html unit test coverage reports
728
729 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
730
731         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
732           Free existing caps if the capsfilter changes. Add a FIXME about
733           setting those caps on the pads.
734
735         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
736           Before adding a ghost pad to a parent bin, check that there isn't
737           already one for the element on the bin. Prevents infinite recursion
738           when using decodebin in parse pipelines. Andy says he'll rewrite the
739           way this works anyway, so ignore the hack.
740
741 2005-06-02  Andy Wingo  <wingo@pobox.com>
742
743         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
744         file size, pass it on to the type find helper.
745
746         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
747         segment_start and segment_end properly according to the seek
748         method. Segment_end is still a bit flaky because offset can be
749         negative for CUR and END cases, but it takes -1 as an "unset"
750         value.
751
752 2005-06-02  Wim Taymans  <wim@fluendo.com>
753
754         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
755         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
756         (gst_basesink_activate):
757         * gst/base/gstbasesink.h:
758         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
759         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
760         (gst_pad_query), (gst_pad_start_task):
761         * gst/gstpad.h:
762         * gst/gstqueue.c: (gst_queue_bufferalloc),
763         (gst_queue_handle_sink_event), (gst_queue_chain):
764         Bufferalloc: return GstFlowReturn to more accuratly report
765         why allocation failed.
766
767 2005-06-02  Wim Taymans  <wim@fluendo.com>
768
769         * gst/gstpipeline.c: (gst_pipeline_send_event):
770         Take snapshot of state without blocking.
771
772 2005-06-02  Wim Taymans  <wim@fluendo.com>
773
774         * docs/design/part-TODO.txt:
775         * docs/design/part-caps.txt:
776         * docs/design/part-clocks.txt:
777         * docs/design/part-negotiation.txt:
778         * docs/design/part-preroll.txt:
779         Small doc updates 
780
781 2005-05-30  Wim Taymans  <wim@fluendo.com>
782
783         * gst/elements/gstidentity.c: (gst_identity_event),
784         (gst_identity_transform), (gst_identity_get_property):
785         Protect last_message property as it is accessed from
786         multiple threads.
787
788 2005-05-30  Wim Taymans  <wim@fluendo.com>
789
790         * gst/gstelement.c: (gst_element_init),
791         (gst_element_pads_activate), (gst_element_change_state):
792         Slicker pad activation code.
793
794 2005-05-30  Wim Taymans  <wim@fluendo.com>
795
796         * gst/Makefile.am:
797         * gst/gstelement.h:
798         * gst/gstelementfactory.h:
799         * gst/gsttypes.h:
800         Move elementfactory methods to separate .h file.
801
802 2005-05-30  Wim Taymans  <wim@fluendo.com>
803
804         * docs/design/part-overview.txt:
805         * gst/gstsystemclock.h:
806         Small typo fixes, doc updates.
807
808 2005-05-30  Wim Taymans  <wim@fluendo.com>
809
810         * gst/gst.c: (gst_init_get_popt_table), (init_post),
811         (init_popt_callback):
812         Remove cpu-opt flag.
813
814 2005-05-30  Wim Taymans  <wim@fluendo.com>
815
816         * gst/gstbuffer.c: (gst_subbuffer_finalize),
817         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
818         * gst/gstbuffer.h:
819         Avoid typechecking in places where not needed.
820         Added accessor for malloc_data.
821
822 2005-05-30  Wim Taymans  <wim@fluendo.com>
823
824         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
825         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
826         (gst_pad_configure_sink), (gst_pad_configure_src),
827         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
828         (gst_pad_start_task):
829         Propagate errors from _set_caps() in configure_src/sink
830         functions instead of returning TRUE.
831         FLUSH events can travel up and downstream
832
833
834 2005-05-30  Wim Taymans  <wim@fluendo.com>
835
836         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
837         (gst_basesink_activate):
838         Handle EOS in preroll.
839
840 2005-05-30  Wim Taymans  <wim@fluendo.com>
841
842         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
843         (gst_queue_loop), (gst_queue_handle_src_event):
844         Remove old pieces of code
845         Flushing the queue in an upstream event is a very bad idea.
846
847 2005-05-26  Andy Wingo  <wingo@pobox.com>
848
849         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
850         gst_value_set_mini_object so as to add a ref on the object (which
851         will be removed when the value is unset).
852
853         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
854         arg type in ::handoff.
855
856         * gst/gstelement.c (gst_element_change_state): Also deactivate
857         pads in READY->NULL, just in case the element didn't make it to
858         PAUSED. Wingo tested, Wim approved.
859
860 2005-05-26  Wim Taymans  <wim@fluendo.com>
861
862         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
863         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
864         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
865         A flushing pad cannot be used to alloc_buffer from.
866
867 2005-05-26  Wim Taymans  <wim@fluendo.com>
868
869         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
870         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
871         (gst_bus_source_dispatch), (gst_bus_source_finalize),
872         (gst_bus_create_watch), (gst_bus_add_watch_full):
873         * gst/gstbus.h:
874         Implement a real GSource and use g_main_context_wakeup() to
875         signal new messages instead of the socketpair.
876
877 2005-05-25  Wim Taymans  <wim@fluendo.com>
878
879         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
880         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
881         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
882         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
883         (gst_pad_send_event), (gst_pad_start_task):
884         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
885         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
886         (gst_queue_sink_activate), (gst_queue_src_activate),
887         (gst_queue_change_state):
888         * gst/gstqueue.h:
889         Fix state changes for non sinks. We now change sinks, then elements
890         with unconnected srcpads, then the rest.
891         More efficient queue unlocking in flush and state changes.
892         Set the pad activate mode even if it does not have an activate
893         function.
894
895 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
896
897         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
898           Don't go in pull mode for non-seekable sources.
899         * gst/elements/gsttypefindelement.h:
900         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
901         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
902         (free_entry), (stop_typefinding),
903         (gst_type_find_element_handle_event), (find_peek),
904         (gst_type_find_element_chain), (do_pull_typefind),
905         (gst_type_find_element_change_state):
906           Allow typefinding (w/o seeking) in push-mode, simplified version
907           of what was in 0.8.
908         * gst/gstutils.c: (gst_buffer_join):
909         * gst/gstutils.h:
910           gst_buffer_join() from 0.8.
911
912 2005-05-25  Wim Taymans  <wim@fluendo.com>
913
914         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
915         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
916         (gst_pad_send_event), (gst_pad_start_task):
917         Disable attempt at mode switching until it is figured out.
918
919 2005-05-25  Wim Taymans  <wim@fluendo.com>
920
921         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
922         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
923         (gst_basesink_finish_preroll), (gst_basesink_chain),
924         (gst_basesink_loop), (gst_basesink_activate),
925         (gst_basesink_change_state):
926         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
927         (gst_basesrc_get_range), (gst_basesrc_loop),
928         (gst_basesrc_activate):
929         * gst/elements/gsttee.c: (gst_tee_sink_activate):
930         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
931         (gst_real_pad_init), (gst_real_pad_set_property),
932         (gst_real_pad_get_property), (gst_pad_set_active),
933         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
934         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
935         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
936         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
937         (gst_pad_event_default_dispatch), (gst_pad_event_default),
938         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
939         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
940         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
941         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
942         (gst_pad_stop_task):
943         * gst/gstpad.h:
944         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
945         (gst_queue_loop), (gst_queue_src_activate):
946         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
947         (gst_task_get_state):
948         * gst/gsttask.h:
949         * gst/schedulers/threadscheduler.c:
950         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
951         Implement gst_pad_pause/start/stop_task(), take STREAM lock
952         in task function.
953         Remove ACTIVE pad flag, use FLUSHING everywhere
954         Added _pad_chain(), _pad_get_range() to call chain/getrange 
955         functions.
956         Add locks around IS_FLUSHING when reading.
957         Take STREAM lock in chain(), get_range() functions so plugins
958         don't need to take it anymore.
959         
960
961
962 2005-05-25  Wim Taymans  <wim@fluendo.com>
963
964         * tools/gst-launch.c: (event_loop):
965         Unref message after using its contents instead of
966         before.
967
968 2005-05-24  Wim Taymans  <wim@fluendo.com>
969
970         * docs/design/draft-ghostpads.txt:
971         * docs/design/draft-push-pull.txt:
972         * docs/design/draft-query.txt:
973         * docs/design/part-overview.txt:
974         Docs updates, added general overview doc.
975
976 2005-05-21  David Schleef  <ds@schleef.org>
977
978         * docs/gst/tmpl/old/GstBin.sgml:
979         * docs/gst/tmpl/old/GstBuffer.sgml:
980         * docs/gst/tmpl/old/GstCaps.sgml:
981         * docs/gst/tmpl/old/GstClock.sgml:
982         * docs/gst/tmpl/old/GstCompat.sgml:
983         * docs/gst/tmpl/old/GstData.sgml:
984         * docs/gst/tmpl/old/GstElement.sgml:
985         * docs/gst/tmpl/old/GstEvent.sgml:
986         * docs/gst/tmpl/old/GstIndex.sgml:
987         * docs/gst/tmpl/old/GstStructure.sgml:
988         * docs/gst/tmpl/old/GstTag.sgml:
989         * docs/gst/tmpl/old/cothreads.sgml:
990         * docs/gst/tmpl/old/cothreads_compat.sgml:
991         * docs/gst/tmpl/old/gettext.sgml:
992         * docs/gst/tmpl/old/gobject2gtk.sgml:
993         * docs/gst/tmpl/old/grammar.tab.sgml:
994         * docs/gst/tmpl/old/gst-i18n-app.sgml:
995         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
996         * docs/gst/tmpl/old/gst_private.sgml:
997         * docs/gst/tmpl/old/gstaggregator.sgml:
998         * docs/gst/tmpl/old/gstarch.sgml:
999         * docs/gst/tmpl/old/gstatomic_impl.sgml:
1000         * docs/gst/tmpl/old/gstbufferstore.sgml:
1001         * docs/gst/tmpl/old/gstdata_private.sgml:
1002         * docs/gst/tmpl/old/gstdisksink.sgml:
1003         * docs/gst/tmpl/old/gstdisksrc.sgml:
1004         * docs/gst/tmpl/old/gstelementfactory.sgml:
1005         * docs/gst/tmpl/old/gstextratypes.sgml:
1006         * docs/gst/tmpl/old/gstfakesink.sgml:
1007         * docs/gst/tmpl/old/gstfakesrc.sgml:
1008         * docs/gst/tmpl/old/gstfdsink.sgml:
1009         * docs/gst/tmpl/old/gstfdsrc.sgml:
1010         * docs/gst/tmpl/old/gstfilesink.sgml:
1011         * docs/gst/tmpl/old/gstfilesrc.sgml:
1012         * docs/gst/tmpl/old/gsthttpsrc.sgml:
1013         * docs/gst/tmpl/old/gstidentity.sgml:
1014         * docs/gst/tmpl/old/gstindexfactory.sgml:
1015         * docs/gst/tmpl/old/gstmarshal.sgml:
1016         * docs/gst/tmpl/old/gstmd5sink.sgml:
1017         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
1018         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
1019         * docs/gst/tmpl/old/gstpadtemplate.sgml:
1020         * docs/gst/tmpl/old/gstpipefilter.sgml:
1021         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
1022         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
1023         * docs/gst/tmpl/old/gstshaper.sgml:
1024         * docs/gst/tmpl/old/gstspider.sgml:
1025         * docs/gst/tmpl/old/gstspideridentity.sgml:
1026         * docs/gst/tmpl/old/gststatistics.sgml:
1027         * docs/gst/tmpl/old/gsttee.sgml:
1028         * docs/gst/tmpl/old/gsttimecache.sgml:
1029         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
1030         * docs/gst/tmpl/old/gstxmlregistry.sgml:
1031         * docs/gst/tmpl/old/gthread-cothreads.sgml:
1032         * docs/gst/tmpl/old/types.sgml:
1033           I didn't intend to add these or check them in.
1034
1035 2005-05-19  David Schleef  <ds@schleef.org>
1036
1037         * configure.ac: Use -no-common everywhere.  In a sane world, it
1038           would be the default in libtool, because without it, you can't
1039           build DLLs on Windows.
1040         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
1041         * docs/gst/gstreamer-sections.txt:
1042         * docs/gst/tmpl/gstcpu.sgml:
1043         * docs/gst/tmpl/gstdata.sgml:
1044         * docs/gst/tmpl/gstthread.sgml:
1045
1046 2005-05-19  David Schleef  <ds@schleef.org>
1047
1048         * gst/gstminiobject.c: (gst_value_set_mini_object),
1049         (gst_value_take_mini_object), (gst_value_get_mini_object):
1050         * gst/gstminiobject.h: Add GValue set/get functions.
1051
1052 2005-05-19  Wim Taymans  <wim@fluendo.com>
1053
1054         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
1055         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
1056         (gst_subbuffer_init), (gst_buffer_is_span_fast):
1057         * gst/gstbuffer.h:
1058         * gst/gstbus.c: (gst_bus_post):
1059         * gst/gstelement.c: (gst_element_get_random_pad):
1060         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
1061         Make subbufer unref the parent in finalize.
1062         some more debugging info.
1063
1064
1065 2005-05-19  Wim Taymans  <wim@fluendo.com>
1066
1067         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1068         (gst_basesink_init), (gst_basesink_finalize),
1069         (gst_basesink_activate), (gst_basesink_change_state):
1070         Don't free preroll queue too early.
1071
1072 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1073
1074         * gst/Makefile.am:
1075         * gst/ROADMAP:
1076           Hi, I'm outdated. Please shoot me.
1077
1078 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1079
1080         * gst/gstpipeline.c: (gst_pipeline_send_event):
1081           Do not access variables after they have been deleted.
1082
1083 2005-05-19  Wim Taymans  <wim@fluendo.com>
1084
1085         * tools/gst-inspect.c: (print_plugin_features):
1086         A plugin feature does unfortunatly not use the
1087         object name yet...
1088
1089 2005-05-18  Wim Taymans  <wim@fluendo.com>
1090
1091         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
1092         Port _span() functions to new subbuffers.
1093
1094 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1095
1096         * gst/gstbin.c: (gst_bin_add_func):
1097           Fix clock settery in bins when adding kids after the clock has
1098           been selected.
1099
1100 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1101
1102         * gst/elements/gstidentity.c: (gst_identity_class_init):
1103           Workaround until signals support GstMiniObject.
1104
1105 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1106
1107         * gst/gstbuffer.c:
1108         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
1109
1110 2005-05-18  Wim Taymans  <wim@fluendo.com>
1111
1112         * gst/base/Makefile.am:
1113         * gst/base/gstadapter.c: (gst_adapter_base_init),
1114         (gst_adapter_class_init), (gst_adapter_init),
1115         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
1116         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
1117         (gst_adapter_flush), (gst_adapter_available),
1118         (gst_adapter_available_fast):
1119         * gst/base/gstadapter.h:
1120         Ported and added adapter to the base classes.
1121
1122 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1123
1124         * gst/gst.c:
1125         * gst/gstmessage.c:
1126           Make sure the class is reffed/unreffed once before threads can be
1127           used.  Fixes #304551.
1128
1129 2005-05-17  Wim Taymans  <wim@fluendo.com>
1130
1131         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
1132         (gst_basesink_chain_unlocked), (gst_basesink_activate):
1133         * gst/gstminiobject.c: (gst_mini_object_get_type),
1134         (gst_mini_object_free):
1135         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
1136         (gst_pad_push), (gst_pad_push_event):
1137         * gst/gstqueue.c: (gst_queue_change_state):
1138         Don't queue buffers in basesink when we are flushing.
1139         Unref buffer when flushing in basesink.
1140         Flush queue when going to READY
1141         Unref buffer when _push() returns an error.
1142         Don't free MiniObject instance when refcount is incremented
1143         in _finalize() so that we can recover objects.
1144
1145 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1146
1147         * docs/manual/advanced-schedulers.xml:
1148         * docs/manual/appendix-checklist.xml:
1149         * docs/pwg/advanced-clock.xml:
1150         * docs/pwg/advanced-interfaces.xml:
1151         * docs/pwg/advanced-request.xml:
1152         * docs/pwg/advanced-types.xml:
1153         * docs/pwg/intro-preface.xml:
1154         * examples/plugins/example.c: (gst_example_get_type),
1155         (gst_example_class_init), (gst_example_chain),
1156         (gst_example_set_property), (gst_example_get_property),
1157         (gst_example_change_state), (plugin_init):
1158         * examples/plugins/example.h:
1159           small doc fixes
1160
1161 2005-05-17  Wim Taymans  <wim@fluendo.com>
1162
1163         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
1164         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
1165         * gst/gstqueue.c: (gst_queue_change_state):
1166         Clear queue when going to READY.
1167         Remove IN_SETCAPS flag too.
1168
1169 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
1170
1171         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
1172           Remove implicit cast from gboolean to GstElementStateReturn;
1173           make sure we still return failure in paused => ready case if
1174           the parent class fails to change state and our own stop 
1175           vfunc succeeds.
1176
1177 2005-05-17  Wim Taymans  <wim@fluendo.com>
1178
1179         * tools/gst-launch.c: (event_loop):
1180         Message was unreffed too soon.
1181
1182 2005-05-16  Andy Wingo  <wingo@pobox.com>
1183
1184         * gst/gstbin.c (sink_iterator_filter): Err... um...
1185
1186         * check/gst/gstbin.c (test_ghost_pads): New test for the
1187         ghosting-if-elements-not-in-same-bin behavior.
1188
1189 2005-05-16  David Schleef  <ds@schleef.org>
1190
1191         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
1192         accessing refcount directly.
1193
1194 2005-05-15  David Schleef  <ds@schleef.org>
1195
1196         * check/Makefile.am: remove GstData checks
1197         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
1198         * gst/Makefile.am: add miniobject, remove data
1199         * gst/gst.h: add miniobject, remove data
1200         * gst/gstdata.c: remove
1201         * gst/gstdata.h: remove
1202         * gst/gstdata_private.h: remove
1203         * gst/gsttypes.h: remove GstEvent and GstMessage
1204         * gst/gstelement.c: (gst_element_post_message): fix for API changes
1205         * gst/gstmarshal.list: change BOXED -> OBJECT
1206
1207         Implement GstMiniObject.
1208         * gst/gstminiobject.c:
1209         * gst/gstminiobject.h:
1210
1211         Modify to be subclasses of GstMiniObject.
1212         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
1213         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
1214         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
1215         (gst_subbuffer_get_type), (gst_subbuffer_init),
1216         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
1217         (gst_buffer_span):
1218         * gst/gstbuffer.h:
1219         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
1220         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
1221         (_gst_event_copy), (gst_event_new):
1222         * gst/gstevent.h:
1223         * gst/gstmessage.c: (_gst_message_initialize),
1224         (gst_message_get_type), (gst_message_class_init),
1225         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
1226         (gst_message_new), (gst_message_new_error),
1227         (gst_message_new_warning), (gst_message_new_tag),
1228         (gst_message_new_state_changed), (gst_message_new_application):
1229         * gst/gstmessage.h:
1230         * gst/gstprobe.c: (gst_probe_perform),
1231         (gst_probe_dispatcher_dispatch):
1232         * gst/gstprobe.h:
1233         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
1234         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
1235         (_gst_query_copy), (gst_query_new):
1236
1237         Update elements for GstData -> GstMiniObject changes
1238         * gst/gstquery.h:
1239         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
1240         (gst_queue_chain), (gst_queue_loop):
1241         * gst/elements/gstbufferstore.c:
1242         (gst_buffer_store_add_buffer_func),
1243         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
1244         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1245         (gst_fakesink_render):
1246         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
1247         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
1248         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
1249         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
1250         (gst_filesrc_create_read):
1251         * gst/elements/gstidentity.c: (gst_identity_class_init):
1252         * gst/elements/gsttypefindelement.c:
1253         (gst_type_find_element_src_event), (free_entry_buffers),
1254         (gst_type_find_element_handle_event):
1255         * libs/gst/dataprotocol/dataprotocol.c:
1256         (gst_dp_header_from_buffer):
1257         * libs/gst/dataprotocol/dataprotocol.h:
1258         * libs/gst/dataprotocol/dp-private.h:
1259
1260 2005-05-15  David Schleef  <ds@schleef.org>
1261
1262         * gst/elements/gstelements.c: Don't include headers that were
1263         just removed.
1264
1265 2005-05-15  David Schleef  <ds@schleef.org>
1266
1267         * gst/elements/Makefile.am: Remove some elements that don't
1268         need to be in the core (or even exist at all).
1269         * gst/elements/gstaggregator.c:
1270         * gst/elements/gstaggregator.h:
1271         * gst/elements/gstmd5sink.c:
1272         * gst/elements/gstmd5sink.h:
1273         * gst/elements/gstmultifilesrc.c:
1274         * gst/elements/gstmultifilesrc.h:
1275         * gst/elements/gstpipefilter.c:
1276         * gst/elements/gstpipefilter.h:
1277         * gst/elements/gstshaper.c:
1278         * gst/elements/gstshaper.h:
1279         * gst/elements/gststatistics.c:
1280         * gst/elements/gststatistics.h:
1281         * po/POTFILES.in: Remove above files.
1282
1283 2005-05-14  Andy Wingo  <wingo@pobox.com>
1284
1285         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
1286         so as to get the refs right.
1287         (sink_iterator_filter): New function, wraps bin_element_is_sink,
1288         unreffing objects that don't pass the filter.
1289
1290         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
1291         gst_element_set_bus.
1292         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
1293         normal cases, this will destroy the bus.
1294
1295         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
1296         object.
1297
1298         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
1299         has no sinks.
1300
1301 2005-05-13  Andy Wingo  <wingo@pobox.com>
1302
1303         * gst/gstutils.c (gst_element_link_pads): Instead of calling
1304         gst_pad_link, call pad_link_maybe_ghosting,
1305         (pad_link_maybe_ghosting): Links pads, making sure that the
1306         elements being linked are in the same bin.
1307         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
1308         Helpers for pad_link_maybe_ghosting.
1309
1310 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1311
1312         * configure.ac:
1313           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
1314
1315 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1316
1317         * docs/design/part-element-source.txt:
1318           Mention GstPushSrc
1319
1320 2005-05-12  Wim Taymans  <wim@fluendo.com>
1321
1322         * gst/base/gstbasesink.c: (gst_basesink_init),
1323         (gst_basesink_activate):
1324         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
1325         (gst_basesrc_is_seekable):
1326         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1327         (bin_element_is_sink), (gst_bin_change_state):
1328         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1329         * gst/gstelement.h:
1330         Identify sinks by their flag to avoid overly complicated
1331         checks (fow now).
1332         Do state changes even for elements not reachable from the
1333         sinks.
1334         BaseSink is a sink now :)
1335         Some more debugging info in the basesrc.
1336
1337
1338 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1339
1340         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
1341           Implement _query on a bin, similar to _send_event.
1342
1343 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1344
1345         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
1346           Discont event offset format should be GST_FORMAT_BYTES,
1347           not GST_FORMAT_TIME.
1348
1349 2005-05-12  Wim Taymans  <wim@fluendo.com>
1350
1351         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
1352         Same fix as Ronald's but without the signal. 
1353
1354 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1355
1356         * gst/gstutils.c: (gst_element_query_position):
1357           No, an element is not a pad.
1358
1359 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1360
1361         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
1362         (gst_bin_get_state):
1363           If a child is removed from a bin while we remove the child from
1364           the bin and while we're retrieving its state, signal this to the
1365           get_state function so we abort the wait (instead of waiting for
1366           a timeout) and can immediately re-iterate over all other elements.
1367
1368 2005-05-12  Wim Taymans  <wim@fluendo.com>
1369
1370         * gst/base/Makefile.am:
1371         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
1372         (gst_basesrc_start):
1373         * gst/base/gstbasesrc.h:
1374         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
1375         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
1376         (gst_pushsrc_init), (gst_pushsrc_create):
1377         * gst/base/gstpushsrc.h:
1378         Added is_seekable to BaseSrc
1379         Added simple PushSrc.
1380
1381 2005-05-11  Wim Taymans  <wim@fluendo.com>
1382
1383         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1384         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1385         (gst_element_link_pads), (gst_element_query_position),
1386         (gst_element_query_convert), (intersect_caps_func),
1387         (gst_pad_query_position), (gst_pad_query_convert):
1388         Fix refcounting in utils function.
1389         No point in trying to activate a pad when it's added, it could
1390         be added from the state change function and then we deadlock, the
1391         element has to decide what to do.
1392
1393 2005-05-10  Andy Wingo  <wingo@pobox.com>
1394
1395         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
1396         *all* the arguments.
1397
1398         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
1399         stream lock if it's a FLUSH_DONE; normal flushes don't get the
1400         lock (according to the docs -- if this is wrong change the docs).
1401
1402         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
1403         flush messages in the NULL state.
1404
1405         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
1406         message immediately and return.
1407         (gst_bus_set_flushing): New function. If a bus is flushing, it
1408         flushes out any queued messages and immediately unrefs new
1409         messages. This is so when an element goes to NULL, all of the
1410         unhandled messages coming from it can be freed, and their
1411         references to the element dropped. In other words: message source
1412         ref considered harmful :P
1413
1414         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
1415         we're finished with it.
1416
1417         * gst/gstmessage.c (gst_message_new_state_changed): 
1418
1419 2005-05-10  Wim Taymans  <wim@fluendo.com>
1420
1421         * gst/gstvalue.c: (gst_value_compare_flags),
1422         (gst_value_serialize_flags), (gst_value_deserialize_flags),
1423         (_gst_value_initialize):
1424         Added flags serialize/deserialize/compare code.
1425
1426 2005-05-09  Andy Wingo  <wingo@pobox.com>
1427
1428         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
1429         Intersect the peer's caps with our caps.
1430
1431 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1432
1433         * gst/base/gsttypefindhelper.c: (helper_find_peek):
1434         * gst/elements/gsttypefindelement.c: (find_peek):
1435           Handle negative offsets better. Fixes decodebin.
1436
1437 2005-05-09  Wim Taymans  <wim@fluendo.com>
1438
1439         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
1440         (gst_base_transform_event):
1441         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
1442         Implement accept_caps.
1443         Fix silly lock/unlock mismatch in base class.
1444
1445 2005-05-09  Wim Taymans  <wim@fluendo.com>
1446
1447         * docs/design/draft-push-pull.txt:
1448         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
1449         * gst/elements/gstfilesink.c: (gst_filesink_init),
1450         (gst_filesink_query):
1451         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1452         (gst_type_find_handle_src_query), (find_element_get_length):
1453         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
1454         * gst/gstelement.h:
1455         * gst/gstmessage.c:
1456         * gst/gstmessage.h:
1457         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
1458         (gst_real_pad_get_caps_unlocked),
1459         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
1460         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1461         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
1462         (gst_real_pad_dispose), (gst_real_pad_finalize),
1463         (gst_pad_load_and_link), (gst_pad_save_thyself),
1464         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
1465         (gst_pad_check_pull_range), (gst_pad_pull_range),
1466         (gst_pad_template_get_type), (gst_pad_template_class_init),
1467         (gst_pad_template_init), (gst_pad_template_dispose),
1468         (name_is_valid), (gst_static_pad_template_get),
1469         (gst_pad_template_new), (gst_static_pad_template_get_caps),
1470         (gst_pad_template_get_caps), (gst_pad_set_element_private),
1471         (gst_pad_get_element_private), (gst_pad_start_task),
1472         (gst_pad_pause_task), (gst_pad_stop_task),
1473         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
1474         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
1475         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
1476         (gst_ghost_pad_new):
1477         * gst/gstpad.h:
1478         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
1479         (gst_query_new_position), (gst_query_set_position),
1480         (gst_query_parse_position), (gst_query_new_convert),
1481         (gst_query_set_convert), (gst_query_parse_convert):
1482         * gst/gstquery.h:
1483         * gst/gstqueryutils.c:
1484         * gst/gstqueryutils.h:
1485         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1486         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1487         (gst_queue_handle_src_query):
1488         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1489         (gst_element_query_position), (gst_element_query_convert),
1490         (intersect_caps_func), (gst_pad_query_position),
1491         (gst_pad_query_convert):
1492         * gst/gstutils.h:
1493         * tools/gst-inspect.c: (print_pad_info):
1494         * tools/gst-xmlinspect.c: (print_element_info):
1495         Remove old query functions. Ported old code.
1496         Added position/convert helper functions to gstutils.
1497         Reordered gstpad.c code, grouping relevant things.
1498         Remove gst_message_new(), always need to speficy a specific
1499         message.
1500
1501
1502 2005-05-09  Andy Wingo  <wingo@pobox.com>
1503
1504         * gst/gstiterator.h: Add some includes.
1505
1506         * gst/gstqueryutils.h: Include more headers.
1507
1508         * gst/gstpad.h:
1509         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
1510         some uses of gst_pad_query.
1511
1512         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
1513         NULL out parameters.
1514         (gst_query_new_position): New proc, allocates a new position
1515         query.
1516
1517         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
1518         gstqueryutils.c to the build.
1519
1520         * gst/gststructure.c (gst_structure_set_valist): Implement with
1521         the generic G_VALUE_COLLECT.
1522         
1523 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
1524
1525         * gst/Makefile.am: (gst_headers):
1526         Added gstqueryutils.h to the list of headers to install, that was
1527         a 'nachty' move wingo :)
1528
1529 2005-05-06  Andy Wingo  <wingo@pobox.com>
1530
1531         * gst/gstquery.h
1532         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
1533         GstData, init a memchunk.
1534         (standard_definitions): Add a few query types, deprecate a few.
1535         (gst_query_get_type): New proc.
1536         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
1537         implementation.
1538         (gst_query_new_application, gst_query_get_structure): New public
1539         procs.
1540
1541         * docs/design/draft-query.txt: Removed LINKS from the query types,
1542         because all the rest can be dispatched to other pads -- seemed
1543         ugly to have a query that couldn't be dispatched. internal_links
1544         is fine as a pad method.
1545
1546         * gst/gstpad.h: Add query2 as a pad method, add the new functions
1547         in gstpad.c, but maintain binary compatibility for the moment.
1548         Will fix before 0.9 is out.
1549
1550         * gst/gstqueryutils.c: 
1551         * gst/gstqueryutils.h: New files, implement 3 methods for each
1552         query type: parse_query, parse_response, and set. Probably need an
1553         allocator as well.
1554
1555         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
1556
1557         * gst/elements/gstfilesink.c (gst_filesink_query2):
1558         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
1559         query_types, and formats methods.
1560
1561         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
1562         (gst_pad_set_query2_function): New functions.
1563         (gst_real_pad_init): Set query2_default as the default query2
1564         function. Basically just dispatches to internally linked pads.
1565
1566         Needs review!
1567         
1568         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
1569         without using the atomic operations. Only one thread can possibly
1570         be accessing the data at this point. Changed so as to avoid
1571         gst_atomic operations.
1572
1573 2005-05-06  Wim Taymans  <wim@fluendo.com>
1574
1575         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
1576         Also set caps if we use the fallback buffer alloc.
1577
1578 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
1579
1580         * docs/gst/Makefile.am:
1581         * docs/gst/gstreamer-docs.sgml:
1582         * docs/gst/gstreamer-sections.txt:
1583         * docs/gst/tmpl/gstatomic.sgml:
1584         * docs/gst/tmpl/gstmemchunk.sgml:
1585         * testsuite/elements/struct_i386.h:
1586         * win32/GStreamer.vcproj:
1587         * win32/Makefile:
1588           Purge GstAtomic stuff from docs and win32 makefiles as well
1589
1590 2005-05-06  Wim Taymans  <wim@fluendo.com>
1591
1592         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
1593         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
1594         * gst/gstpad.c: (gst_pad_peer_get_caps):
1595         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1596         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1597         (gst_queue_src_activate), (gst_queue_change_state):
1598         * gst/gstqueue.h:
1599         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1600         (intersect_caps_func):
1601         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
1602         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
1603         Some fixes for the peer_get_caps() change.
1604
1605 2005-05-06  Wim Taymans  <wim@fluendo.com>
1606
1607         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1608         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
1609         (gst_basesink_activate):
1610         Actually do something with error codes returned from the push
1611         functions.
1612
1613 2005-05-06  Wim Taymans  <wim@fluendo.com>
1614
1615         * docs/design/part-element-sink.txt:
1616         * docs/design/part-element-source.txt:
1617         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1618         (gst_basesink_event), (gst_basesink_activate):
1619         * gst/base/gstbasesink.h:
1620         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
1621         (gst_basesrc_activate):
1622         * gst/base/gstbasesrc.h:
1623         * gst/gstelement.c: (gst_element_pads_activate):
1624         Some more documentation.
1625         Fixed scheduling decision in _pads_activate().
1626
1627 2005-05-05  Andy Wingo  <wingo@pobox.com>
1628
1629         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
1630         the test suite.
1631
1632 2005-05-05  Wim Taymans  <wim@fluendo.com>
1633
1634         * gst/base/Makefile.am:
1635         * gst/base/gstbasesink.h:
1636         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1637         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
1638         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
1639         (gst_collectpads_class_init), (gst_collectpads_init),
1640         (gst_collectpads_finalize), (gst_collectpads_new),
1641         (gst_collectpads_set_function), (gst_collectpads_add_pad),
1642         (find_pad), (gst_collectpads_remove_pad),
1643         (gst_collectpads_is_active), (gst_collectpads_collect),
1644         (gst_collectpads_collect_range), (gst_collectpads_start),
1645         (gst_collectpads_stop), (gst_collectpads_peek),
1646         (gst_collectpads_pop), (gst_collectpads_available),
1647         (gst_collectpads_read), (gst_collectpads_flush),
1648         (gst_collectpads_chain):
1649         * gst/base/gstcollectpads.h:
1650         * gst/elements/Makefile.am:
1651         * gst/elements/gstelements.c:
1652         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1653         (gst_fakesink_get_times), (gst_fakesink_event),
1654         (gst_fakesink_preroll), (gst_fakesink_render):
1655         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1656         (gst_filesink_init), (gst_filesink_set_location),
1657         (gst_filesink_open_file), (gst_filesink_close_file),
1658         (gst_filesink_pad_query), (gst_filesink_event),
1659         (gst_filesink_render), (gst_filesink_change_state):
1660         * gst/elements/gstfilesink.h:
1661         Added object to help in making collect pad based elements.
1662         Ported filesink.
1663         Make event function in sink baseclass return gboolean.
1664
1665 2005-05-05  Wim Taymans  <wim@fluendo.com>
1666
1667         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
1668         (gst_bin_get_by_name):
1669         * gst/gstbuffer.h:
1670         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
1671         (gst_clock_finalize):
1672         * gst/gstdata.c: (gst_data_replace):
1673         * gst/gstdata.h:
1674         * gst/gstelement.c: (gst_element_request_pad),
1675         (gst_element_pads_activate):
1676         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1677         (gst_object_unref):
1678         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1679         (gst_pad_set_checkgetrange_function),
1680         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
1681         (gst_pad_check_pull_range), (gst_pad_pull_range),
1682         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1683         (gst_pad_pause_task), (gst_pad_stop_task):
1684         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1685         (gst_element_request_pad), (gst_pad_proxy_getcaps):
1686         Fix name lookup in GstBin.
1687         Added _data_replace() function and _buffer_replace()
1688         Use finalize method to clean up clock.
1689         Fix refcounting on request pads.
1690         Fix pad schedule mode error.
1691         Some more object refcounting debug info,
1692
1693
1694 2005-05-04  Andy Wingo <wingo@pobox.com>
1695
1696         * check/Makefile.am:
1697         * docs/gst/tmpl/gstatomic.sgml:
1698         * docs/gst/tmpl/gstplugin.sgml:
1699         * gst/base/gstbasesink.c: (gst_basesink_activate):
1700         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
1701         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
1702         (gst_basesrc_query), (gst_basesrc_set_property),
1703         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
1704         (gst_basesrc_activate):
1705         * gst/base/gstbasesrc.h:
1706         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
1707         (gst_base_transform_src_activate):
1708         * gst/elements/gstelements.c:
1709         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1710         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1711         * gst/elements/gsttee.c: (gst_tee_sink_activate):
1712         * gst/elements/gsttypefindelement.c: (find_element_get_length),
1713         (gst_type_find_element_checkgetrange),
1714         (gst_type_find_element_activate):
1715         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
1716         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
1717         (gst_caps_load_thyself):
1718         * gst/gstelement.c: (gst_element_pads_activate),
1719         (gst_element_save_thyself), (gst_element_restore_thyself):
1720         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
1721         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
1722         * gst/gstpad.h:
1723         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
1724         (gst_xml_parse_file), (gst_xml_parse_memory),
1725         (gst_xml_get_element), (gst_xml_make_element):
1726         * gst/indexers/gstfileindex.c: (gst_file_index_load),
1727         (_file_index_id_save_xml), (gst_file_index_commit):
1728         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
1729         (read_enum), (load_pad_template), (load_feature), (load_plugin),
1730         (load_paths):
1731         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
1732         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
1733         * tools/gst-complete.c: (main):
1734         * tools/gst-compprep.c: (main):
1735         * tools/gst-inspect.c: (print_element_properties_info):
1736         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1737         * tools/gst-xmlinspect.c: (print_element_properties):
1738         GCC 4 fixen.
1739         
1740 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1741
1742         * gst/gstplugin.c: (gst_plugin_check_module),
1743         (gst_plugin_check_file), (gst_plugin_load_file):
1744             apply patch from #172526 to make register work on MacOSX
1745
1746 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1747
1748         * docs/gst/tmpl/gstconfig.sgml:
1749         * gst/gstconfig.h.in:
1750           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
1751         * testsuite/debug/printf_extension.c: (main):
1752           Do not use GST_PTR_FORMAT on pointers to types with
1753           sizeof < sizeof(gpointer).  Fixes test on 64-bit
1754         * testsuite/elements/property.h:
1755           use correct printf format
1756
1757 2005-05-02  Wim Taymans  <wim@fluendo.com>
1758
1759         * docs/design/draft-push-pull.txt:
1760         * docs/design/draft-query.txt:
1761         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
1762         (gst_basesrc_start):
1763         Added draft for new query API.
1764         Added draft for better selecting scheduling methods.
1765         Make basesrc ignore length if the subclass does not support
1766         it.
1767
1768 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1769
1770         * gst/Makefile.am:
1771           possible fixes for automake-1.5 - _LIBADD is reserved
1772
1773 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1774
1775         * docs/faq/Makefile.am:
1776         * docs/manual/Makefile.am:
1777         * docs/manuals.mak:
1778         * docs/pwg/Makefile.am:
1779         * gst/Makefile.am:
1780           possible fixes for automake-1.5
1781
1782 2005-04-28  Wim Taymans  <wim@fluendo.com>
1783
1784         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1785         (gst_basesink_pad_getcaps), (gst_basesink_init),
1786         (gst_basesink_do_sync):
1787         * gst/gstclock.c: (gst_clock_entry_new):
1788         * gst/gstevent.c: (gst_event_discont_get_value):
1789         * gst/gstpipeline.c: (pipeline_bus_handler),
1790         (gst_pipeline_change_state):
1791         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1792         Better debugging of clocking info.
1793         Allow NULL values when getting discont values.
1794
1795 2005-04-27  Wim Taymans  <wim@fluendo.com>
1796
1797         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
1798         * check/gst/gstpad.c: (gst_pad_suite):
1799         Increase timeout for checks.
1800
1801 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1802
1803         * check/Makefile.am:
1804           fix the broken rule for cleanup.  Apparently this rule is
1805           only needed on FC2, so maybe this warrants further autotool
1806           inspection.
1807
1808 2005-04-26  Wim Taymans  <wim@fluendo.com>
1809
1810         * gst/gsttrashstack.h:
1811         Ooohh. a nasty one! After having a failed pop() from the stack,
1812         it's possible that the stack is empty. In that case, don't
1813         follow the NULL pointer.
1814
1815 2005-04-25  Wim Taymans  <wim@fluendo.com>
1816
1817         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1818         (gst_pad_set_checkgetrange_function),
1819         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
1820         (gst_pad_check_pull_range), (gst_pad_pull_range),
1821         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1822         (gst_pad_pause_task), (gst_pad_stop_task):
1823         * gst/gstplugin.c: (gst_plugin_load):
1824         * gst/gstplugin.h:
1825         Remove gst_library_load as it does more harm than good with
1826         the new g_module flags.
1827         Revert bogus caps template check in pad linking, pad caps
1828         are important when linking not the template, which is more
1829         general than the current caps.
1830
1831 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1832
1833         * gst/autoplug/.cvsignore:
1834         * gst/autoplug/Makefile.am:
1835         * gst/autoplug/gstsearchfuncs.c:
1836         * gst/autoplug/gstsearchfuncs.h:
1837         * gst/autoplug/gstspider.c:
1838         * gst/autoplug/gstspider.h:
1839         * gst/autoplug/gstspideridentity.c:
1840         * gst/autoplug/gstspideridentity.h:
1841         * gst/autoplug/spidertest.c:
1842           Die, spider, die.
1843
1844 2005-04-25  Wim Taymans  <wim@fluendo.com>
1845
1846         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1847         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
1848         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
1849         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
1850         * gst/gstpad.h:
1851         Added stubs for unimplemented functions. 
1852
1853 2005-04-24  David Schleef  <ds@schleef.org>
1854
1855         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
1856         please fix.
1857
1858 2005-04-24  David Schleef  <ds@schleef.org>
1859
1860         Convert everything from GstAtomicInt to g_atomic_int_*, and
1861         remove gstatomic.
1862         * gst/Makefile.am:
1863         * gst/gstatomic.c:
1864         * gst/gstatomic.h:
1865         * gst/gstatomic_impl.h:
1866         * gst/gstbuffer.c:
1867         * gst/gstcaps.c:
1868         * gst/gstcaps.h:
1869         * gst/gstclock.c:
1870         * gst/gstclock.h:
1871         * gst/gstdata.c:
1872         * gst/gstdata.h:
1873         * gst/gstdata_private.h:
1874         * gst/gstevent.c:
1875         * gst/gstinfo.c:
1876         * gst/gstinfo.h:
1877         * gst/gstmessage.c:
1878         * gst/gstobject.c:
1879         * gst/gstobject.h:
1880         * gst/gststructure.c:
1881         * gst/gststructure.h:
1882         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
1883         * gst/gstutils.h:
1884
1885 2005-04-24  David Schleef  <ds@schleef.org>
1886
1887         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
1888         make the regressions tests work.  Remove some code that is no
1889         longer true.
1890         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
1891         Disable warning for pads without templates.
1892
1893 2005-04-24  David Schleef  <ds@schleef.org>
1894
1895         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
1896         functions that handle filtered links.
1897         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
1898         removed functions.
1899         * gst/gstutils.c: Fix/remove utility functions that handle
1900         filtered caps.
1901         * gst/gstutils.h:
1902         * gst/gstvalue.c: Add serialization/deserialization of caps
1903         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
1904         requires fixing so that the filter caps notation creates
1905         a capsfilter element and sets the filter_caps property.  I
1906         think everyone probably wants to keep the shorthand notation.
1907         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
1908         * docs/gst/tmpl/gstpad.sgml:
1909
1910         * gst/elements/gstelements.c: Register capsfilter element.
1911         * gst/Makefile.am: fix spacing
1912         * docs/random/ds/0.9-suggested-changes: random
1913
1914 2005-04-23  David Schleef  <ds@schleef.org>
1915
1916         * gst/elements/Makefile.am:
1917         * gst/elements/gstcapsfilter.c: New element that acts like an
1918         identity, but filters caps.  Will eventually replace filtered
1919         caps in pad linking.
1920         * gst/gstutils.c: (gst_element_create_all_pads): New function
1921         to create all the ALWAYS pads that are registered with an
1922         element class.  This functionality should eventually be
1923         merged in with GstElement initialization.
1924         * gst/gstutils.h:
1925         * testsuite/trigger/README: part of trigger test code that should
1926         have been checked in a long time ago.
1927
1928 2005-04-23  David Schleef  <ds@schleef.org>
1929
1930         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
1931         needed with new versions of libtool (nobody will confirm this),
1932         and hard to carry around.
1933         * gst/autoplug/Makefile.am:
1934         * gst/base/Makefile.am:
1935         * gst/elements/Makefile.am:
1936         * gst/indexers/Makefile.am:
1937         * gst/schedulers/Makefile.am:
1938         * libs/gst/bytestream/Makefile.am:
1939         * libs/gst/control/Makefile.am:
1940         * libs/gst/dataprotocol/Makefile.am:
1941         * libs/gst/getbits/Makefile.am:
1942
1943 2005-04-21  Wim Taymans  <wim@fluendo.com>
1944
1945         * docs/design/draft-push-pull.txt:
1946         * docs/design/part-MT-refcounting.txt:
1947         * docs/design/part-TODO.txt:
1948         * docs/design/part-caps.txt:
1949         * docs/design/part-events.txt:
1950         * docs/design/part-gstbus.txt:
1951         * docs/design/part-gstpipeline.txt:
1952         * docs/design/part-messages.txt:
1953         * docs/design/part-push-pull.txt:
1954         * docs/design/part-query.txt:
1955         Some more docs.
1956
1957 2005-04-21  Wim Taymans  <wim@fluendo.com>
1958
1959         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
1960         (gst_message_new), (gst_message_new_error),
1961         (gst_message_new_warning), (gst_message_new_tag),
1962         (gst_message_new_state_changed), (gst_message_new_application),
1963         (gst_message_get_structure):
1964         * gst/gstmessage.h:
1965         * gst/gststructure.c: (gst_structure_set_parent_refcount),
1966         (gst_structure_copy_conditional):
1967         Use parent refcount in GstMessage to ensure GstStructure
1968         consistency.
1969         Cleaned up headers a bit.
1970         
1971
1972 2005-04-20  Wim Taymans  <wim@fluendo.com>
1973
1974         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1975         (gst_basesink_pad_getcaps), (gst_basesink_init),
1976         (gst_basesink_chain_unlocked):
1977         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
1978         (gst_type_find_helper):
1979         * gst/elements/gsttypefindelement.c:
1980         (gst_type_find_element_have_type), (gst_type_find_element_init),
1981         (stop_typefinding), (gst_type_find_element_handle_event),
1982         (find_suggest), (gst_type_find_element_chain),
1983         (gst_type_find_element_checkgetrange),
1984         (gst_type_find_element_getrange), (do_typefind),
1985         (gst_type_find_element_activate):
1986         * gst/gstbuffer.c: (_gst_buffer_sub_free),
1987         (gst_buffer_default_free), (gst_buffer_default_copy),
1988         (gst_buffer_set_caps):
1989         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
1990         (gst_caps_replace):
1991         * gst/gstmessage.c: (gst_message_new),
1992         (gst_message_new_state_changed):
1993         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1994         (gst_pad_set_checkgetrange_function),
1995         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
1996         (gst_pad_set_caps), (gst_pad_check_pull_range),
1997         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
1998         * gst/gstpad.h:
1999         * gst/gsttypefind.c: (gst_type_find_register):
2000         Make gst_caps_replace() work like other _replace() functions.
2001         Use _caps_replace() where possible.
2002         Make sure _message_new() initialises its field.
2003         Add gst_static_pad_template_get_caps()
2004
2005
2006 2005-04-18  Andy Wingo  <wingo@pobox.com>
2007
2008         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
2009         on the peer, not the pad. I think that was a typo. Pass an extra
2010         arg to see if random access is possible. Activate the pads as
2011         PULL_RANGE if possible.
2012
2013         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
2014
2015         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
2016         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
2017         to PROP_....
2018
2019 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2020
2021         * docs/faq/using.xml:
2022           Add note on gstreamer-properties (#154996).
2023
2024 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2025
2026         * docs/random/bbb/optional-properties:
2027           Some analysis on optional properties.
2028
2029 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2030
2031         * docs/gst/tmpl/gstelementfactory.sgml:
2032         * gst/gstelement.h:
2033         * gst/gstelementfactory.c: (gst_element_factory_init),
2034         (gst_element_factory_cleanup), (gst_element_register),
2035         (__gst_element_factory_add_static_pad_template),
2036         (gst_element_factory_get_static_pad_templates),
2037         (gst_element_factory_can_src_caps),
2038         (gst_element_factory_can_sink_caps):
2039         * gst/registries/Makefile.am:
2040         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
2041         (gst_xml_registry_class_init), (gst_xml_registry_init),
2042         (gst_xml_registry_new), (gst_xml_registry_set_property),
2043         (gst_xml_registry_get_property), (get_time), (make_dir),
2044         (gst_xml_registry_get_perms_func),
2045         (plugin_times_older_than_recurse), (plugin_times_older_than),
2046         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
2047         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
2048         (add_to_char_array), (read_string), (read_uint), (read_enum),
2049         (load_pad_template), (load_feature), (load_plugin), (load_paths),
2050         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
2051         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
2052         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
2053         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
2054         (gst_xml_registry_rebuild):
2055         * gst/registries/gstlibxmlregistry.h:
2056         * tools/gst-compprep.c: (main):
2057         * tools/gst-inspect.c: (print_pad_templates_info):
2058         * tools/gst-xmlinspect.c: (print_element_info):
2059           Use libxml2 for registry parsing, use staticpadtemplates in
2060           elementfactories. Makes gst_init() +/- 10x faster.
2061
2062 2005-04-12  Wim Taymans  <wim@fluendo.com>
2063
2064         * gst/base/Makefile.am:
2065         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2066         (gst_basesink_pad_getcaps), (gst_basesink_init),
2067         (gst_basesink_event), (gst_basesink_change_state):
2068         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2069         (gst_basesrc_init), (gst_basesrc_query),
2070         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
2071         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
2072         (gst_basesrc_check_get_range), (gst_basesrc_loop),
2073         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
2074         (gst_basesrc_stop), (gst_basesrc_activate),
2075         (gst_basesrc_change_state):
2076         * gst/base/gsttypefindhelper.c: (helper_find_peek),
2077         (helper_find_suggest), (gst_type_find_helper):
2078         * gst/base/gsttypefindhelper.h:
2079         * gst/elements/Makefile.am:
2080         * gst/elements/gstelements.c:
2081         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2082         (gst_fakesink_get_times), (gst_fakesink_event),
2083         (gst_fakesink_preroll), (gst_fakesink_render):
2084         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2085         (gst_fakesrc_init), (gst_fakesrc_event_handler),
2086         (gst_fakesrc_get_property), (gst_fakesrc_create),
2087         (gst_fakesrc_start), (gst_fakesrc_stop):
2088         * gst/elements/gstfakesrc.h:
2089         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
2090         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
2091         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
2092         (gst_filesrc_create_read), (gst_filesrc_create),
2093         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
2094         (gst_filesrc_start):
2095         * gst/elements/gsttypefindelement.c:
2096         (gst_type_find_element_have_type), (gst_type_find_element_init),
2097         (start_typefinding), (stop_typefinding), (push_buffer_store),
2098         (gst_type_find_element_handle_event),
2099         (gst_type_find_element_chain),
2100         (gst_type_find_element_checkgetrange),
2101         (gst_type_find_element_getrange), (do_typefind),
2102         (gst_type_find_element_activate),
2103         (gst_type_find_element_change_state):
2104         * gst/elements/gsttypefindelement.h:
2105         * gst/gstpipeline.c: (pipeline_bus_handler):
2106         Added typefind helper.
2107         Small preroll fix in the base sink.
2108         Disable typefind code in basesrc.
2109         Crude port of typefindelement.
2110         Fakesrc cleanups.
2111
2112
2113 2005-04-11  Wim Taymans  <wim@fluendo.com>
2114
2115         * check/gst/gstbus.c: (gstbus_suite):
2116         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
2117         * check/gstcheck.h:
2118           Fix up the timeout so that the test does not fail.
2119
2120 2005-04-06  Wim Taymans  <wim@fluendo.com>
2121
2122         * gst/base/README:
2123         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2124         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
2125         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
2126         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
2127         (gst_basesrc_check_get_range), (gst_basesrc_loop),
2128         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
2129         (gst_basesrc_stop), (gst_basesrc_activate),
2130         (gst_basesrc_change_state), (basesrc_find_peek),
2131         (basesrc_find_suggest), (gst_basesrc_type_find):
2132         * gst/base/gstbasesrc.h:
2133         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
2134         (gst_filesrc_class_init), (gst_filesrc_init),
2135         (gst_filesrc_finalize), (gst_filesrc_set_location),
2136         (gst_filesrc_set_property), (gst_filesrc_get_property),
2137         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
2138         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
2139         (gst_filesrc_create_read), (gst_filesrc_create),
2140         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
2141         * gst/elements/gstfilesrc.h:
2142         * gst/gstelement.c: (gst_element_get_state_func),
2143         (gst_element_lost_state), (gst_element_pads_activate):
2144         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2145         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
2146         (gst_pad_pull_range):
2147         * gst/gstpad.h:
2148         More work on the generic source base class, implement seeking,
2149         query.
2150         Make filesrc extend the base source class.
2151         Added gst_pad_set_checkgetrange_function to GstPad.
2152
2153 2005-04-06  Andy Wingo  <wingo@pobox.com>
2154
2155         * pkgconfig/gstreamer-base.pc.in:
2156         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
2157
2158         * pkgconfig/Makefile.am:
2159         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
2160
2161 2005-04-04  Wim Taymans  <wim@fluendo.com>
2162
2163         * gst/base/Makefile.am:
2164         * gst/base/README:
2165         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2166         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2167         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2168         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
2169         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2170         (gst_basesrc_base_init), (gst_basesrc_class_init),
2171         (gst_basesrc_init), (gst_basesrc_get_formats),
2172         (gst_basesrc_get_query_types), (gst_basesrc_query),
2173         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
2174         (gst_basesrc_set_property), (gst_basesrc_get_property),
2175         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
2176         (gst_basesrc_loop), (gst_basesrc_activate),
2177         (gst_basesrc_change_state):
2178         * gst/base/gstbasesrc.h:
2179         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
2180         (gst_fakesrc_class_init), (gst_fakesrc_init),
2181         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
2182         (gst_fakesrc_get_property), (gst_fakesrc_create):
2183         * gst/elements/gstfakesrc.h:
2184         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
2185         (gst_filesrc_open_file), (gst_filesrc_loop),
2186         (gst_filesrc_activate), (filesrc_find_peek),
2187         (gst_filesrc_type_find):
2188         Made base source class, make fakesrc extend it.
2189         Add comments to basesink class.
2190         Some filesrc cleanup.
2191
2192 2005-03-31  David Schleef  <ds@schleef.org>
2193
2194         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
2195         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
2196         expected to link against libgstreamer.
2197         * gst/base/Makefile.am: link against libgstreamer
2198         * gst/elements/Makefile.am: same
2199
2200 2005-03-31  Andy Wingo  <wingo@pobox.com>
2201
2202         * tests/instantiate/Makefile.am:
2203         * tests/instantiate/caps.c: Add test to test speed of caps copy
2204         and free.
2205
2206         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
2207         GMemChunk to be fair.
2208
2209         * gst/gsttrashstack.h: Remove warning about using the fallback
2210         trash stack implementation, it's still faster than malloc.
2211
2212 2005-03-30  Andy Wingo  <wingo@pobox.com>
2213
2214         * tests/complexity.c: Add a copyright.
2215
2216 2005-03-31  Wim Taymans  <wim@fluendo.com>
2217
2218         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
2219         (gst_base_transform_class_init), (gst_base_transform_init),
2220         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
2221         (gst_base_transform_get_property),
2222         (gst_base_transform_sink_activate),
2223         (gst_base_transform_src_activate),
2224         (gst_base_transform_change_state):
2225         * gst/base/gstbasetransform.h:
2226         * gst/elements/gstidentity.c: (gst_identity_class_init),
2227         (gst_identity_event), (gst_identity_check_perfect),
2228         (gst_identity_transform), (gst_identity_start),
2229         (gst_identity_stop):
2230         Added start/stop methods to transform base class so subclasses 
2231         don't need to deal with state changes even.
2232
2233 2005-03-31  Wim Taymans  <wim@fluendo.com>
2234
2235         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
2236         (gst_event_new_discontinuous), (gst_event_discont_get_value):
2237         * gst/gstevent.h:
2238         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2239         (gst_pad_pull_range):
2240         Added rate to the discont event to prepare for variable speed
2241         and reverse playback.
2242
2243 2005-03-29  David Schleef  <ds@schleef.org>
2244
2245         * configure.ac:
2246         * testsuite/trigger/Makefile.am:
2247         * testsuite/trigger/trigger.c: A little example program to show
2248         how trigger-based elements can work.
2249
2250 2005-03-29  Wim Taymans  <wim@fluendo.com>
2251
2252         * gst/base/Makefile.am:
2253         * gst/base/README:
2254         * gst/base/gstbasesink.c: (gst_basesink_get_type),
2255         (gst_basesink_base_init), (gst_basesink_class_init),
2256         (gst_basesink_pad_getcaps), (gst_basesink_init),
2257         (gst_basesink_activate), (gst_basesink_change_state):
2258         * gst/base/gstbasesink.h:
2259         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2260         (gst_base_transform_base_init), (gst_base_transform_finalize),
2261         (gst_base_transform_class_init), (gst_base_transform_init),
2262         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
2263         (gst_base_transform_event), (gst_base_transform_getrange),
2264         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
2265         (gst_base_transform_set_property),
2266         (gst_base_transform_get_property),
2267         (gst_base_transform_sink_activate),
2268         (gst_base_transform_src_activate),
2269         (gst_base_transform_change_state):
2270         * gst/base/gstbasetransform.h:
2271         * gst/elements/gstidentity.c: (gst_identity_finalize),
2272         (gst_identity_class_init), (gst_identity_init),
2273         (gst_identity_event), (gst_identity_check_perfect),
2274         (gst_identity_transform), (gst_identity_set_property),
2275         (gst_identity_get_property), (gst_identity_change_state):
2276         * gst/elements/gstidentity.h:
2277         * gst/gstelement.c: (gst_element_get_state_func),
2278         (gst_element_lost_state), (gst_element_pads_activate):
2279         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2280         (gst_pad_check_pull_range), (gst_pad_pull_range):
2281         * gst/gstpad.h:
2282         Simplify pad activation.
2283         Added function to check if pull_range can be performed.
2284         Error out when pulling inactive or flushing pads.
2285         Removed const from refcounted types as it does not make sense.
2286         Simplify pad templates in basesink
2287         Added base class for simple 1-to-1 transforms.
2288         Make identity subclass the base transform.
2289
2290 2005-03-29  Andy Wingo  <wingo@pobox.com>
2291
2292         * docs/libs/gstreamer-libs-overrides.txt: 
2293         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
2294         really don't understand what's going on, but like whatever. I want
2295         green buildbot!
2296
2297         * docs/gst/Makefile.am:
2298         * docs/libs/Makefile.am: Dist the overrides files.
2299
2300         * check/Makefile.am (clean-local): Remove .libs directories.
2301
2302         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
2303         elements to EXTRA_DIST, so po/ files are happy.
2304
2305         * po/POTFILES.in: Er, remove it here.
2306
2307         * po/POTFILES: Remove gstspider.c.
2308
2309         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
2310
2311         * docs/libs/gstreamer-libs-docs.sgml: 
2312         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
2313         bytestream.
2314
2315         * tests/complexity.c (main): Set the length of the preroll queue
2316         on the sinks to prevent a lockup.
2317
2318         * libs/gst/dataprotocol/Makefile.am: 
2319         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
2320         the same as the one in check/gst-libs/gdp.c.
2321
2322         * po/, docs/gst/: Commit automatic changes to docs and po files.
2323
2324         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
2325         the versioned libgstbase.
2326
2327         * check/Makefile.am: Depend on an unversioned gst-register, seems
2328         to make autoconf happier.
2329
2330         * gst/base/Makefile.am: Make libgstbase a versioned lib.
2331
2332 2005-03-28  Wim Taymans  <wim@fluendo.com>
2333
2334         * configure.ac:
2335         * docs/design/part-gstelement.txt:
2336         * docs/design/part-negotiation.txt:
2337         * docs/design/part-preroll.txt:
2338         * docs/design/part-scheduling.txt:
2339         * docs/design/part-states.txt:
2340         * gst/Makefile.am:
2341         * gst/base/Makefile.am:
2342         * gst/base/README:
2343         * gst/base/gstbasesink.c: (gst_basesink_get_template),
2344         (gst_basesink_base_init), (gst_basesink_class_init),
2345         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2346         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2347         (gst_basesink_set_pad_functions),
2348         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
2349         (gst_basesink_set_property), (gst_basesink_get_property),
2350         (gst_base_sink_get_template), (gst_base_sink_get_caps),
2351         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
2352         (gst_basesink_preroll_queue_push),
2353         (gst_basesink_preroll_queue_empty),
2354         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
2355         (gst_basesink_event), (gst_basesink_get_times),
2356         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
2357         (gst_basesink_chain_unlocked), (gst_basesink_chain),
2358         (gst_basesink_loop), (gst_basesink_activate),
2359         (gst_basesink_change_state):
2360         * gst/base/gstbasesink.h:
2361         * gst/elements/Makefile.am:
2362         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
2363         (gst_fakesink_class_init), (gst_fakesink_init),
2364         (gst_fakesink_set_property), (gst_fakesink_get_property),
2365         (gst_fakesink_get_times), (gst_fakesink_event),
2366         (gst_fakesink_preroll), (gst_fakesink_render),
2367         (gst_fakesink_change_state):
2368         * gst/elements/gstfakesink.h:
2369         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2370         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
2371         * gst/gstelement.c: (gst_element_add_pad),
2372         (gst_element_get_state_func), (gst_element_abort_state),
2373         (gst_element_commit_state), (gst_element_lost_state),
2374         (gst_element_set_state), (gst_element_pads_activate):
2375         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
2376         * gst/gstpipeline.c: (gst_pipeline_send_event),
2377         (gst_pipeline_change_state):
2378         Added state change code.
2379         Added/updated docs.
2380         Added sink base class, make fakesink extend the base class.
2381         Small cleanups in GstPipeline.
2382
2383 2005-03-26  David Schleef  <ds@schleef.org>
2384
2385         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
2386         is broken and should be implemented in a different library.
2387         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
2388         * gst/gst.h: remove gstcpu.h
2389         * gst/gstcpu.c: remove
2390         * gst/gstcpu.h: remove
2391         * gst/Makefile.am.future: Remove this file.  It's ancient.
2392
2393 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2394
2395         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2396         (gst_bin_send_event):
2397           Add default event/set_manager handlers. The set_manager handler
2398           takes care that the manager is distributed over kids that were
2399           already in the bin before the manager was set. The event handler
2400           is a utility virtual function that sends the event over all sinks,
2401           so that gst_element_send_event (bin, event); has the expected
2402           behaviour.
2403         * gst/gstpad.c: (gst_pad_event_default):
2404           Re-install default event handling for discontinuities, so that
2405           seeking works without requiring hacks in applications or extra
2406           code in sinks.
2407         * gst/gstpipeline.c: (gst_pipeline_class_init),
2408         (gst_pipeline_send_event):
2409           Half hack, half utility: set a pipeline to PAUSED for seek events,
2410           since that is the only way we can guarantee a/v sync. Means that
2411           you can do gst_element_seek (pipeline, method, pos); on a pipeline
2412           and it "just works".
2413
2414 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2415
2416         * gst/gstpipeline.c: (gst_pipeline_use_clock):
2417           Lock/unlock mismatch.
2418
2419 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2420
2421         * docs/faq/gst-uninstalled:
2422           add gst-plugins-base
2423         * docs/gst/Makefile.am:
2424           don't error out until docs are fixed
2425         * docs/gst/gstreamer.types:
2426           remove thread
2427
2428 2005-03-22  Wim Taymans  <wim@fluendo.com>
2429
2430         * check/Makefile.am:
2431         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
2432         * gst/gststructure.c: (gst_structure_set_valist),
2433         (gst_structure_copy_conditional):
2434         Activated more tests.
2435         Added message test.
2436         Added G_TYPE_POINTER to GstStructure.
2437         
2438
2439 2005-03-22  Wim Taymans  <wim@fluendo.com>
2440
2441         * docs/design/part-TODO.txt:
2442         * docs/design/part-events.txt:
2443         * docs/design/part-gstbin.txt:
2444         * docs/design/part-gstbus.txt:
2445         * docs/design/part-gstpipeline.txt:
2446         * docs/design/part-messages.txt:
2447         * gst/gstbus.c:
2448         * gst/gstmessage.c:
2449         Docs updates
2450
2451 2005-03-21  Wim Taymans  <wim@fluendo.com>
2452
2453         * gst/gstbus.c: (gst_bus_post):
2454         Fix copy-and-paste error.
2455
2456 2005-03-21  Wim Taymans  <wim@fluendo.com>
2457
2458         * check/Makefile.am:
2459         * gst/Makefile.am:
2460         * gst/elements/Makefile.am:
2461         * gst/elements/gstelements.c:
2462         * gst/elements/gstfakesink.c: (gst_fakesink_init),
2463         (gst_fakesink_event), (gst_fakesink_chain):
2464         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2465         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
2466         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
2467         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
2468         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2469         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
2470         (gst_fakesrc_loop), (gst_fakesrc_activate),
2471         (gst_fakesrc_change_state):
2472         * gst/elements/gstfakesrc.h:
2473         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
2474         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
2475         (gst_filesrc_open_file), (gst_filesrc_loop),
2476         (gst_filesrc_activate), (gst_filesrc_change_state),
2477         (filesrc_find_peek), (filesrc_find_suggest),
2478         (gst_filesrc_type_find):
2479         * gst/elements/gstidentity.c: (gst_identity_finalize),
2480         (gst_identity_class_init), (gst_identity_init),
2481         (gst_identity_proxy_getcaps), (identity_queue_push),
2482         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
2483         (gst_identity_getrange), (gst_identity_chain),
2484         (gst_identity_sink_loop), (gst_identity_src_loop),
2485         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
2486         (gst_identity_set_property), (gst_identity_get_property),
2487         (gst_identity_change_state):
2488         * gst/elements/gstidentity.h:
2489         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2490         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
2491         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
2492         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
2493         (gst_tee_sink_activate):
2494         * gst/elements/gsttee.h:
2495         * gst/gst.c: (gst_register_core_elements), (init_post):
2496         * gst/gst.h:
2497         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
2498         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
2499         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
2500         (gst_bin_change_state):
2501         * gst/gstbin.h:
2502         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
2503         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
2504         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
2505         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
2506         (gst_bus_set_sync_handler), (gst_bus_create_watch),
2507         (bus_watch_callback), (bus_watch_destroy),
2508         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
2509         (poll_timeout), (gst_bus_poll):
2510         * gst/gstbus.h:
2511         * gst/gstcaps.h:
2512         * gst/gstdata.h:
2513         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2514         (gst_element_post_message), (gst_element_message_full),
2515         (gst_element_get_state_func), (gst_element_get_state),
2516         (gst_element_abort_state), (gst_element_commit_state),
2517         (gst_element_lost_state), (gst_element_set_state),
2518         (gst_element_pads_activate), (gst_element_change_state),
2519         (gst_element_dispose), (gst_element_set_manager_func),
2520         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
2521         (gst_element_set_manager), (gst_element_get_manager),
2522         (gst_element_set_bus), (gst_element_get_bus),
2523         (gst_element_set_scheduler), (gst_element_get_scheduler):
2524         * gst/gstelement.h:
2525         * gst/gstevent.c: (gst_event_new_segment_seek),
2526         (gst_event_new_flush):
2527         * gst/gstevent.h:
2528         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
2529         (_gst_message_free), (gst_message_get_type), (gst_message_new),
2530         (gst_message_new_eos), (gst_message_new_error),
2531         (gst_message_new_warning), (gst_message_new_tag),
2532         (gst_message_new_state_changed), (gst_message_new_application),
2533         (gst_message_get_structure), (gst_message_parse_tag),
2534         (gst_message_parse_state_changed), (gst_message_parse_error),
2535         (gst_message_parse_warning):
2536         * gst/gstmessage.h:
2537         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
2538         (gst_real_pad_set_property), (gst_pad_set_active),
2539         (gst_pad_is_active), (gst_pad_set_blocked_async),
2540         (gst_pad_set_blocked), (gst_pad_is_blocked),
2541         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
2542         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
2543         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
2544         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
2545         (gst_pad_link_filtered), (gst_pad_relink_filtered),
2546         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
2547         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
2548         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
2549         (gst_pad_set_caps), (gst_pad_configure_sink),
2550         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
2551         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
2552         (gst_real_pad_dispose), (gst_real_pad_finalize),
2553         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
2554         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2555         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
2556         * gst/gstpad.h:
2557         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
2558         (pipeline_bus_handler), (gst_pipeline_change_state),
2559         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
2560         * gst/gstpipeline.h:
2561         * gst/gstprobe.h:
2562         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2563         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
2564         (gst_queue_link_src), (gst_queue_bufferalloc),
2565         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2566         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
2567         (gst_queue_loop), (gst_queue_handle_src_event),
2568         (gst_queue_handle_src_query), (gst_queue_src_activate),
2569         (gst_queue_change_state):
2570         * gst/gstqueue.h:
2571         * gst/gstscheduler.c: (gst_scheduler_init),
2572         (gst_scheduler_dispose), (gst_scheduler_create_task),
2573         (gst_scheduler_factory_create):
2574         * gst/gstscheduler.h:
2575         * gst/gststructure.c: (gst_structure_get_type),
2576         (gst_structure_copy_conditional):
2577         * gst/gststructure.h:
2578         * gst/gsttaginterface.h:
2579         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
2580         (gst_task_init), (gst_task_dispose), (gst_task_create),
2581         (gst_task_get_state), (gst_task_start), (gst_task_stop),
2582         (gst_task_pause):
2583         * gst/gsttask.h:
2584         * gst/gstthread.c:
2585         * gst/gstthread.h:
2586         * gst/gsttypes.h:
2587         * gst/schedulers/Makefile.am:
2588         * gst/schedulers/cothreads_compat.h:
2589         * gst/schedulers/entryscheduler.c:
2590         * gst/schedulers/faircothreads.c:
2591         * gst/schedulers/faircothreads.h:
2592         * gst/schedulers/fairscheduler.c:
2593         * gst/schedulers/gstbasicscheduler.c:
2594         * gst/schedulers/gstoptimalscheduler.c:
2595         * gst/schedulers/gthread-cothreads.h:
2596         * gst/schedulers/threadscheduler.c:
2597         (gst_thread_scheduler_task_get_type),
2598         (gst_thread_scheduler_task_class_init),
2599         (gst_thread_scheduler_task_init),
2600         (gst_thread_scheduler_task_start),
2601         (gst_thread_scheduler_task_stop),
2602         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
2603         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2604         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
2605         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
2606         (plugin_init):
2607         * libs/gst/Makefile.am:
2608         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
2609         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
2610         (gst_file_pad_parent_set):
2611         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2612         (gst_dp_event_from_packet):
2613         * tests/complexity.c: (main):
2614         * tests/mass_elements.c: (main):
2615         * testsuite/states/locked.c: (message_received), (main):
2616         * testsuite/states/parent.c: (main):
2617         * tools/gst-inspect.c: (print_element_flag_info),
2618         (print_implementation_info), (print_pad_info):
2619         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
2620         (main):
2621         * tools/gst-md5sum.c: (event_loop), (main):
2622         * tools/gst-typefind.c: (main):
2623         * tools/gst-xmlinspect.c: (print_element_info):
2624         Next big merge.
2625         Added GstBus for mainloop integration.
2626         Added GstMessage for sending notifications on the bus.
2627         Added GstTask as an abstraction for pipeline entry points.
2628         Removed GstThread.
2629         Removed Schedulers.
2630         Simplified GstQueue for multithreaded core.
2631         Made _link threadsafe, removed old capsnego.
2632         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
2633         Added pad blocking functions.
2634         Reworked scheduling functions in GstPad to prepare for
2635         scheduling updates soon.
2636         Moved events out of data stream.
2637         Simplified GstEvent types.
2638         Added return values to push/pull.
2639         Removed clocking from GstElement.
2640         Added prototypes for state change function for next merge.
2641         Removed iterate from bins and state change management.
2642         Fixed some elements, disabled others for now.
2643         Fixed -inspect and -launch.
2644         Added check for GstBus.
2645
2646 2005-03-10  Wim Taymans  <wim@fluendo.com>
2647
2648         * docs/design/part-MT-refcounting.txt:
2649         * docs/design/part-clocks.txt:
2650         * docs/design/part-gstelement.txt:
2651         * docs/design/part-gstobject.txt:
2652         * docs/design/part-standards.txt:
2653         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2654         (gst_bin_remove_func), (gst_bin_remove):
2655         * gst/gstbin.h:
2656         * gst/gstbuffer.c:
2657         * gst/gstcaps.h:
2658         * testsuite/clock/clock1.c: (main):
2659         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
2660         (main):
2661         * testsuite/dlopen/loadgst.c: (do_test):
2662         * testsuite/refcounting/bin.c: (add_remove_test1),
2663         (add_remove_test2), (main):
2664         * testsuite/refcounting/element.c: (main):
2665         * testsuite/refcounting/element_pad.c: (main):
2666         * testsuite/refcounting/pad.c: (main):
2667         * tools/gst-launch.c: (sigint_handler_sighandler):
2668         * tools/gst-typefind.c: (main):
2669         Doc updates.
2670         Added doc about clock.
2671         removed gst_bin_iterate_recurse_up(), marked methods
2672         for removal.
2673         Fix more testsuites.
2674
2675 2005-03-09  Wim Taymans  <wim@fluendo.com>
2676
2677         * gst/gstpad.c: (gst_pad_get_direction),
2678         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
2679         (gst_pad_collect_valist):
2680         * testsuite/bins/interface.c: (main):
2681         * testsuite/caps/audioscale.c: (test_caps):
2682         * testsuite/caps/caps.c: (test1), (test2), (test3):
2683         * testsuite/caps/deserialize.c: (main):
2684         * testsuite/caps/enumcaps.c: (main):
2685         * testsuite/caps/filtercaps.c: (main):
2686         * testsuite/caps/intersect2.c: (main):
2687         * testsuite/caps/random.c: (main):
2688         * testsuite/caps/renegotiate.c: (my_fixate), (main):
2689         * testsuite/caps/sets.c: (check_caps):
2690         * testsuite/caps/simplify.c: (check_caps), (main):
2691         * testsuite/caps/subtract.c: (check_caps):
2692         Fix _pad_get_direction wrt ghostpads.
2693         Fix caps testsuite.
2694
2695 2005-03-09  Wim Taymans  <wim@fluendo.com>
2696
2697         * check/Makefile.am:
2698         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
2699         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
2700         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
2701         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
2702         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
2703         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
2704         (gst_bin_remove), (gst_bin_iterate_recurse_up),
2705         (bin_element_is_sink), (gst_bin_iterate_sinks),
2706         (gst_bin_iterate_all_by_interface):
2707         * gst/gstbin.h:
2708         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
2709         (gst_element_change_state), (gst_element_dispose),
2710         (gst_element_finalize), (gst_element_set_loop_function):
2711         * gst/gstelement.h:
2712         * gst/gstiterator.c: (find_custom_fold_func):
2713         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2714         (gst_pad_collectv), (gst_pad_collect_valist),
2715         (gst_pad_template_new):
2716         * gst/gstpipeline.c: (gst_pipeline_class_init),
2717         (gst_pipeline_dispose), (gst_pipeline_set_property),
2718         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
2719         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
2720         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
2721         * gst/gstutils.h:
2722         * gst/schedulers/entryscheduler.c:
2723         * gst/schedulers/gstbasicscheduler.c:
2724         (gst_basic_scheduler_cothreaded_chain),
2725         (gst_basic_scheduler_chain_add_element):
2726         * testsuite/bins/interface.c: (main):
2727         Added GstBin test.
2728         Added GstSystemClock test.
2729         Implemented clock distribution code in GstBin.
2730         Implemented iterate sinks method for future use.
2731         Rearranged gstelement.h
2732         Fix GstIterator comparison bug.
2733         Moved some code to GstPipeline, mostly clocking related.
2734
2735 2005-03-09  Wim Taymans  <wim@fluendo.com>
2736
2737         * configure.ac:
2738         * gst/gst_private.h:
2739         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2740         (gst_bin_remove_func), (gst_bin_remove),
2741         (gst_bin_get_by_name_recurse_up):
2742         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
2743         (gst_clock_id_compare_func), (gst_clock_id_wait),
2744         (gst_clock_id_wait_async), (gst_clock_init),
2745         (gst_clock_adjust_unlocked), (gst_clock_get_time):
2746         * gst/gstelement.h:
2747         * gst/gstinfo.c: (_gst_debug_init):
2748         * gst/gstobject.h:
2749         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2750         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
2751         * gst/gstpad.h:
2752         Bump version number, we're now 0.9.0
2753         Add future debugging category.
2754         Fix NULL _unref() in _get_by_name_recurse_up
2755         Rearrange gstpad.h.
2756         Update some docs.
2757
2758 2005-03-08  Wim Taymans  <wim@fluendo.com>
2759
2760         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
2761         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
2762         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2763         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
2764         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
2765         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
2766         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
2767         * gst/elements/gstidentity.c: (gst_identity_class_init):
2768         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
2769         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
2770         * gst/elements/gstshaper.c: (gst_shaper_class_init):
2771         * gst/elements/gststatistics.c: (gst_statistics_class_init):
2772         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
2773         (gst_tee_link):
2774         * gst/gstelement.c: (gst_element_class_init),
2775         (gst_element_base_class_init), (gst_element_init),
2776         (gst_element_get_random_pad), (gst_element_wait_state_change),
2777         (gst_element_change_state), (gst_element_dispose),
2778         (gst_element_finalize), (gst_element_set_loop_function):
2779         * gst/gstelement.h:
2780         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
2781         * gst/gstthread.c: (gst_thread_class_init),
2782         (gst_thread_release_children_locks), (gst_thread_change_state):
2783         * gst/schedulers/gstbasicscheduler.c:
2784         (gst_basic_scheduler_loopfunc_wrapper),
2785         (gst_basic_scheduler_chain_wrapper),
2786         (gst_basic_scheduler_src_wrapper),
2787         (gst_basic_scheduler_remove_element):
2788         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
2789         Remove threadsafe properties. Fix elements because GObject
2790         complains when installing a property before declaring a
2791         set/get_property handler.
2792         Rearrange gstelement.h file, use STATE macros for state locks.
2793         Free mutexes in the finalize method instead of dispose.
2794
2795 2005-03-08  Wim Taymans  <wim@fluendo.com>
2796
2797         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
2798         * gst/gstthread.c: (gst_thread_release_children_locks):
2799         Added parentage check.
2800         Fix build og GstThread again.
2801
2802 2005-03-08  Wim Taymans  <wim@fluendo.com>
2803
2804         * docs/design/part-MT-refcounting.txt:
2805         * docs/design/part-conventions.txt:
2806         * docs/design/part-gstobject.txt:
2807         * docs/design/part-relations.txt:
2808         * docs/design/part-standards.txt:
2809         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2810         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
2811         (gst_bin_get_by_name), (gst_bin_get_by_interface),
2812         (gst_bin_iterate_all_by_interface):
2813         * gst/gstbuffer.h:
2814         * gst/gstclock.h:
2815         * gst/gstelement.c: (gst_element_class_init),
2816         (gst_element_change_state), (gst_element_set_loop_function):
2817         * gst/gstelement.h:
2818         * gst/gstiterator.c:
2819         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
2820         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
2821         (gst_object_dispatch_properties_changed), (gst_object_set_name),
2822         (gst_object_set_parent), (gst_object_unparent),
2823         (gst_object_check_uniqueness):
2824         * gst/gstobject.h:
2825         Docs updates, clean up some headers.
2826
2827 2005-03-07  Wim Taymans  <wim@fluendo.com>
2828
2829         * check/.cvsignore:
2830         * check/Makefile.am:
2831         * check/gst-libs/.cvsignore:
2832         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
2833         * check/gst/.cvsignore:
2834         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
2835         (START_TEST), (gstbus_suite), (main):
2836         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
2837         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
2838         (gst_data_suite), (main):
2839         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
2840         (add_fold_func), (gstiterator_suite), (main):
2841         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
2842         (thread_name_object), (thread_name_object_default),
2843         (gst_object_name_compare), (gst_object_suite), (main):
2844         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
2845         (gst_pad_suite), (main):
2846         * check/gstcheck.c: (gst_check_log_message_func),
2847         (gst_check_log_critical_func), (gst_check_init):
2848         * check/gstcheck.h:
2849         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2850         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
2851         Added checks.
2852
2853 2005-03-07  Wim Taymans  <wim@fluendo.com>
2854
2855         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
2856         (gst_list_iterator_next), (gst_list_iterator_resync),
2857         (gst_list_iterator_free), (gst_iterator_new_list),
2858         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
2859         (gst_iterator_free), (gst_iterator_push), (filter_next),
2860         (filter_resync), (filter_uninit), (filter_free),
2861         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
2862         (gst_iterator_foreach), (find_custom_fold_func),
2863         (gst_iterator_find_custom):
2864         * gst/gstiterator.h:
2865         Added missing files.
2866
2867 2005-03-07  Wim Taymans  <wim@fluendo.com>
2868
2869         * Makefile.am:
2870         * configure.ac:
2871         * docs/design/part-MT-refcounting.txt:
2872         * docs/design/part-conventions.txt:
2873         * docs/design/part-gstobject.txt:
2874         * docs/design/part-relations.txt:
2875         * examples/mixer/mixer.c: (main):
2876         * examples/thread/thread.c: (eos), (main):
2877         * gst/Makefile.am:
2878         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
2879         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
2880         (gst_spider_plug_from_srcpad):
2881         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
2882         (gst_spider_identity_change_state),
2883         (gst_spider_identity_sink_loop_type_finding):
2884         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
2885         * gst/elements/gstidentity.c: (gst_identity_init):
2886         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
2887         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
2888         * gst/elements/gsttypefindelement.c: (free_entry):
2889         * gst/gst.c:
2890         * gst/gst.h:
2891         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
2892         (gst_bin_set_clock_func), (gst_bin_auto_clock),
2893         (gst_bin_set_index), (gst_bin_set_element_sched),
2894         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
2895         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
2896         (gst_bin_iterate_elements), (iterate_child_recurse),
2897         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
2898         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
2899         (compare_interface), (gst_bin_get_by_interface),
2900         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
2901         * gst/gstbin.h:
2902         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
2903         (gst_buffer_default_free), (gst_buffer_default_copy),
2904         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
2905         (gst_buffer_create_sub):
2906         * gst/gstbuffer.h:
2907         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
2908         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
2909         (gst_caps_unref), (gst_static_caps_get),
2910         (gst_caps_remove_and_get_structure), (gst_caps_append),
2911         (gst_caps_append_structure), (gst_caps_remove_structure),
2912         (gst_caps_copy_nth), (gst_caps_set_simple),
2913         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
2914         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
2915         (gst_caps_structure_intersect_field), (gst_caps_intersect),
2916         (gst_caps_structure_subtract_field), (gst_caps_subtract),
2917         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
2918         (gst_caps_structure_figure_out_union),
2919         (gst_caps_switch_structures), (gst_caps_do_simplify),
2920         (gst_caps_replace), (gst_caps_from_string),
2921         (gst_caps_copy_conditional):
2922         * gst/gstcaps.h:
2923         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
2924         (_gst_clock_id_free), (gst_clock_id_unref),
2925         (gst_clock_id_compare_func), (gst_clock_id_wait),
2926         (gst_clock_id_wait_async), (gst_clock_class_init),
2927         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
2928         (gst_clock_get_time), (gst_clock_set_time_adjust),
2929         (gst_clock_set_property), (gst_clock_get_property):
2930         * gst/gstclock.h:
2931         * gst/gstcompat.h:
2932         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
2933         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
2934         * gst/gstdata.h:
2935         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2936         (gst_element_requires_clock), (gst_element_provides_clock),
2937         (gst_element_set_clock), (gst_element_clock_wait),
2938         (gst_element_wait), (gst_element_set_time_delay),
2939         (gst_element_is_indexable), (gst_element_add_pad),
2940         (gst_element_add_ghost_pad), (gst_element_remove_pad),
2941         (pad_compare_name), (gst_element_get_static_pad),
2942         (gst_element_request_pad), (gst_element_get_request_pad),
2943         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
2944         (gst_element_class_get_pad_template_list),
2945         (gst_element_class_get_pad_template), (gst_element_error_func),
2946         (gst_element_get_random_pad), (gst_element_get_event_masks),
2947         (gst_element_send_event), (gst_element_seek),
2948         (gst_element_get_query_types), (gst_element_query),
2949         (gst_element_get_formats), (gst_element_convert),
2950         (gst_element_is_locked_state), (gst_element_set_locked_state),
2951         (gst_element_sync_state_with_parent), (gst_element_change_state),
2952         (gst_element_finalize), (gst_element_yield),
2953         (gst_element_interrupt), (gst_element_set_scheduler),
2954         (gst_element_get_scheduler), (gst_element_set_loop_function):
2955         * gst/gstelement.h:
2956         * gst/gstevent.h:
2957         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
2958         (gst_format_get_by_nick), (gst_format_get_details),
2959         (gst_format_iterate_definitions):
2960         * gst/gstformat.h:
2961         * gst/gstindex.c: (gst_index_gtype_resolver):
2962         * gst/gstinfo.c:
2963         * gst/gstinfo.h:
2964         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
2965         (gst_mem_chunk_free):
2966         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2967         (gst_object_ref), (gst_object_unref), (gst_object_sink),
2968         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
2969         (gst_object_dispatch_properties_changed),
2970         (gst_object_set_name_default), (gst_object_set_name),
2971         (gst_object_get_name), (gst_object_set_name_prefix),
2972         (gst_object_get_name_prefix), (gst_object_set_parent),
2973         (gst_object_get_parent), (gst_object_unparent),
2974         (gst_object_check_uniqueness), (gst_object_save_thyself),
2975         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
2976         (gst_object_set_property), (gst_object_get_property),
2977         (gst_object_get_path_string):
2978         * gst/gstobject.h:
2979         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2980         (gst_real_pad_init), (gst_real_pad_get_property),
2981         (gst_pad_custom_new), (gst_pad_get_direction),
2982         (gst_pad_set_active), (gst_pad_is_active),
2983         (gst_pad_set_event_function), (gst_pad_is_linked),
2984         (gst_pad_link_free), (gst_pad_link_intersect),
2985         (gst_pad_link_fixate), (gst_pad_set_caps),
2986         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
2987         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
2988         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
2989         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
2990         (gst_pad_get_caps), (gst_pad_peer_get_caps),
2991         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
2992         (gst_pad_realize), (gst_pad_get_allowed_caps),
2993         (gst_real_pad_dispose), (gst_real_pad_finalize),
2994         (gst_pad_collectv), (gst_pad_collect_valist),
2995         (gst_pad_template_dispose), (gst_pad_template_new),
2996         (gst_pad_get_internal_links):
2997         * gst/gstpad.h:
2998         * gst/gstpipeline.c: (gst_pipeline_dispose),
2999         (gst_pipeline_change_state):
3000         * gst/gstpipeline.h:
3001         * gst/gstplugin.c:
3002         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
3003         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
3004         * gst/gstpluginfeature.h:
3005         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3006         * gst/gstquery.c: (_gst_query_type_initialize),
3007         (gst_query_type_register), (gst_query_type_get_by_nick),
3008         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
3009         * gst/gstquery.h:
3010         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
3011         * gst/gstscheduler.c: (gst_scheduler_add_element),
3012         (gst_scheduler_factory_create):
3013         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3014         (gst_structure_free), (gst_structure_set_name),
3015         (gst_structure_id_set_value), (gst_structure_set_value),
3016         (gst_structure_set_valist), (gst_structure_remove_field),
3017         (gst_structure_remove_fields),
3018         (gst_structure_remove_fields_valist),
3019         (gst_structure_remove_all_fields), (gst_structure_foreach),
3020         (gst_structure_map_in_place),
3021         (gst_caps_structure_fixate_field_nearest_int),
3022         (gst_caps_structure_fixate_field_nearest_double):
3023         * gst/gststructure.h:
3024         * gst/gstsystemclock.c: (gst_system_clock_class_init),
3025         (gst_system_clock_init), (gst_system_clock_dispose),
3026         (gst_system_clock_async_thread),
3027         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
3028         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3029         * gst/gstsystemclock.h:
3030         * gst/gsttag.c: (gst_tag_list_add_value_internal),
3031         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
3032         * gst/gsttaginterface.c:
3033         * gst/gstthread.c: (gst_thread_dispose),
3034         (gst_thread_release_children_locks), (gst_thread_change_state),
3035         (gst_thread_main_loop):
3036         * gst/gsttrashstack.h:
3037         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
3038         * gst/gsttypes.h:
3039         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3040         (gst_element_request_pad), (gst_element_get_pad_from_template),
3041         (gst_element_request_compatible_pad),
3042         (gst_element_get_compatible_pad_filtered),
3043         (gst_element_get_compatible_pad), (gst_element_state_get_name),
3044         (gst_element_link_pads_filtered), (gst_element_link_filtered),
3045         (gst_element_link_many), (gst_element_link),
3046         (gst_element_link_pads), (gst_element_unlink_pads),
3047         (gst_element_unlink_many), (gst_element_unlink),
3048         (gst_pad_can_link_filtered), (gst_pad_can_link),
3049         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
3050         (gst_object_default_error), (gst_bin_add_many),
3051         (gst_bin_remove_many), (gst_element_populate_std_props),
3052         (gst_element_class_install_std_props), (gst_buffer_merge),
3053         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
3054         (link_fold_func), (gst_pad_proxy_setcaps):
3055         * gst/gstutils.h:
3056         * gst/gstvalue.c: (gst_value_deserialize_string):
3057         * gst/parse/grammar.y:
3058         * gst/schedulers/gstbasicscheduler.c:
3059         (gst_basic_scheduler_cothreaded_chain),
3060         (gst_basic_scheduler_chain_recursive_add),
3061         (gst_basic_scheduler_pad_link):
3062         * gst/schedulers/gstoptimalscheduler.c:
3063         (get_group_schedule_function),
3064         (gst_opt_scheduler_state_transition),
3065         (gst_opt_scheduler_add_element), (element_get_reachables_func):
3066         * libs/gst/bytestream/bytestream.c:
3067         * libs/gst/dataprotocol/dataprotocol.c:
3068         (gst_dp_header_from_buffer):
3069         * po/nb.po:
3070         * po/ru.po:
3071         * tests/threadstate/threadstate2.c: (eos):
3072         * tools/gst-compprep.c: (main):
3073         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
3074         (print_pad_info), (print_children_info):
3075         * tools/gst-launch.c: (idle_func), (main):
3076         * tools/gst-md5sum.c: (idle_func), (main):
3077         * tools/gst-xmlinspect.c: (print_element_info):
3078         First THREADED backport attempt, focusing on adding locks and
3079         making sure the API is threadsafe. Needs more work. More docs
3080         follow this week.
3081
3082 2005-02-24  Andy Wingo  <wingo@pobox.com>
3083
3084         * tests/bench-complexity.scm:
3085         * tests/complexity.gnuplot: New files, good for running complexity
3086         benchmarks.
3087
3088         * tests/Makefile.am:
3089         * tests/complexity.c: New test, sets up N elements, at each level
3090         teeing into M streams per element. Eeeenteresting.
3091
3092         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
3093         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
3094         running bench-mass_elements.scm.
3095
3096         * tests/bench-mass_elements.scm: New script, runs mass_elements
3097         for various numbers of identities, outputting the results to a
3098         file. Requires guile 1.6. Just for testing.
3099
3100 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3101
3102         * gst/schedulers/fairscheduler.c:
3103           compile with debug disabled
3104
3105 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3106
3107         * configure.ac:
3108           hunting season on 0.9 is now OPEN
3109
3110 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
3111
3112         * docs/libs/tmpl/gstcontrol.sgml:
3113         * docs/libs/tmpl/gstdparam.sgml:
3114         * docs/libs/tmpl/gstdplinint.sgml:
3115         * docs/libs/tmpl/gstdpman.sgml:
3116         * docs/libs/tmpl/gstdpsmooth.sgml:
3117         * docs/libs/tmpl/gstunitconvert.sgml:
3118           more docs for the state of dparams
3119
3120 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3121
3122         * gst/gstelementfactory.c: (gst_element_factory_create):
3123         * gst/gstobject.c: (gst_object_init),
3124         (gst_object_set_name_default), (gst_object_set_name):
3125           name objects by default, not in gst_element_factory_create. Allows
3126           using elements created with g_object_new. (fixes #167283)
3127
3128 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3129
3130         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
3131           make the time that debugging functions print relative to when
3132           gst_init was called
3133
3134 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
3135
3136         * gst/gsttaginterface.c:
3137           Fix inline docs: tag setter vararg functions are NULL-terminated,
3138           GST_TAG_INVALID doesn't exist any more.
3139
3140 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3141
3142         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
3143         Allocate the 1 byte more memory that was forgotten!!!!!
3144         fixes memory corruption on 64bit platforms
3145
3146 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
3147
3148         * docs/pwg/building-pads.xml:
3149         * docs/pwg/intro-basics.xml:
3150           fixed a few typos, relabeled introductionary list of types
3151         * docs/random/ensonic/dparams.txt:
3152           more notes abut dparam changes
3153         * libs/gst/control/dparam.c: (gst_dparam_attach):
3154         * libs/gst/control/dparammanager.c:
3155         * libs/gst/control/dparammanager.h:
3156           - many comments and notes on dparam implementation
3157           - new dparams are were not initialized to the default value
3158             from param spec
3159
3160 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3161
3162         submitted by: Peter Astakhov
3163
3164         * po/LINGUAS:
3165         * po/ru.po:
3166           adding Russian translation
3167
3168 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3169
3170         * configure.ac:
3171         * docs/gst/Makefile.am:
3172         * docs/libs/Makefile.am:
3173           make sure popt is added to gtk-doc flags.  Fixes #147782.
3174
3175 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3176
3177         * docs/faq/using.xml:
3178           Fix typo in FAQ (artssink => artsdsink)
3179
3180 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3181
3182         * tools/gst-launch.1.in:
3183           Fix typo (#166699).
3184
3185 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
3186
3187         * docs/faq/using.xml:
3188           Add -v argument to fakesrc/fakesink gst-launch line,
3189           so that the promised output will actually show up.
3190
3191 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3192
3193         * gst/gstthread.c: (gst_thread_change_state):
3194           Implement state-change error handling (#166073).
3195
3196 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3197
3198         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3199           Release interrupt after handling (#166250).
3200
3201 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3202
3203         * configure.ac:
3204           back to HEAD
3205
3206 === release 0.8.9 ===
3207
3208 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3209
3210         * NEWS:
3211         * RELEASE:
3212         * configure.ac:
3213           releasing 0.8.9, "Like Eating Glass"
3214
3215 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3216
3217         submitted by: Clytie Siddall
3218
3219         * po/vi.po: Added Vietnamese translation
3220
3221 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3222
3223         patch by: Tim Philipp-Müller
3224
3225         * configure.ac:
3226         * gst/gstpad.c:
3227           unref data when probe function returns FALSE.  Fixes #166362
3228
3229 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3230
3231         * gst/gst.c: (gst_init_get_popt_table):
3232           Fix typo (#166269).
3233
3234 2005-02-04  Andy Wingo  <wingo@pobox.com>
3235
3236         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
3237         the debugging on whether the caps are compatible.
3238
3239 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3240
3241         * docs/manual/basics-elements.xml:
3242           Fix two typos.
3243
3244 2005-02-02  Wim Taymans  <wim@fluendo.com>
3245
3246         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
3247         (schedule_chain), (get_invalid_call), (chain_invalid_call),
3248         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
3249         Remove some FIXMEs after analysing and commenting why they
3250         are not issues.
3251
3252 2005-02-02  Wim Taymans  <wim@fluendo.com>
3253
3254         * gst/schedulers/gstoptimalscheduler.c:
3255         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
3256         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
3257         (get_invalid_call), (chain_invalid_call),
3258         (get_group_schedule_function), (loop_group_schedule_function),
3259         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
3260         (gst_opt_scheduler_state_transition),
3261         (gst_opt_scheduler_add_element),
3262         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
3263         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
3264         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
3265         (gst_opt_scheduler_show):
3266         Added lock to protect scheduler data structures.
3267
3268 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3269
3270         * testsuite/threads/threadi.c: (cb_data):
3271           Fix buglet in test.
3272
3273 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3274
3275         * testsuite/threads/Makefile.am:
3276         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
3277           On Wim's request, split the test in three separately-compiled
3278           tests that each test a very specific bug. Two of them still fail,
3279           will create bugs for those. threadi.c indicates why they fail.
3280
3281 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3282
3283         * gst/schedulers/gstoptimalscheduler.c:
3284         (get_group_schedule_function):
3285           Try to work with the threading mess that queue_link is.
3286
3287 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3288
3289         * gst/gstbin.c: (gst_bin_remove_func):
3290           Explicitely make an element release locks in a group when being
3291           remove from a bin.
3292         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3293           If there's no scheduler, always return immediately (similar to
3294           gst_element_interrupt).
3295
3296 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3297
3298         * gst/gstbin.c: (gst_bin_child_state_change_func):
3299           Remove a piece of code that could never be reached.
3300         * docs/gst/gstreamer-sections.txt:
3301         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
3302         (gst_pad_call_get_function):
3303         * gst/gstpad.h:
3304         * testsuite/pad/Makefile.am:
3305           Fix #150546, enable tests.
3306
3307 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3308
3309         * docs/pwg/advanced-types.xml:
3310           Fix description for buffer-frames=0.
3311         * docs/gst/tmpl/gstbin.sgml:
3312         * gst/gstbin.c: (gst_bin_child_state_change_func),
3313         (gst_bin_change_state), (gst_bin_change_state_norecurse):
3314         * gst/gstbin.h:
3315         * testsuite/threads/Makefile.am:
3316         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
3317         (cb_state), (cb_play), (main):
3318           Fix non-recursive state changes to *really* change the state
3319           of the object, and not just call parent_class->state_change.
3320           Fix a lot of lockups caused by this. Fixes #132775. Add test
3321           for the problem. Also enable test to show #142588 (fixed).
3322         * gst/gstthread.c: (gst_thread_change_state),
3323         (gst_thread_child_state_change):
3324           Don't exit the thread if we go to NULL and are inside thread
3325           context. Instead, return control to the main thread context
3326           and exit from there.
3327         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
3328           Don't unset virtual functions, since those may still be used.
3329           That's not necessarily correct, but suffices for now.
3330         * configure.ac:
3331         * testsuite/Makefile.am:
3332         * testsuite/pad/Makefile.am:
3333         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
3334         (gst_test_sink_base_init), (gst_test_sink_chain),
3335         (gst_test_sink_init), (main):
3336         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
3337         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
3338         (main):
3339         * testsuite/pad/link.c: (gst_test_element_class_init),
3340         (gst_test_element_base_init), (gst_test_src_get),
3341         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
3342         (gst_test_filter_loop), (gst_test_filter_init),
3343         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
3344         (cb_error), (main):
3345           Add tests to show #150546. Pass, but should fail (currently
3346           disabled from the testsuite).
3347         * gst/gstscheduler.c: (gst_scheduler_dispose):
3348           Dereference child schedulers on dispose (#94464).
3349         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3350           Fix typo.
3351         * testsuite/threads/thread.c: (main):
3352           Add more debug.
3353
3354 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3355
3356         * gst/gstpad.c: (gst_pad_push):
3357           Oops, revert previous commit, broke testsuite...
3358
3359 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3360
3361         * gst/gstpad.c: (gst_pad_push):
3362           Add check that the pad on which the push is performed is not a
3363           get-based pad (#150546).
3364
3365 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3366
3367         * gst/elements/gsttypefindelement.c:
3368         (gst_type_find_element_handle_event):
3369           Fix buffer pushing if stream EOSes during typefinding.
3370
3371 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
3372
3373         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3374
3375         * gst/gstvalue.c: (gst_string_wrap):
3376           Allow NULL-strings as argument (#165365).
3377
3378 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
3379
3380         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3381
3382         * gst/schedulers/faircothreads.c:
3383         (gst_fair_scheduler_cothread_queue_show):
3384           Fix build without debug enabled.
3385
3386 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
3387
3388         * docs/gst/gstreamer-sections.txt:
3389         * docs/libs/gstreamer-libs-docs.sgml:
3390         * docs/libs/gstreamer-libs-sections.txt:
3391         * docs/libs/tmpl/gstcontrol.sgml:
3392         * docs/libs/tmpl/gstdparam.sgml:
3393         * docs/libs/tmpl/gstdplinint.sgml:
3394         * docs/libs/tmpl/gstdpman.sgml:
3395         * docs/libs/tmpl/gstdpsmooth.sgml:
3396         * docs/libs/tmpl/gstputbits.sgml:
3397         * docs/libs/tmpl/gstunitconvert.sgml:
3398         * libs/gst/control/dparam.c:
3399         * libs/gst/control/dparam.h:
3400         * libs/gst/control/dparammanager.c:
3401         (gst_dpman_add_required_dparam_callback),
3402         (gst_dpman_add_required_dparam_direct),
3403         (gst_dpman_add_required_dparam_array),
3404         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
3405         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
3406         (gst_dpman_get_manager)
3407           restructured DParam docs
3408
3409 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
3410
3411         * gst-element-check.m4:
3412           Only check for gst-inspect if we haven't already
3413           found it in previous element check runs
3414
3415 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
3416
3417         * docs/gst/Makefile.am:
3418         * docs/libs/Makefile.am:
3419           fixed install rules to treat style.css as optional
3420
3421 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
3422
3423         * docs/gst/Makefile.am:
3424         * docs/libs/Makefile.am:
3425           install style.css along with docs
3426         * docs/gst/tmpl/gstbin.sgml:
3427         * docs/gst/tmpl/gstclock.sgml:
3428         * docs/gst/tmpl/gstdata.sgml:
3429         * docs/gst/tmpl/gstelement.sgml:
3430         * gst/gstbin.h:
3431         * gst/gstelement.c: (gst_element_class_init):
3432         * gst/gstelement.h:
3433           fixing incomplete docs
3434
3435 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3436
3437         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
3438           Don't unref seek event twice when fflush() fails
3439           
3440 2005-01-22  David Schleef  <ds@schleef.org>
3441
3442         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
3443
3444 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
3445
3446         * docs/gst/Makefile.am:
3447         * docs/libs/Makefile.am:
3448           added params for deprecation guards
3449         * gst/gst.c:
3450         * gst/gst.h:
3451         * gst/gsterror.c: (_gst_resource_errors_init),
3452         (_gst_stream_errors_init):
3453         * gst/gsterror.h:
3454           documented some more enums
3455
3456 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3457         * gst/autoplug/gstspideridentity.c:
3458         Cosmetic fix - spider_find_peek should be static
3459         * gst/parse/parse.l:
3460         Applying fix for #164261
3461
3462 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
3463
3464         * docs/gst/gstreamer-sections.txt:
3465         * docs/gst/tmpl/gstplugin.sgml:
3466         * docs/libs/gstreamer-libs-sections.txt:
3467         * docs/libs/tmpl/gstcontrol.sgml:
3468         * gst/gstbuffer.h:
3469         * gst/gsttag.h:
3470         * gst/gstvalue.c:
3471           added docs for the TAG defines
3472
3473 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3474
3475         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3476           Only unref entry if there is an entry.
3477
3478 2005-01-17  Wim Taymans  <wim@fluendo.com>
3479
3480         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3481         (remove_from_group), (schedule_group), (normalize_group),
3482         (gst_opt_scheduler_iterate):
3483         Also ref/unref decoupled elements before iterating the
3484         group since they are not added to the list of elements.
3485
3486 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3487
3488         * docs/manual/highlevel-components.xml:
3489           Add subtitle/streamselection as new features to playbin.
3490
3491 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3492
3493         * docs/manual/manual.xml:
3494           Re-enable dataaccess docs (oops).
3495
3496 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3497
3498         * docs/pwg/advanced-types.xml:
3499         * docs/random/mimetypes:
3500           Add documentation on libsndfile types (#163309), by Steve Baker
3501           <steve@stevebaker.org>.
3502         * gst/gstelement.c: (gst_element_release_request_pad):
3503           If an element has no explicit function, just remove the pad.
3504
3505 2005-01-17  Luca Ognibene  <luogni@tin.it>
3506
3507         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3508
3509         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
3510           Fix memleak (#163801).
3511
3512 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3513
3514         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
3515           I think this is actually more correct...
3516
3517 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3518
3519         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3520           Another workaround for memory access while destroyed in callback.
3521           Please, someone with refcount knowledge, have a look at this.
3522
3523 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3524
3525         * docs/faq/faq.xml:
3526         * docs/faq/legal.xml:
3527           move the legal Q&A here
3528
3529 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3530
3531         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
3532         (gst_tee_request_new_pad):
3533           Fix negotiation.
3534
3535 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3536
3537         * docs/random/omega/caps2:
3538         * testsuite/caps/caps_strings:
3539           replace framerate aproximations by their real value
3540           (24000/1001, 30000/1001, 60000/1001)
3541           Partially fixes bug #164049
3542
3543 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3544
3545         * docs/gst/Makefile.am:
3546           don't fail on the stupid GstPoptOption
3547
3548 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3549
3550         * gst/gstpad.h:
3551         * gst/gstprobe.c:
3552           allow probes to work on ghost pads by realizing the pad
3553           probe debugging
3554
3555 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3556
3557         * docs/gst/gstreamer-sections.txt:
3558         * docs/gst/tmpl/gstpad.sgml:
3559         * gst/gstpad.c: (gst_pad_set_active_recursive):
3560         * gst/gstpad.h:
3561           Add gst_pad_set_active_recursive().
3562
3563 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3564
3565         * docs/random/release:
3566           updates
3567         * gst/gst_private.h:
3568         * gst/gstinfo.c:
3569         * gst/gstobject.c:
3570           move deep_notify logging to a new category
3571         * gst/gstprobe.c:
3572         * gst/gstprobe.h:
3573           add stuff so bindings can wrap probes
3574
3575 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3576
3577         * gst/gstplugin.c: (gst_plugin_load):
3578           Fix plugin loading if plugin/lib was already loaded. Fixes
3579           #163383
3580
3581 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
3582
3583         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3584
3585         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
3586           Protect plugin loading by a mutex so it's threadsafe. Fixes
3587           #163234.
3588
3589 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3590
3591         * gst/gstevent.c: (_gst_event_copy):
3592           Reference source object when copying events, since it'll be
3593           dereferenced on event dereferencing as well.
3594
3595 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3596
3597         * docs/gst/gstreamer-sections.txt:
3598         * docs/gst/tmpl/gstevent.sgml:
3599         * gst/gstevent.c: (gst_event_new_filler_stamped),
3600         (gst_event_filler_get_duration):
3601         * gst/gstevent.h:
3602           Add two new functions for filler events (which are used to
3603           synchronize streams if one of them is not having any data
3604           for a while) without interrupting the actual data-stream.
3605           Basically a no-op.
3606         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3607         (gst_queue_link_sink), (gst_queue_link_src),
3608         (gst_queue_change_state):
3609           Allow for renegotiation while filled. Required for stream
3610           switching while playing.
3611
3612 2005-01-08  Benjamin Otte  <otte@gnome.org>
3613
3614         * gst/gstelement.c: (gst_element_link_many):
3615           fix up g_return_if_fail's
3616         * po/LINGUAS:
3617         * po/de.po:
3618           add German translation, that was somehow not included
3619
3620 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3621
3622         * docs/random/mimetypes:
3623           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
3624           do not add them to riff-lib as they are not common
3625
3626 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3627
3628         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3629           Check for existence of probe after performing the probe before
3630           re-accessing it to prevent segfaults caused by removal of the
3631           probe in the callback.
3632
3633 2005-01-05  David Schleef  <ds@schleef.org>
3634
3635         * testsuite/registry/Makefile.am:
3636         * testsuite/registry/gst-print-formats.c:
3637         (print_pad_templates_info), (print_element_list),
3638         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
3639         (g_list_uniqify), (get_pad_templates_info),
3640         (get_element_mime_list), (print_mime_list), (main): A little
3641         program that looks through the registry to find elements of
3642         a given type.  Not particularly interesting as a test, except
3643         that there's no other test covering the same area.
3644
3645 2005-01-05  David Schleef  <ds@schleef.org>
3646
3647         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
3648         (fault_handler_sigaction), (fault_spin),
3649         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
3650         in signal.h-type signal handlers by not calling forbidden functions,
3651         including gst_element_set_state().
3652
3653 2005-01-05  David Schleef  <ds@schleef.org>
3654
3655         * gst/gstvalue.h: Mark _gst_reserved[] as private
3656
3657 2005-01-05  David Schleef  <ds@schleef.org>
3658
3659         * gst/gstvalue.c: Fix doc build problem.
3660
3661 2005-01-05  David Schleef  <ds@schleef.org>
3662
3663         * gst/gstvalue.c: Add some documentation
3664
3665 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
3666
3667         * docs/README:
3668           another shell oneliner for empty return value docs
3669         * gst/gstcaps.c:
3670         * gst/gstvalue.c:
3671         * libs/gst/control/dparam.c:
3672           more doc fixes (parameters and return values)
3673
3674 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
3675
3676         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3677
3678         * gst/gstregistry.h:
3679         * gst/registries/gstxmlregistry.c:
3680           Fix macro's for Mingw (fixes #162276).
3681
3682 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
3683
3684         * docs/README:
3685           quick shell oneliner to find undocumented members
3686         * docs/gst/tmpl/gstplugin.sgml:
3687         * docs/gst/tmpl/gstscheduler.sgml:
3688         * docs/gst/tmpl/gstthread.sgml:
3689           more enumtypes cleanup
3690         * gst/gsterror.h:
3691           activated documentation comments, now someone needs to document
3692           the enums :(
3693
3694 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3695
3696         * docs/manual/manual.xml:
3697           Add dataaccess part (doh!).
3698
3699 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3700
3701         * docs/manual/advanced-autoplugging.xml:
3702           Fix typo (intiate -> initiate).
3703
3704 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3705
3706         * docs/random/bbb/streamselection:
3707           Add some notes on how to handle multi-subtitle/-audio streams.
3708
3709 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
3710
3711         * docs/gst/gstreamer-docs.sgml:
3712         * docs/gst/gstreamer-sections.txt:
3713         * docs/gst/tmpl/gstenumtypes.sgml:
3714         * docs/gst/tmpl/gsterror.sgml:
3715         * docs/gst/tmpl/gstevent.sgml:
3716         * docs/gst/tmpl/gstpad.sgml:
3717         * docs/gst/tmpl/gstpadtemplate.sgml:
3718         * docs/gst/tmpl/gstthread.sgml:
3719           removed gstenumtypes section from docs and put all the enums into
3720           their sections
3721
3722 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3723
3724         * gst/gstplugin.c:
3725           document gst_library_load a bit more (riff special case + return
3726           value if already loaded)
3727         * testsuite/bytestream/filepadsink.c:
3728           plugin name is 'gstbytestream', not 'bytestream'
3729
3730 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3731
3732         * docs/random/bbb/subtitles:
3733           Add some first mind rumblings on proper subtitle support.
3734
3735 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3736
3737         * po/ca.po:
3738         * po/sv.po:
3739           updated translations
3740
3741 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3742
3743         * docs/manual/advanced-dataaccess.xml:
3744           Add section on how to use fakesrc/fakesink/identity in your
3745           application, plus section on how to embed plugins. Also mention
3746           probes.
3747         * docs/manual/appendix-checklist.xml:
3748         * docs/manual/appendix-debugging.xml:
3749         * docs/manual/appendix-gnome.xml:
3750         * docs/manual/appendix-integration.xml:
3751           Debug -> checklist, GNOME -> integration, add sections on Linux,
3752           KDE integration and add other things useful for application
3753           development.
3754         * docs/manual/manual.xml:
3755           Remove some fixmes, update some file pointers.
3756         * docs/pwg/appendix-checklist.xml:
3757           Fix typo.
3758         * docs/pwg/building-boiler.xml:
3759           Remove ugly header and add commented fixme.
3760         * docs/pwg/pwg.xml:
3761           Add fixme.
3762         * examples/manual/Makefile.am:
3763           Add example for added docs.
3764
3765 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3766
3767         * configure.ac:
3768           back to HEAD
3769
3770 === release 0.8.8 ===
3771
3772 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3773
3774         * NEWS:
3775         * RELEASE:
3776         * configure.ac:
3777           Releasing 0.8.8, "I'll Take Care Of You"
3778
3779 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3780
3781         * configure.ac:
3782           second prerelease
3783
3784 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3785
3786         patch by: Wim Taymans
3787
3788         * gst/gstbin.c:
3789           Fix for #159852 - make iterate emission threadsafe
3790
3791 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3792
3793         * docs/faq/cvs.xml:
3794           notes about new fdo account request
3795
3796 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
3797
3798         * docs/gst/gstreamer-docs.sgml:
3799         * docs/gst/tmpl/gstenumtypes.sgml:
3800         * docs/gst/tmpl/gstplugin.sgml:
3801         * docs/libs/gstreamer-libs-docs.sgml:
3802           Added missing short docs. Added ids for navigation.
3803
3804 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3805
3806         * docs/manual/advanced-autoplugging.xml:
3807         * docs/manual/advanced-schedulers.xml:
3808         * docs/manual/advanced-threads.xml:
3809           Rewrites. Remove cothreads, go a bit into opt specifically,
3810           document threads and their gotchas, and do some technical stuff
3811           on autoplugging plus add some working examples. Fixes #157395.
3812         * examples/manual/Makefile.am:
3813           Add typefind/autoplugger example (one that actually works).
3814           Remove queue example since it's a duplicate of the thread one.
3815
3816 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3817
3818         * gst/gstvalue.c: (gst_value_deserialize_string):
3819           use deprecated g_value_set_string_take_ownership to keep compatible
3820           with glib 2.2
3821
3822 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3823
3824         * gst/gstvalue.c: (gst_value_deserialize_string):
3825           revert last patch, only dom a g_utf8_validate now before accepting
3826           the string - caps parsing strips " from strings so we can't rely on
3827           them
3828         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3829           disable a test that tested the above and comment it
3830
3831 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
3832
3833         Patch reviewed by David Schleef  <ds@schleef.org>
3834
3835         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
3836         bug #153882)
3837         * win32/gstenumtypes.h: same
3838
3839 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3840
3841         * gst/gstpad.c: (gst_pad_query):
3842           Do query on realized pad, similar to how convert/send_event handle
3843           this. Also makes sense, since this pad belongs to the function to
3844           which this query will be sent. Fixes #158163.
3845
3846 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
3847
3848         * docs/manual/appendix-programs.xml: fix pipeline to actually work
3849
3850 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
3851
3852         * docs/faq/general.xml: fix pipeline to actually work
3853
3854 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3855
3856         * gst/gstvalue.c: (gst_value_deserialize_string):
3857           check that a simple string that gets deserialized does not contain
3858           invalid characters
3859         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3860           remove a test that tested a wring behaviour
3861
3862 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
3863
3864         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3865
3866         * docs/manual/intro-motivation.xml:
3867           Fix typos.
3868
3869 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
3870
3871         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3872
3873         * docs/gst/tmpl/gstprobe.sgml:
3874           Fix documentation of probe callback - it is supposed to return
3875           FALSE, not TRUE, to remove data from the stream (#159087).
3876
3877 2004-12-16  Daniel Gazard  <dany42@free.fr>
3878
3879         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3880
3881         * gst/gstelementfactory.c: (gst_element_factory_create):
3882           Fix compile failure if compiling without libxml2 support (#149936).
3883
3884 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3885
3886         * docs/manual/advanced-autoplugging.xml:
3887         * docs/manual/highlevel-components.xml:
3888           Move spider from autoplugging to components. Autoplugging is for
3889           internals, not for solutions. ;-).
3890
3891 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3892
3893         * docs/random/ds/0.9-suggested-changes:
3894           Make note on device/location/uri property names.
3895
3896 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3897
3898         * docs/manual/advanced-autoplugging.xml:
3899         * docs/manual/advanced-clocks.xml:
3900         * docs/manual/advanced-interfaces.xml:
3901         * docs/manual/advanced-metadata.xml:
3902         * docs/manual/advanced-position.xml:
3903         * docs/manual/advanced-schedulers.xml:
3904         * docs/manual/advanced-threads.xml:
3905         * docs/manual/appendix-gnome.xml:
3906         * docs/manual/appendix-programs.xml:
3907         * docs/manual/appendix-quotes.xml:
3908         * docs/manual/autoplugging.xml:
3909         * docs/manual/basics-bins.xml:
3910         * docs/manual/basics-data.xml:
3911         * docs/manual/basics-elements.xml:
3912         * docs/manual/basics-helloworld.xml:
3913         * docs/manual/basics-init.xml:
3914         * docs/manual/basics-pads.xml:
3915         * docs/manual/basics-plugins.xml:
3916         * docs/manual/bins-api.xml:
3917         * docs/manual/bins.xml:
3918         * docs/manual/buffers-api.xml:
3919         * docs/manual/buffers.xml:
3920         * docs/manual/clocks.xml:
3921         * docs/manual/components.xml:
3922         * docs/manual/cothreads.xml:
3923         * docs/manual/debugging.xml:
3924         * docs/manual/dparams-app.xml:
3925         * docs/manual/dynamic.xml:
3926         * docs/manual/elements-api.xml:
3927         * docs/manual/elements.xml:
3928         * docs/manual/factories.xml:
3929         * docs/manual/gnome.xml:
3930         * docs/manual/goals.xml:
3931         * docs/manual/helloworld.xml:
3932         * docs/manual/helloworld2.xml:
3933         * docs/manual/highlevel-components.xml:
3934         * docs/manual/highlevel-xml.xml:
3935         * docs/manual/init-api.xml:
3936         * docs/manual/intro-basics.xml:
3937         * docs/manual/intro-motivation.xml:
3938         * docs/manual/intro-preface.xml:
3939         * docs/manual/intro.xml:
3940         * docs/manual/links-api.xml:
3941         * docs/manual/links.xml:
3942         * docs/manual/manual.xml:
3943         * docs/manual/motivation.xml:
3944         * docs/manual/pads-api.xml:
3945         * docs/manual/pads.xml:
3946         * docs/manual/plugins-api.xml:
3947         * docs/manual/plugins.xml:
3948         * docs/manual/programs.xml:
3949         * docs/manual/queues.xml:
3950         * docs/manual/quotes.xml:
3951         * docs/manual/schedulers.xml:
3952         * docs/manual/states-api.xml:
3953         * docs/manual/states.xml:
3954         * docs/manual/threads.xml:
3955         * docs/manual/typedetection.xml:
3956         * docs/manual/win32.xml:
3957         * docs/manual/xml.xml:
3958           Try 2. This time, include a short preface as a "general
3959           introduction", also add code blocks around all code samples
3960           so they get compiled. We still need a way to tell readers
3961           the filename of the code sample. In some cases, don't show
3962           all code in the documentation, but do include it in the generated
3963           code. This allows for focussing on specific bits in the docs,
3964           while still having a full test application available.
3965         * examples/manual/Makefile.am:
3966           Fix up examples for new ADM. Add several of the new examples that
3967           were either added or were missing from the build system.
3968         * examples/manual/extract.pl:
3969           Allow nameless blocks.
3970
3971 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3972
3973         * docs/manual/elements-api.xml:
3974         * docs/manual/helloworld.xml:
3975         * examples/manual/extract.pl:
3976           fix last example.  Add example of adding code blocks that are not
3977           shown in docbook output.
3978
3979 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3980
3981         * docs/manual/dynamic.xml:
3982         * docs/manual/elements-api.xml:
3983         * docs/manual/gnome.xml:
3984         * docs/manual/helloworld2.xml:
3985         * docs/manual/init-api.xml:
3986         * docs/manual/queues.xml:
3987         * docs/manual/threads.xml:
3988         * docs/manual/xml.xml:
3989         * examples/manual/extract.pl:
3990           Make it possible to extract example code from separate blocks.
3991           Should make Ronald happy.
3992
3993 2004-12-15  Wim Taymans  <wim@fluendo.com>
3994
3995         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3996         (remove_from_group), (group_elements_set_visited),
3997         (normalize_group), (gst_opt_scheduler_iterate):
3998         Fix bug where a flag was not updated on a decoupled entry point 
3999         because we were just checking the group element list and decoupled
4000         elements are not in that list..
4001
4002 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4003
4004         * docs/manual/advanced-autoplugging.xml:
4005         * docs/manual/advanced-clocks.xml:
4006         * docs/manual/advanced-dparams.xml:
4007         * docs/manual/advanced-interfaces.xml:
4008         * docs/manual/advanced-metadata.xml:
4009         * docs/manual/advanced-position.xml:
4010         * docs/manual/advanced-schedulers.xml:
4011         * docs/manual/advanced-threads.xml:
4012         * docs/manual/appendix-debugging.xml:
4013         * docs/manual/appendix-gnome.xml:
4014         * docs/manual/appendix-programs.xml:
4015         * docs/manual/appendix-quotes.xml:
4016         * docs/manual/appendix-win32.xml:
4017         * docs/manual/autoplugging.xml:
4018         * docs/manual/basics-bins.xml:
4019         * docs/manual/basics-data.xml:
4020         * docs/manual/basics-elements.xml:
4021         * docs/manual/basics-helloworld.xml:
4022         * docs/manual/basics-init.xml:
4023         * docs/manual/basics-pads.xml:
4024         * docs/manual/basics-plugins.xml:
4025         * docs/manual/bins-api.xml:
4026         * docs/manual/bins.xml:
4027         * docs/manual/buffers-api.xml:
4028         * docs/manual/buffers.xml:
4029         * docs/manual/clocks.xml:
4030         * docs/manual/components.xml:
4031         * docs/manual/cothreads.xml:
4032         * docs/manual/debugging.xml:
4033         * docs/manual/dparams-app.xml:
4034         * docs/manual/dynamic.xml:
4035         * docs/manual/elements-api.xml:
4036         * docs/manual/elements.xml:
4037         * docs/manual/factories.xml:
4038         * docs/manual/gnome.xml:
4039         * docs/manual/goals.xml:
4040         * docs/manual/helloworld.xml:
4041         * docs/manual/helloworld2.xml:
4042         * docs/manual/highlevel-components.xml:
4043         * docs/manual/highlevel-xml.xml:
4044         * docs/manual/init-api.xml:
4045         * docs/manual/intro-motivation.xml:
4046         * docs/manual/intro-preface.xml:
4047         * docs/manual/intro.xml:
4048         * docs/manual/links-api.xml:
4049         * docs/manual/links.xml:
4050         * docs/manual/manual.xml:
4051         * docs/manual/motivation.xml:
4052         * docs/manual/pads-api.xml:
4053         * docs/manual/pads.xml:
4054         * docs/manual/plugins-api.xml:
4055         * docs/manual/plugins.xml:
4056         * docs/manual/programs.xml:
4057         * docs/manual/queues.xml:
4058         * docs/manual/quotes.xml:
4059         * docs/manual/schedulers.xml:
4060         * docs/manual/states-api.xml:
4061         * docs/manual/states.xml:
4062         * docs/manual/threads.xml:
4063         * docs/manual/typedetection.xml:
4064         * docs/manual/win32.xml:
4065         * docs/manual/xml.xml:
4066           First try at rewriting the ADM. Needs lotsamore work, but some
4067           parts might already be somewhat useful.
4068         * docs/pwg/advanced-interfaces.xml:
4069           Remove properties interface, it never actually existed (except for
4070           on my HD...).
4071
4072 2004-12-13  David Schleef  <ds@schleef.org>
4073
4074         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
4075         be NULL (bug #160220).
4076
4077 2004-12-13  David Schleef  <ds@schleef.org>
4078
4079         * configure.ac: remove all mmx stuff, because it's not used.
4080         * docs/random/ds/0.9-suggested-changes: additional notes
4081         * include/Makefile.am: we don't use these anymore
4082         * include/mmx.h: remove
4083         * include/sse.h: remove
4084
4085 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4086
4087         * docs/random/mimetypes:
4088           Add FOURCC code for h264 codec (VSSH)
4089           Add alternate FOURCC codes for h263 related codecs
4090
4091 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
4092
4093         * docs/manual/programs.xml:
4094           Added more gst-launch examples.
4095
4096 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4097
4098         * gst/gstqueue.c: (gst_queue_handle_src_query):
4099           Check for availability again.
4100
4101 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4102
4103         * gst/gstcaps.c: (gst_caps_compare_structures):
4104           Simple caps go first. This has the nice side-effect of fixing an
4105           obscure warning.
4106
4107 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4108
4109         * gst/gstversion.h.in:
4110           Protect header.
4111
4112 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4113
4114         * gst/schedulers/gstoptimalscheduler.c:
4115         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
4116         (gst_opt_scheduler_get_wrapper):
4117           When we're recursing into a chain run, only run the directly
4118           related group, not all queued ones. This will fix a possible
4119           deadlock in chains with more than two groups.
4120
4121 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4122
4123         * autogen.sh:
4124           remove patch if autopoint fails
4125
4126 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4127
4128         * docs/gst/gstreamer-sections.txt:
4129           Document Thomas' addition, fix build, make Luis the sheriff happy.
4130
4131 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4132
4133         * gst/gstplugin.c:
4134         * gst/gstplugin.h:
4135           add accessor for version field
4136
4137 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4138
4139         submitted by: Luca Ferretti <elle.uca@infinito.it>
4140
4141         * po/LINGUAS:
4142         * po/it.po:
4143           New tranlation added: Italian
4144
4145 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4146
4147         * gst/gstpad.c: (gst_pad_is_negotiated),
4148         (gst_pad_get_negotiated_caps):
4149           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
4150           it doesn't actually check the contents), so be sure to hand it
4151           a RealPad else we'll crash.
4152
4153 2004-12-03  Wim Taymans  <wim@fluendo.com>
4154
4155         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4156         (gst_queue_link), (gst_queue_handle_src_query):
4157         Reverted to 1.110 until this makes the testsuite and various
4158         apps work.
4159
4160 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
4161
4162         * docs/upload.mak: fix included CVS conflict strings
4163
4164 2004-12-01  William Jon McCann  <mccann@jhu.edu>
4165
4166         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4167
4168         * gst/gstelement.c: (gst_element_error_full):
4169           Use g_error_new_literal because error text may have
4170           percentage signs in it. Fixes #160019.
4171
4172 2004-12-01  Benjamin Otte  <otte@gnome.org>
4173
4174         * gst/elements/gstbufferstore.c:
4175         (gst_buffer_store_add_buffer_func):
4176           don't try to make subbuffers bigger than they can be. (fixes
4177           #159970)
4178
4179 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4180
4181         * docs/gst/gstreamer-sections.txt:
4182         * docs/gst/tmpl/gstvalue.sgml:
4183           Add new function to docs to fix build.
4184
4185 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4186
4187         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
4188         * gst/gstpad.c: (_gst_pad_default_fixate_value),
4189         (_gst_pad_default_fixate_foreach):
4190         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
4191         * gst/gstvalue.h:
4192           Deprecate _type_is_fixed, use _value_is_fixed instead, since
4193           in some cases (arrays), the fixedness depends on the content.
4194         * gst/gstqueue.c: (gst_queue_handle_src_query):
4195           Check for availability before doing something.
4196
4197 2004-11-29  Wim Taymans  <wim@fluendo.com>
4198
4199         * testsuite/threads/Makefile.am:
4200         * testsuite/threads/signals.c: (gst_test_get_type),
4201         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
4202         (gst_test_set_property), (gst_test_get_property),
4203         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
4204         (gst_test_do_prop), (run_thread), (main):
4205         Added a bunch of testcases that show threadsafety bugs in glib.
4206
4207 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
4208
4209         * docs/manual/programs.xml:
4210           Added a first batch of gst-launch examples, as provided by Ronald
4211           and others from the devel-mlist
4212
4213 2004-11-28  Benjamin Otte  <otte@gnome.org>
4214
4215         * gst/gstelement.c: (gst_element_negotiate_pads):
4216           simplify
4217         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
4218         (gst_value_serialize_string), (gst_value_deserialize_string):
4219           add unwrapping of previously wrapped strings. Fix bug in wrapping
4220           while at it.
4221         * testsuite/caps/value_serialize.c: (test1),
4222         (test_string_serialization), (test_string_deserialization), (main):
4223           add tests for string (de)serialization
4224
4225 2004-11-26  Wim Taymans  <wim@fluendo.com>
4226
4227         * testsuite/threads/159566.c: (object_deep_notify), (main):
4228         * testsuite/threads/Makefile.am:
4229         Added testsuite to show bug #159566
4230
4231 2004-11-25  Wim Taymans  <wim@fluendo.com>
4232
4233         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
4234         (gst_thread_child_state_change), (gst_thread_main_loop):
4235         Ref the thread object in the GThread mainloop. Break out of the
4236         thread mainloop if it holds the last ref. This properly exits
4237         the threads when disposing the thread from its own context. It
4238         also avoids possible deadlocks in the dispose function.
4239
4240 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
4241
4242         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
4243         it is necessary to wait.
4244
4245 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4246
4247         * docs/pwg/building-boiler.xml:
4248           Make description somewhat clearer.
4249
4250 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4251
4252         * docs/upload.mak:
4253           Apparently docs changed location on FDO's server.
4254
4255 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4256
4257         * docs/pwg/appendix-checklist.xml:
4258           Add some random notes on things to check when writing an element.
4259           This list can be extended as people see fit.
4260
4261 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
4262
4263         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
4264         (gst_queue_link_src): Allow for renegotiating the caps of the sink
4265         pad. The queue will now wait until it is empty and forward the new
4266         caps to the source.
4267         * gst/gstbin.c (gst_bin_set_element_sched)
4268         (gst_bin_unset_element_sched): Make sure that all elements and
4269         links are registered and unregistered with the scheduler exactly
4270         once. This elaborates on a fix by Benjamin Otte, but
4271         guarantees that decoupled elements are also registered.
4272
4273 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4274
4275         * docs/manual/quotes.xml:
4276           add a quote
4277         * configure.ac:
4278         * gst/gst.c:
4279         * gst/gstinfo.c:
4280           add LIBDIR and move init message higher up so it's at the start
4281
4282 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4283
4284         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
4285         * gstreamer.spec.in: add fair
4286
4287 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4288
4289         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4290         * gst/elements/gstidentity.c: (gst_identity_class_init):
4291           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
4292           <teuf@gnome.org> (#157263).
4293         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4294         (gst_type_find_handle_src_query):
4295           Subtract size of internally stored data from position queries.
4296
4297 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
4298
4299         * gst/schedulers/fairscheduler.c:
4300         * gst/schedulers/faircothreads.c:
4301         * gst/schedulers/faircothreads.h:
4302         New cothread based scheduler: Fair scheduler.
4303         * gst/schedulers/gthread-cothreads.h: 
4304         Add the standard #if around the whole file.
4305         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
4306         compilation of the functions defined in this file. This is
4307         necessary to be able to use this file as a normal header.
4308         * gst/schedulers/Makefile.am: Add compiling support for fair
4309         scheduler.
4310         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
4311         scheduler cothreads layer from documentation generation.
4312
4313 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4314
4315         * gst/autoplug/gstspideridentity.c:
4316         (gst_spider_identity_sink_loop_type_finding):
4317           Don't crash if that function is not implemented.
4318
4319 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4320
4321         * docs/pwg/advanced-types.xml:
4322           Another typo.
4323
4324 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4325
4326         * docs/pwg/intro-preface.xml:
4327           Hm, ok, so the brackets weren't really useful...
4328         * docs/pwg/other-ntoone.xml:
4329           Fix embarassing typo.
4330
4331 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4332
4333         * docs/pwg/intro-preface.xml:
4334           Rewrite preface.
4335
4336 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4337
4338         * docs/pwg/advanced-scheduling.xml:
4339         * docs/pwg/advanced-tagging.xml:
4340         * docs/pwg/advanced-types.xml:
4341         * docs/pwg/building-boiler.xml:
4342         * docs/pwg/building-chainfn.xml:
4343         * docs/pwg/building-signals.xml:
4344         * docs/pwg/building-state.xml:
4345         * docs/pwg/building-testapp.xml:
4346         * docs/pwg/intro-basics.xml:
4347         * docs/pwg/other-manager.xml:
4348         * docs/pwg/other-source.xml:
4349           Typo fixes.
4350         * docs/pwg/other-manager.xml:
4351           Add some first content. No example code yet.
4352         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4353           Remove double newlines.
4354
4355 2004-11-04  Wim Taymans  <wim@fluendo.com>
4356
4357         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4358         (remove_from_group), (normalize_group), (group_migrate_connected),
4359         (gst_opt_scheduler_iterate):
4360         * testsuite/schedulers/.cvsignore:
4361         * testsuite/schedulers/Makefile.am:
4362         * testsuite/schedulers/queue_link.c: (main):
4363         Added testcase for scheduler segfault.
4364         Fix scheduler segfault when removing a decoupled
4365         entry point as the last element from a group.
4366
4367 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4368
4369         * gst/gstmarshal.list: add missing marshaller, fixes build
4370
4371 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4372
4373         * docs/random/signal: added notes about using BOXED for GstBuffer
4374         signal marshallers, not POINTER
4375
4376 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4377
4378         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4379         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
4380         POINTER=>BOXED changes to marshal GstBuffers
4381
4382 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4383
4384         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
4385         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
4386
4387 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
4388
4389         * docs/gst/gstreamer-sections.txt:
4390         * docs/gst/tmpl/gstcaps.sgml:
4391         * docs/gst/tmpl/gsterror.sgml:
4392         * docs/gst/tmpl/gstinfo.sgml:
4393         * docs/gst/tmpl/gstmacros.sgml:
4394         * docs/gst/tmpl/gstutils.sgml:
4395         * docs/random/ensonic/interfaces.txt:
4396         * gst/gstinfo.h:
4397           added some more docs, removed two obsolete defines
4398
4399 2004-11-02  Kjartan Maraas <as at gnome.org>
4400
4401         reviewed by: Wim Taymans, Ronald Bultje.
4402
4403         * gst/cothreads.c: (cothread_create):
4404         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4405         (gst_bin_child_state_change_func):
4406         * gst/gstbuffer.c: (gst_buffer_span):
4407         * gst/gstelement.c: (gst_element_get_index),
4408         (gst_element_get_event_masks), (gst_element_get_query_types),
4409         (gst_element_get_formats):
4410         * gst/gsterror.c: (_gst_core_errors_init),
4411         (_gst_library_errors_init), (_gst_resource_errors_init),
4412         (_gst_stream_errors_init):
4413         * gst/gstobject.c: (gst_object_default_deep_notify):
4414         * gst/gstpad.c: (gst_pad_get_event_masks),
4415         (gst_pad_get_internal_links_default):
4416         * gst/gstplugin.c: (gst_plugin_register_func),
4417         (gst_plugin_get_module):
4418         * gst/gststructure.c: (gst_structure_get_string),
4419         (gst_structure_get_abbrs), (gst_structure_from_abbr),
4420         (gst_structure_to_abbr):
4421         * gst/gstutils.c: (gst_print_element_args):
4422         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4423         (setup_group_scheduler), (gst_opt_scheduler_iterate):
4424         Aplied part of patch #157127: Cleanup of issues reported by 
4425         sparse.
4426         Also do not try to use cothreads when there is no cothread
4427         context yet.
4428
4429 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
4430
4431         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4432         (gst_opt_scheduler_iterate):
4433         Applied patch #154061. Running a pipeline in which an element 
4434         calls GST_ELEMENT_ERROR in the chain function, the opt 
4435         scheduler doesn't unref the chain so it never gets freed.
4436
4437 2004-11-02  Wim Taymans  <wim@fluendo.com>
4438
4439         * gst/gststructure.c: (gst_structure_get_abbrs),
4440         (gst_structure_from_abbr), (gst_structure_to_abbr):
4441         Remove that ugly if-then thing in the code that converts
4442         between strings and types.
4443
4444 2004-11-02  Wim Taymans  <wim@fluendo.com>
4445
4446         * gst/gstscheduler.c: (gst_scheduler_add_element),
4447         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
4448         Aplied clock distribution patch, this should fix bug
4449         #148787.
4450
4451 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4452
4453         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
4454
4455         * po/LINGUAS:
4456         * po/nb.po:
4457           Added Norwegian Bokmaal translation
4458
4459 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4460
4461         * tools/gst-inspect.c: (print_signal_info):
4462           print signal arguments as pointers if they are
4463
4464 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
4465
4466         * docs/pwg/building-boiler.xml:
4467           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
4468
4469 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4470
4471         * gst/parse/parse.l:
4472         * testsuite/parse/parse1.c: (main):
4473         Since parse can do 'element name=a:b' make 'a:b.' work as
4474         well. 
4475         Added testcase to verify fix.
4476
4477 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4478
4479         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
4480         Use the realpad when printing the direction.
4481         Add extra \n when printing extensions of typefind factories.
4482
4483 2004-10-13  David Schleef  <ds@schleef.org>
4484
4485         * examples/manual/Makefile.am: $< isn't portable in Makefile
4486         rules.
4487
4488 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
4489
4490         * docs/gst/tmpl/gstobject.sgml:
4491         * docs/gst/tmpl/gstplugin.sgml:
4492         * docs/gst/tmpl/gstpluginfeature.sgml:
4493         * docs/gst/tmpl/gstregistry.sgml:
4494         * docs/gst/tmpl/gstversion.sgml:
4495         * gst/gstbin.c:
4496           more api documentation
4497         * gst/gstplugin.c: (gst_plugin_register_func),
4498         (gst_plugin_check_file), (gst_plugin_load_file):
4499           better error signaling and logging
4500
4501 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4502
4503         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
4504           Subtract current queue contents from position queries.
4505
4506 2004-10-11  Johan Dahlin  <johan@gnome.org>
4507
4508         * gst/gsturi.c (gst_uri_get_location): unescape string
4509         (gst_uri_construct): escape string.
4510
4511 2004-10-11  Benjamin Otte  <otte@gnome.org>
4512
4513         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
4514         (gst_pad_try_set_caps_nonfixed):
4515           allow renegotiation of unconnected pads (as inside spider). Simply
4516           return OK if unconnected - mimic try_set_caps there.
4517
4518 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4519
4520         * gst/gstbin.c: (gst_bin_sync_children_state):
4521           Add missing break.
4522
4523 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4524
4525         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
4526         Set element to EOS before sending EOS event
4527
4528 2004-10-08  Wim Taymans  <wim at fluendo dot com>
4529
4530         * gst/elements/gsttypefindelement.c:
4531         (gst_type_find_element_handle_event):
4532         Handle EOS events when doing the transition from
4533         typefind to data passing. This should fix the
4534         infinite loops in short files.
4535
4536 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4537
4538         * gst/gstthread.c: (gst_thread_change_state),
4539         (gst_thread_child_state_change):
4540         Make sure no iteration happens while performing
4541         the state change as it could mess up the internal
4542         consistency of the thread state.
4543
4544 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4545
4546         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
4547         (gst_thread_change_state), (gst_thread_child_state_change):
4548         Do not try to grab the iterate lock in the state change method
4549         when we are in the same thread as the iterate or else we
4550         could deadlock. Some other cleanups.
4551
4552 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4553
4554         * configure.ac:
4555           bump nano to cvs
4556
4557 === release 0.8.7 ===
4558
4559 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4560
4561         * configure.ac:
4562         * NEWS:
4563         * RELEASE:
4564         * configure.ac:
4565           releasing 0.8.7, "A Cruise"
4566
4567 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4568
4569         * docs/random/mimetypes:
4570         Add an entry for Sony ATRAC3 audio format with mime-type
4571         used by rmdemux et riff-read
4572
4573 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4574
4575         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4576         Push the buffer store instead of clearing it in case that
4577         the stream is not seekable.
4578
4579 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4580
4581         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
4582         (gst_thread_main_loop):
4583         Lock the iteration and the state change so that automatic
4584         negotiation and fixation does not happen at the same time
4585         as the in stream negotiation.
4586
4587 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4588
4589         * configure.ac:
4590           bump nano to cvs
4591
4592 === release 0.8.6 ===
4593
4594 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4595
4596         * configure.ac:
4597         * NEWS:
4598         * RELEASE:
4599         * configure.ac:
4600           releasing 0.8.6, "Narc"
4601
4602 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4603
4604         * configure.ac:
4605           prerel bump
4606
4607 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4608
4609         patch by: Steve Lhomme
4610
4611         * gst/elements/gstfakesrc.c:
4612         * gst/elements/gstidentity.c:
4613         * gst/gstthread.c:
4614           Fix for #153881
4615
4616 2004-10-01  Wim Taymans  <wim at fluendo dot com>
4617
4618         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
4619         Fix threadsafety of the crc checking function.
4620
4621 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4622
4623         patch by: Ronald Bultje
4624
4625         * gst/elements/gsttypefindelement.c: (stop_typefinding),
4626         (gst_type_find_element_handle_event),
4627         (gst_type_find_element_chain):
4628         * gst/elements/gsttypefindelement.h:
4629          #153657.
4630          Filter out discont event from seekable sources when typefind
4631          asks them to seek.  Fixes typefind with demuxers for
4632          avi, asf and matroska.
4633
4634 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4635
4636         * docs/gst/gstreamer-sections.txt:
4637         * gst/gstcaps.c:
4638         * gst/gstcaps.h:
4639         * gst/gstpad.c:
4640           Revert preferred caps: (#147789)
4641
4642 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
4643
4644         * win32/dirent.c:
4645           fix a memory leak
4646
4647 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4648
4649         * configure.ac:
4650           bump for prerelease
4651
4652 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4653
4654         * docs/Makefile.am:
4655         * docs/manual/elements-api.xml:
4656           restructure so that common stuff is shown first
4657         * docs/manual/init-api.xml:
4658           convert to examples
4659         * docs/manual/manual.xml:
4660         * docs/manuals.mak:
4661         * docs/url.entities:
4662           link to API on the website, possibly override later in build
4663         * examples/manual/.cvsignore:
4664           ignore more
4665         * examples/manual/Makefile.am:
4666           add more examples
4667         * examples/manual/extract.pl:
4668           error out on failure
4669
4670 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4671
4672         * docs/gst/tmpl/gstthread.sgml:
4673         * docs/manual/init-api.xml:
4674         * examples/manual/Makefile.am:
4675           convert two code bits to examples
4676
4677 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4678
4679         * gst/gstelement.c: (gst_element_change_state):
4680           Well, actually, I was about to remove this insane assert when
4681           I noticed Wim already did that. A warning is nice so we can
4682           fix actual ugs (using --g-fatal-warnings and backtraces), so
4683           I added that instead.
4684
4685 2004-09-06  Wim Taymans  <wim@fluendo.com>
4686
4687         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
4688         (gst_element_threadsafe_properties_post_run),
4689         (gst_element_set_state), (gst_element_change_state):
4690         Added extra refcounting around various places. 
4691
4692 2004-09-06  Wim Taymans  <wim@fluendo.com>
4693
4694         * gst/gstpad.c: (gst_pad_link_call_link_functions):
4695         Fix debug info.
4696
4697 2004-09-06  Wim Taymans  <wim@fluendo.com>
4698
4699         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4700         (remove_from_group):
4701         Some more debug info.
4702
4703 2004-09-03  Wim Taymans  <wim@fluendo.com>
4704
4705         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4706         (gst_fakesrc_init), (gst_fakesrc_set_clock),
4707         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4708         (gst_fakesrc_get), (gst_fakesrc_change_state):
4709         * gst/elements/gstfakesrc.h:
4710         * gst/elements/gstidentity.c: (gst_identity_class_init),
4711         (gst_identity_init), (gst_identity_chain),
4712         (gst_identity_set_property), (gst_identity_get_property),
4713         (gst_identity_change_state):
4714         * gst/elements/gstidentity.h:
4715         Added datarate properties to limit the datarate.
4716
4717 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4718
4719         * gst/autoplug/gstspider.c: (plugin_init):
4720           don't set a rank. We don't want to autoplug by inserting spiders.
4721
4722 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4723
4724         * gst/autoplug/gstspider.c: (gst_spider_class_init),
4725         (gst_spider_identity_plug):
4726           add a template for spider's sink
4727         * gst/gst.c: (gst_register_core_elements):
4728           queue's rank should be NULL, we don't want spider to add it.
4729
4730 2004-08-18  David Schleef  <ds@schleef.org>
4731
4732         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
4733         * docs/libs/Makefile.am: same
4734         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
4735         * docs/random/ds/0.9-planning: random additions
4736         * docs/random/ds/0.9-suggested-changes: same
4737         * gst/gstxml.h: remove vestigal GstXMLNs definition
4738
4739         Preferred caps: (#147789)
4740         * docs/gst/gstreamer-sections.txt: Add symbols
4741         * docs/gst/tmpl/gstcaps.sgml: Add symbols
4742         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
4743         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
4744         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
4745         (gst_caps_get_preferred), (gst_caps_set_preferred),
4746         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
4747         (gst_caps_use_preferred): Handle caps preferences
4748         * gst/gstcaps.h: Add caps preferences
4749         * gst/gstpad.c: (gst_pad_link_get_preferred),
4750         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
4751         (gst_pad_renegotiate), (gst_pad_guess_preferred),
4752         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
4753         negotiation.
4754
4755 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4756
4757         * gst/autoplug/gstspideridentity.c:
4758         (gst_spider_identity_request_new_pad):
4759         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
4760         (gst_aggregator_init):
4761         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4762         (gst_fakesink_init):
4763         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4764         (gst_fakesrc_init):
4765         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
4766         (gst_fdsink_init):
4767         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
4768         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
4769         (gst_filesink_init):
4770         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4771         (gst_filesrc_init):
4772         * gst/elements/gstidentity.c: (gst_identity_base_init),
4773         (gst_identity_init):
4774         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
4775         (gst_multifilesrc_init):
4776         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
4777         (gst_pipefilter_init):
4778         * gst/elements/gststatistics.c: (gst_statistics_base_init),
4779         (gst_statistics_init):
4780         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
4781         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
4782           s/gst_pad_new/&_from_template/
4783           register pad templates in the base_init function
4784           add static pad template definitions
4785
4786 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4787
4788         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
4789         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
4790         * testsuite/refcounting/pad.c: (main):
4791         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
4792           s/gst_pad_new/&_from_template/
4793           prepare deprecation of gst_pad_new
4794
4795 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4796
4797         patch by: Luca Ognibene <skaboy81@virgilio.it>
4798
4799         * gst/gstcaps.c:
4800         * gst/gstelement.c:
4801         * gst/gstpad.c:
4802         * gst/gstxml.c:
4803           fix memleaks.  Fixes #150001
4804
4805 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4806
4807         * docs/random/ds/0.9-suggested-changes:
4808           add notes - mostly about pad templates
4809
4810 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
4811
4812         * win32/GStreamer.vcproj:
4813           temporary locale files are .gmo not .mo
4814
4815 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4816
4817         * configure.ac: bump nano to cvs
4818
4819 === release 0.8.5 ===
4820
4821 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4822
4823         * configure.ac:
4824           releasing 0.8.5, "Stuttgart"
4825         * NEWS:
4826         * RELEASE:
4827         * configure.ac:
4828         * docs/random/release:
4829           updates for release
4830
4831 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4832
4833         patch by: Wim Taymans (wim@fluendo.com)
4834
4835         * gst/gstbuffer.c:
4836         * gst/gstindex.h:
4837         * libs/gst/dataprotocol/dataprotocol.c:
4838           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
4839
4840 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4841
4842         * Makefile.am:
4843         * win32/MANIFEST:
4844           add win32 dir to the build.  Fixes #149981.
4845
4846 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4847
4848         * configure.ac:
4849           bump libtool versioning
4850         * gst/gststructure.c:
4851           mark function as static
4852         * po/af.po:
4853         * po/az.po:
4854         * po/ca.po:
4855         * po/cs.po:
4856         * po/en_GB.po:
4857         * po/fr.po:
4858         * po/nl.po:
4859         * po/sq.po:
4860         * po/sr.po:
4861         * po/sv.po:
4862         * po/tr.po:
4863         * po/uk.po:
4864           translations update
4865         * win32/README.txt:
4866           trademark protection
4867
4868 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4869
4870         * configure.ac:
4871           fix GST_ORIGIN
4872           set GST_PACKAGE to source, and distinguish between release and other
4873         * tools/gst-inspect.c:
4874           print out plugin an element factory is part of so we see this info
4875
4876 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4877
4878         * docs/gst/gstreamer-sections.txt:
4879         * docs/gst/tmpl/gstbuffer.sgml:
4880         * docs/gst/tmpl/gstschedulerfactory.sgml:
4881           reorder docs a little, make GstBuffer's more sensible.
4882         * gst/gstbuffer.h:
4883           API: added GST_BUFFER_FLAG_DELTA_UNIT
4884         * gst/gstscheduler.c:
4885           comment API addition
4886
4887 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4888
4889         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
4890           work with non-regular files that can be mmapped (like /dev/zero)
4891         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
4892           get rid of typefinds that require a seek when we can't seek instead
4893           of trying them over and over again
4894         * tools/gst-launch.c: (idle_func), (error_cb), (main):
4895           return non-zero failure value when the pipeline was interrupted or
4896           an error occurred
4897
4898 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4899
4900         * win32/config.h:
4901         * win32/GStreamer.vcproj:
4902           compile and install the locales
4903
4904 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4905
4906         * gst/gstvalue.c:
4907           fix a possible memory leak under Windows
4908
4909 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4910
4911         * win32/GStreamer.vcproj:
4912           fix a memory leak that occured under Windows
4913         * win32/gstreamer.def:
4914           add gst_scheduler_register
4915
4916 2004-08-11  Benjamin Otte  <otte@gnome.org>
4917
4918         * docs/gst/gstreamer-sections.txt:
4919         * gst/gstscheduler.c: (gst_scheduler_register):
4920         * gst/gstscheduler.h:
4921           API:
4922           add gst_scheduler_register shortcut similar to gst_element_register
4923         * gst/schedulers/entryscheduler.c: (plugin_init):
4924         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
4925         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
4926           use it
4927
4928 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
4929
4930         * gst/gstvalue.h:
4931           fix a memory leak that occured under Windows
4932
4933 2004-08-10  Colin Walters  <walters@redhat.com>
4934
4935         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
4936         Don't use O_EXCL to open temporary registry.  It will prevent
4937         registry creation if a temporary one already exists, which
4938         is unnecessary.
4939
4940 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4941
4942         * docs/gst/gstreamer-sections.txt:
4943         * docs/gst/tmpl/gstvalue.sgml:
4944           remove some valuable stuff from the documentation due to the use of GST_EXPORT
4945
4946 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4947
4948         * win32/gstbytestream.vcproj:
4949         * win32/gstelements.vcproj:
4950         * win32/gstgetbits.vcproj:
4951         * win32/gst-inspect.vcproj:
4952         * win32/gst-launch.vcproj:
4953         * win32/gstoptimalscheduler.vcproj:
4954         * win32/GStreamer.vcproj:
4955         * win32/gst-register.vcproj:
4956         * win32/gstspider.vcproj:
4957           update the include and lib dirs to fit standard libraries as
4958           described in the Win32 manual
4959
4960 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4961
4962         * win32/config.h:
4963         * win32/gstversion.h:
4964           enable NLS again, push the version number for the coming 0.8.5 release
4965
4966 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4967
4968         * gst/gstvalue.h:
4969           export gst_type_XXX for windows DLLs
4970
4971 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4972
4973         * docs/faq/gst-uninstalled:
4974           fix PKG_CONFIG_PATH and PYTHONPATH
4975         * gst/schedulers/Makefile.am:
4976           cleanup
4977         * libs/gst/bytestream/bytestream.c:
4978           remove newline
4979         * po/LINGUAS:
4980         * po/sq.po:
4981           adding Albanian translation (Laurent Dhima)
4982         * po/cs.po:
4983           updated
4984
4985 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4986
4987         * po/ca.po:
4988         * po/sv.po:
4989           updated translations
4990
4991 2004-08-04  Benjamin Otte  <otte@gnome.org>
4992
4993         * tests/mass_elements.c: (main):
4994           allow specifying src and sink element explicitly, so I can test
4995           videotestsrc instead of fakesrc
4996
4997 2004-08-04  Benjamin Otte  <otte@gnome.org>
4998
4999         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
5000         (gst_structure_id_empty_new), (gst_structure_empty_new),
5001         (gst_structure_copy):
5002           add gst_structure_id_empty_new_with_size to allow preallocating
5003           value array sizes. Use this in gst_structure_copy to get rid of
5004           reallocs.
5005           don't do quark=>string=>quark when copying structures
5006
5007 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
5008
5009         * docs/manual/win32.xml:
5010         * win32/README.txt:
5011           update documentation with the clean version of dependencies
5012
5013 2004-08-03  Benjamin Otte  <otte@gnome.org>
5014
5015         * gst/schedulers/entryscheduler.c:
5016         (gst_entry_scheduler_remove_element):
5017           fix for GST_DISABLE_DEBUG
5018         * tools/gst-launch.c: (print_tag):
5019           fixes for G_DISABLE_ASSERT
5020
5021 2004-08-03  Benjamin Otte  <otte@gnome.org>
5022
5023         * gst/gst.c: (gst_register_core_elements):
5024           fix for G_DISABLE_ASSERT
5025         * gst/gstinfo.c: (__gst_in_valgrind):
5026           add for GST_DISABLE_DEBUG
5027
5028 2004-08-03  Benjamin Otte  <otte@gnome.org>
5029
5030         * gst/parse/parse.l:
5031           fix for G_DISABLE_ASSERT
5032
5033 2004-08-03  Wim Taymans  <wim@fluendo.com>
5034
5035         * gst/gstbin.c: (gst_bin_get_type),
5036         (gst_bin_child_state_change_func):
5037         * gst/gstthread.c: (gst_thread_change_state):
5038         Backported some debug logging from a reverted patch
5039         Don't try to destroy the thread twice. Added some more
5040         debugging in GstThread. Unlock and signal even if we
5041         are in the thread context.
5042
5043 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5044
5045         * po/uk.po:
5046           updated translation
5047
5048 2004-07-30  David Schleef  <ds@schleef.org>
5049
5050         * gst/gstatomic_impl.h: Enable atomic code for x86_64
5051
5052 2004-07-29  David Schleef  <ds@schleef.org>
5053
5054         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
5055         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
5056
5057 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5058
5059         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5060         (gst_bin_add_func), (gst_bin_remove_func),
5061         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
5062         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
5063         (gst_bin_change_state_norecurse), (gst_bin_dispose),
5064         (gst_bin_sync_children_state):
5065         * gst/gstbin.h:
5066         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
5067         (gst_thread_change_state):
5068         * testsuite/states/Makefile.am:
5069           revert state change patches as agreed so we can rework them
5070           gradually
5071
5072 2004-07-29  Benjamin Otte  <otte@gnome.org>
5073
5074         * libs/gst/control/Makefile.am:
5075           link to libgstreamer (fixes Debian bug 262019, see
5076           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
5077
5078 2004-07-29  Wim Taymans  <wim@fluendo.com>
5079
5080         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
5081         (check_from_fraction_convert), (transform_test), (main):
5082         Make the test less pedantic about float roundoff errors.
5083
5084 2004-07-29  Benjamin Otte  <otte@gnome.org>
5085
5086         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
5087         (gst_filesrc_srcpad_event):
5088           make seek events to before start/after end of file not fail, but
5089           seek to start/end instead
5090         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
5091           add more output
5092
5093 2004-07-29  Benjamin Otte  <otte@gnome.org>
5094
5095         * gst/gstpad.c: (gst_pad_set_explicit_caps):
5096           check that caps are fixed
5097         * gst/gstpad.c: (gst_pad_template_new):
5098           don't try to simplify caps, costs too much time on gst_init
5099         * gst/gstplugin.c: (gst_plugin_add_feature):
5100           G_ERROR if features are added twice
5101         * gst/gsttypefind.c: (gst_type_find_register):
5102         * gst/gstelementfactory.c: (gst_element_register):
5103           don't add features twice
5104         * docs/random/ds/0.9-suggested-changes:
5105           add note about possible gst_init optimization
5106
5107 2004-07-28  David Schleef  <ds@schleef.org>
5108
5109         * testsuite/elements/Makefile.am:
5110         * testsuite/elements/struct_i386.h:
5111         * testsuite/elements/struct_size.c: (main):  A little test
5112         to keep distcheck from working if someone changes a structure
5113         size accidentally.
5114
5115 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5116
5117         * docs/libs/Makefile.am:
5118         * docs/libs/gstreamer-libs-docs.sgml:
5119         * docs/libs/gstreamer-libs-sections.txt:
5120         * docs/libs/tmpl/gstbytestream.sgml:
5121         * docs/libs/tmpl/gstcontrol.sgml:
5122         * docs/libs/tmpl/gstdataprotocol.sgml:
5123         * docs/libs/tmpl/gstgetbits.sgml:
5124         * libs/gst/bytestream/Makefile.am:
5125         * libs/gst/bytestream/bytestream.c:
5126         * libs/gst/bytestream/bytestream.h:
5127         * libs/gst/control/Makefile.am:
5128         * libs/gst/dataprotocol/Makefile.am:
5129         * libs/gst/getbits/Makefile.am:
5130         * libs/gst/getbits/getbits.h:
5131           various doc and style fixes, adding bytestream to libs docs.
5132
5133 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5134
5135         * docs/gst/gstreamer-docs.sgml:
5136         * docs/libs/Makefile.am:
5137         * docs/libs/gstreamer-libs-docs.sgml:
5138         * docs/libs/gstreamer-libs-sections.txt:
5139         * libs/gst/control/dparam.c:
5140           more doc fixes.  gst-libs docs now build the same way as gst.
5141
5142 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5143
5144         * configure.ac:
5145         * testsuite/Makefile.am:
5146         * testsuite/bins/Makefile.am:
5147         * testsuite/caps/Makefile.am:
5148         * testsuite/cleanup/Makefile.am:
5149         * testsuite/clock/Makefile.am:
5150         * testsuite/debug/Makefile.am:
5151         * testsuite/dlopen/Makefile.am:
5152         * testsuite/dynparams/Makefile.am:
5153         * testsuite/elements/.cvsignore:
5154         * testsuite/elements/Makefile.am:
5155         * testsuite/enumcaps/Makefile.am:
5156         * testsuite/enumcaps/enumcaps.c:
5157         * testsuite/ghostpads/Makefile.am:
5158         * testsuite/indexers/Makefile.am:
5159         * testsuite/negotiation/Makefile.am:
5160         * testsuite/parse/Makefile.am:
5161         * testsuite/plugin/Makefile.am:
5162         * testsuite/refcounting/Makefile.am:
5163         * testsuite/schedulers/.cvsignore:
5164         * testsuite/states/Makefile.am:
5165         * testsuite/tags/Makefile.am:
5166         * testsuite/threads/Makefile.am:
5167           fold enumcaps into caps dir
5168           clean up Makefile.am's for testsuite
5169
5170 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5171
5172         * docs/gst/Makefile.am:
5173         * docs/libs/Makefile.am:
5174           clean up docs build.  Fixes needless rebuilding of template files.
5175
5176 2004-07-28  Wim Taymans  <wim@fluendo.com>
5177
5178         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
5179         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
5180         Make sure that a bin state change tries to keep the children
5181         in sync. 
5182         Added debug logging to the thread.
5183
5184 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5185
5186         * win32/GStreamer.vcproj:
5187         * win32/gstreamer.def:
5188           more exports for the plugins
5189
5190 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5191
5192         * win32/gstgetbits.vcproj:
5193         * win32/gstgetbits.def:
5194         * win32/msvc71.sln:
5195           add support for the getbits plugin
5196
5197 2004-07-27  Wim Taymans  <wim@fluendo.com>
5198
5199         * gst/gstvalue.c: (gst_value_transform_double_fraction),
5200         (gst_value_transform_fraction_double), (_gst_value_initialize):
5201         * testsuite/caps/Makefile.am:
5202         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
5203         (check_from_fraction_convert), (transform_test), (main):
5204         Added transform functions between double and fraction.
5205         Added testcase to verify transforms
5206
5207 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5208
5209         * win32/GStreamer.vcproj:
5210           rename GStreamer-0.8.lib to libgstreamer.lib
5211
5212 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5213
5214         * win32/gstelements.vcproj:
5215         * win32/gstoptimalscheduler.vcproj:
5216           fixes for the Release build
5217
5218 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5219
5220         * win32/config.h:
5221           update the version number
5222
5223 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5224
5225         * win32/GStreamer.vcproj:
5226           add gstinterface to the build
5227
5228 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5229
5230         * win32/gstreamer.def:
5231           add many definitions needed by plugins,
5232           GST_CAT_DEFAULT only available in the Debug build ?
5233
5234 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5235
5236         * gst/gstelement.c: (gst_element_set_eos_recursive):
5237           various whitespace fixes.
5238           doc fix, fixes #148497
5239
5240 2004-07-25  Benjamin Otte  <otte@gnome.org>
5241
5242         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
5243           don't delay links on the sink elements, it causes unnegotiated
5244           links.
5245         * gst/elements/gsttypefindelement.c:
5246         (gst_type_find_element_base_init):
5247           add our padtemplates, we indeed do have some.
5248         * gst/elements/gsttypefindelement.c:
5249         (gst_type_find_element_handle_event),
5250         (gst_type_find_element_chain):
5251           don't push data when typefinding failed.
5252         * gst/gstpad.c: (gst_pad_link_fixate):
5253           check that no fixate function returns empty caps.
5254         * gst/gstpad.c: (gst_pad_push):
5255           check that the link is negotiated before data gets pushed.
5256         * tools/gst-register.c: (main):
5257           don't assert (fixes #148283)
5258
5259 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5260
5261         * docs/gst/gstreamer-sections.txt:
5262         * docs/gst/tmpl/gstconfig.sgml:
5263           add GST_PLUGIN_EXPORT definition
5264
5265 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5266
5267         * gst/gstplugin.h:
5268         * gst/gstconfig.h.in:
5269         * win32/gstconfig.h:
5270         * win32/gstelements.def:
5271         * win32/gstelements.vcproj:
5272         * win32/gstoptimalscheduler.def:
5273         * win32/gstoptimalscheduler.vcproj:
5274         * win32/gstspider.def:
5275         * win32/gstspider.vcproj:
5276           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
5277
5278 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5279
5280         * docs/gst/gstreamer-sections.txt:
5281           remove GST_CAT_DEFAULT because the type has changed
5282
5283 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5284
5285         * win32/gstbytestream.vcproj:
5286         * win32/gstelements.vcproj:
5287         * win32/gst-inspect.vcproj:
5288         * win32/gst-launch.vcproj:
5289         * win32/gstoptimalscheduler.vcproj:
5290         * win32/GStreamer.vcproj:
5291         * win32/gst-register.vcproj:
5292         * win32/gstspider.vcproj:
5293         * win32/msvc71.sln:
5294           Copy the files where needed after building, The testsuite will be
5295           built separately
5296
5297 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5298
5299         * win32/config.h:
5300         * win32/README.txt:
5301         * docs/manual/win32.xml:
5302         Fixed the plugin and GStreamer location
5303
5304 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5305
5306         * win32/gstreamer.def:
5307         More exports for the plugins
5308
5309 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5310
5311         * gst/gstinfo.h:
5312         Marc was right, we need to export literally GST_CAT_DEFAULT
5313
5314 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5315
5316         * win32/config.h:
5317         NLS crashes in gettext, disabled until this is solved
5318
5319 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5320
5321         * win32/gst-inspect.vcproj:
5322         * win32/gst-launch.vcproj:
5323         Should use NLS when available
5324
5325 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5326
5327         * gst/registries/gstxmlregistry.c:
5328         removing the file doesn't seem to be a good idea on Linux
5329
5330 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5331
5332         * gst/registries/gstxmlregistry.c:
5333         Remove the registry before renaming the tempfile (needed for Windows)
5334
5335 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5336
5337         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
5338         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
5339         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
5340         * gst/elements/gstmultifilesrc.h:
5341         Added newmedia property so it generates newmedia events between each
5342         file when property is set, as well as fixed eos handling
5343
5344 2004-07-22  David Schleef  <ds@schleef.org>
5345
5346         * gst/gststructure.c: (gst_structure_id_empty_new),
5347         (gst_structure_empty_new):  Set type field correctly.
5348         * gst/gststructure.h: Check type field correctly.
5349         * testsuite/caps/Makefile.am:
5350         * testsuite/caps/structure.c: (test1), (main): Add a very small
5351         test for structures.
5352
5353 2004-07-22  David Schleef  <ds@schleef.org>
5354
5355         * docs/random/ds/0.9-suggested-changes: more comments
5356         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
5357
5358 2004-07-22  Benjamin Otte  <otte@gnome.org>
5359
5360         * gst/gstelementfactory.c: (gst_element_register):
5361           set the factory in the class struct, so gst_element_get_factory
5362           actually works
5363         * gst/parse/grammar.y:
5364           set element to playing when it gets unlocked as we can't rely on the
5365           bin state - all elements in the bin state might still be locked in
5366           NULL)
5367
5368 2004-07-22  Benjamin Otte  <otte@gnome.org>
5369
5370         * gst/gstelement.c: (gst_element_set_state_func):
5371           make this a static function
5372
5373 2004-07-22  Wim Taymans  <wim@fluendo.com>
5374
5375         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
5376         (gst_opt_scheduler_pad_link):
5377         fix 147894-2 and the group_link problem.
5378
5379 2004-07-22  Wim Taymans  <wim@fluendo.com>
5380
5381         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5382         (handoff_identity), (main):
5383         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5384         (handoff_identity), (main):
5385         * testsuite/schedulers/Makefile.am:
5386         * testsuite/schedulers/group_link.c: (main):
5387         Show bug in scheduler when linking chain and loop based element 
5388         where the chain based element was not yet in a group.
5389
5390 2004-07-21  Benjamin Otte  <otte@gnome.org>
5391
5392         * gst/.cvsignore:
5393         * gst/autoplug/.cvsignore:
5394         * gst/elements/.cvsignore:
5395         * gst/indexers/.cvsignore:
5396         * libs/gst/bytestream/.cvsignore:
5397         * libs/gst/control/.cvsignore:
5398         * libs/gst/getbits/.cvsignore:
5399         * testsuite/states/.cvsignore:
5400         * testsuite/threads/.cvsignore:
5401           keep this up to date, since I seem to be the only one who cares
5402           about not missing files on commits (editor's note: no you don't,
5403           but feel free to change them at the time you add stuff instead
5404           of later on)
5405
5406 2004-07-21  Benjamin Otte  <otte@gnome.org>
5407
5408         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5409         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
5410         (gst_bin_child_state_change_func), (set_kid_state_func),
5411         (gst_bin_set_state), (gst_bin_change_state_norecurse):
5412           make state changes work correctly and reentrant (so removing
5413           elements from bins during state changes of bins doesn't cause
5414           segfaults or even wrong states)
5415           add debugging category and debugging output to print children states
5416         * gst/gstbin.c: (gst_bin_dispose): 
5417           add some assertion checks
5418         * gst/gstbin.h:
5419         * gst/gstbin.c: (gst_bin_sync_children_state):
5420           deprecate this function - it just does gst_bin_set_state (bin,
5421           GST_STATE (bin)) 
5422         * testsuite/threads/queue.c: (main):
5423           don't use gst_bin_sync_children_state anymore
5424         * testsuite/states/Makefile.am:
5425         * testsuite/states/bin.c:
5426           test that the state changes of bins work as expected
5427         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
5428           some adjustments to change states correctly, too
5429         * gst/gstthread.c: (gst_thread_change_state):
5430           don't enable/disable "threadsafe" properties, they're unused and
5431           cause random segfaults
5432         * testsuite/threads/Makefile.am:
5433           the queue check randomly passes now, ignore it
5434
5435 2004-07-21  Benjamin Otte  <otte@gnome.org>
5436
5437         * gst/gstpad.c:
5438           check if data is NULL before outputting debug info. (fixes #145100)
5439
5440 2004-07-21  Benjamin Otte  <otte@gnome.org>
5441
5442         * gst/schedulers/entryscheduler.c:
5443         (gst_entry_scheduler_loop_wrapper),
5444         (gst_entry_scheduler_chain_wrapper),
5445         (gst_entry_scheduler_get_wrapper):
5446           reset the state when the cothread starts, so we don't get assertion
5447           failures on restarting of cothreads
5448
5449 2004-07-20  Benjamin Otte  <otte@gnome.org>
5450
5451         * gst/gstelement.c: (gst_element_link_pads_filtered):
5452           use correct sinkpad, if only sinkpad is specified, but not srcpad
5453           (fixes #147889)
5454         * gst/gstelement.c: (gst_element_set_state_func),
5455         (gst_element_change_state): ref/unref the element, signal handlers
5456         could get rid of the element otherwise
5457
5458 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5459
5460         * docs/random/ds/0.9-suggested-changes:
5461           Make note about renaming fixed-list to array.
5462         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
5463         (_gst_value_initialize):
5464           Add array intersections.
5465         * testsuite/caps/intersect2.c: (main):
5466           Add test for array intersections.
5467
5468 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5469
5470         * configure.ac: back to cvs
5471
5472 === release 0.8.4 ===
5473
5474 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5475
5476         * configure.ac:
5477           releasing 0.8.4, "Paella"
5478           bump libtool versioning
5479
5480 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5481
5482         * po/LINGUAS:
5483         * po/ca.po:
5484           adding Catalan translation (Jordi Mallach)
5485
5486 2004-07-20  Wim Taymans  <wim@fluendo.com>
5487
5488         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5489         (handoff_identity), (main):
5490         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5491         (handoff_identity), (main):
5492         * testsuite/schedulers/Makefile.am:
5493         Added failing testcase for variant of #147894
5494
5495 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5496
5497         patch by: David Moore
5498
5499         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5500         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
5501         (group_migrate_connected):
5502         * testsuite/schedulers/Makefile.am:
5503           fix for #142813 (Deadlock in optimal scheduler)
5504
5505 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5506
5507         patch by: Wim Taymans
5508
5509         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5510         (gst_opt_scheduler_schedule_run_queue),
5511         (gst_opt_scheduler_get_wrapper), (get_group),
5512         (group_migrate_connected):
5513         * testsuite/schedulers/Makefile.am:
5514           fix for #147819 (Add some checks in the opt scheduler)
5515
5516 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5517
5518         patch by: Benjamin Otte
5519
5520         * gst/gstelementfactory.c: (__gst_element_details_set):
5521           fix for #147929: running gst-register in non-utf8 locale can cause
5522           invalid registry
5523
5524 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5525
5526         patch by: Wim Taymans
5527
5528         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
5529         (group_has_element), (element_get_reachables_func),
5530         (group_migrate_connected):
5531           fix for #147894 (opt scheduler decoupled elements mismanagement)
5532         * testsuite/schedulers/Makefile.am:
5533           testsuite app now passes
5534
5535 2004-07-19  Wim Taymans  <wim@fluendo.com>
5536
5537         * testsuite/schedulers/147819.c: (handoff_identity1),
5538         (handoff_identity2), (main):
5539         * testsuite/schedulers/Makefile.am:
5540         Added testcase for bug 147819
5541
5542 2004-07-19  Wim Taymans  <wim@fluendo.com>
5543
5544         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5545         (handoff_identity), (main):
5546         * testsuite/schedulers/Makefile.am:
5547         Added testcase for bug 147894
5548
5549 2004-07-16  Wim Taymans  <wim@fluendo.com>
5550
5551         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
5552         * testsuite/schedulers/142183.c: (handoff_identity), (main):
5553         * testsuite/schedulers/Makefile.am:
5554         Added testsuite for bug 142183 in its two incarnations. Refcount
5555         is not increased for scheduled elements and threadsafe properties
5556         mutexes are not properly unlocked.
5557
5558 2004-07-16  Wim Taymans  <wim@fluendo.com>
5559
5560         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
5561         (create_chain), (destroy_chain), (create_group), (destroy_group),
5562         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
5563         (group_dec_link), (gst_opt_scheduler_pad_link),
5564         (group_inc_links_for_element), (group_migrate_connected):
5565         Call group_inc_link with the proper src->sink ordering -- 
5566         break this, and we break sort_chain. patch from wingo for bug
5567         147713.
5568         Partially revert patch 1.89. When adding a loop based element to 
5569         the scheduler, the links to other groups are automatically followed
5570         and incremented. This should not happen because the bin will call
5571         pad_link explicitly for those connection, resulting in them counted 
5572         twice. Results in assertion failure on pipeline cleanup.
5573
5574 2004-07-16  Wim Taymans  <wim@fluendo.com>
5575
5576         * testsuite/schedulers/143777-2.c: (main):
5577         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
5578         (main):
5579         * testsuite/schedulers/Makefile.am:
5580         Added cleanup code to testcase 143777-2.
5581         Added testcase to show bug 147713, does not really show the
5582         deadlock as I can't figure out how to trigger it, but it does
5583         demonstrate bad ordering in the scheduler.
5584
5585 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5586
5587         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5588           change strndup to g_strndup.  Fixes #147707
5589
5590 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5591
5592         * po/af.po:
5593         * po/az.po:
5594         * po/cs.po:
5595         * po/en_GB.po:
5596         * po/fr.po:
5597         * po/nl.po:
5598         * po/sr.po:
5599         * po/sv.po:
5600         * po/tr.po:
5601         * po/uk.po:
5602           updated translations
5603
5604 2004-07-16  Benjamin Otte  <otte@gnome.org>
5605
5606         * gst/gstvalue.c: (gst_greatest_common_divisor):
5607           use ints and return ints, fractions only use ints, too, so this
5608           avoids accidently casting multiplications to unsigned
5609         (gst_value_lcopy_fraction): it's ints, not uint32
5610         (gst_value_set_fraction): disallow minint, multiplying and negation
5611           are broken with it
5612         (gst_value_fraction_multiply): fix to make large numbers work and get
5613         rid of the assumption that the multiplication of two ints fits an
5614         int64 - dunno if that's true for all systems
5615         * testsuite/caps/Makefile.am:
5616         * testsuite/caps/fraction-multiply-and-zero.c:
5617         (check_multiplication), (check_equal), (zero_test), (main):
5618           add tests for all the stuff above
5619         * testsuite/caps/value_compare.c: (test1):
5620           fix comment
5621         * tests/.cvsignore:
5622         * testsuite/caps/.cvsignore:
5623         * testsuite/debug/.cvsignore:
5624         * testsuite/dlopen/.cvsignore:
5625         * testsuite/states/.cvsignore:
5626           get up to date
5627
5628 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5629
5630         * docs/manual/bins-api.xml:
5631         * docs/manual/factories.xml:
5632         * docs/manual/helloworld.xml:
5633         * docs/manual/links-api.xml: 
5634           fixes for out of date info, incorrect info and grammar
5635
5636 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5637
5638         * docs/manual/pads.xml:
5639         * docs/manual/pads-api.xml: grammar fix
5640
5641 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5642
5643         * docs/manual/pads-api.xml: typo + grammar fix
5644
5645 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5646
5647         * docs/gst/gstreamer-sections.txt:
5648           add new symbols
5649         * docs/gst/tmpl/gstelement.sgml:
5650         * docs/gst/tmpl/gstpad.sgml:
5651         * docs/gst/tmpl/gsttypes.sgml:
5652         * docs/gst/tmpl/gstvalue.sgml:
5653           update docs
5654         * gst/gststructure.c: (gst_structure_set_valist),
5655         (gst_structure_from_abbr), (gst_structure_to_abbr):
5656         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
5657         (gst_greatest_common_divisor), (gst_value_init_fraction),
5658         (gst_value_copy_fraction), (gst_value_collect_fraction),
5659         (gst_value_lcopy_fraction), (gst_value_set_fraction),
5660         (gst_value_get_fraction_numerator),
5661         (gst_value_get_fraction_denominator),
5662         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
5663         (gst_value_deserialize_fraction),
5664         (gst_value_transform_fraction_string),
5665         (gst_value_transform_string_fraction),
5666         (gst_value_compare_fraction), (_gst_value_initialize):
5667         * gst/gstvalue.h:
5668           adding GstFraction GValue type, get/set, and multiply
5669         * testsuite/caps/Makefile.am:
5670         * testsuite/caps/fraction.c: (test), (main):
5671         * testsuite/caps/string-conversions.c: (main):
5672         * testsuite/caps/value_compare.c: (test1), (main):
5673           add regression tests for GstFraction
5674
5675 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5676         
5677         * docs/manual/init-api.xml: Grammar fix
5678
5679 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5680
5681         * docs/manual/states.xml: Fix inconsistent information
5682
5683 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5684
5685         * gst/gstelement.c: (gst_element_set_state):
5686         * gst/gstpad.c: (gst_pad_try_set_caps):
5687         * gst/gststructure.c:
5688         * gst/gstthread.c: (gst_thread_child_state_change):
5689         * gst/gstvalue.c: (gst_value_compare_double):
5690         * gst/gstvalue.h:
5691         * testsuite/parse/parse1.c: (main):
5692           debugging additions and style cleanups
5693
5694 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5695
5696         * docs/manual/states.xml: Grammar fix
5697
5698 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5699
5700         * docs/manual/pads.xml: Grammar fix
5701
5702 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5703
5704         * docs/manual/elements.xml: Fixed image reference
5705
5706 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5707
5708         * docs/manual/goals.xml: Grammar fix
5709
5710 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5711
5712         * docs/manual/motivation.xml:
5713         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
5714
5715 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5716
5717         * docs/manual/motivation.xml: Fix spelling
5718
5719 2004-07-15  Benjamin Otte  <otte@gnome.org>
5720
5721         * gst/gstelement.h: 
5722           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
5723           strings.
5724         * gst/gstelement.c (gst_element_class_init):
5725           GError's are boxed, not objects
5726         * gst/gstmarshal.list:
5727           update list for the fixed error signal
5728
5729 2004-07-14  Andy Wingo  <wingo@pobox.com>
5730
5731         * gst/gsttag.c: Add a tag merge func for pointers. The header was
5732         there all along, but the function wasn't. (guile-gstreamer's build
5733         system uses the address of the function -- I wasn't actually
5734         trying to use this.)
5735
5736 2004-07-14  Andy Wingo  <wingo@pobox.com>
5737
5738         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
5739         as gst_pad_proxy_pad_link) just link to every other pad when they
5740         are called. In the case where the graph has cycles, this will mean
5741         that a call to try_set_caps will recurse. Allow this recursion
5742         and return OK, while we wait for the first try_set_caps to give a
5743         proper return value.
5744         (gst_pad_link_call_link_functions): Since this function is the
5745         only one to set the NEGOTIATING flag on a pad, if the flag is set
5746         it means that the link functions have indirectly recursed. If this
5747         happens, error out to avoid infinite recursion and an eventual
5748         SEGV.
5749         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
5750         (gst_pad_proxy_getcaps): Intersect the result with the template
5751         caps to ensure that the return value is valid.
5752
5753 2004-07-14  Andy Wingo  <wingo@pobox.com>
5754
5755         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
5756         one refcount, the calling function is the owner of the buffer.
5757
5758 2004-07-14  Wim Taymans  <wim@fluendo.com>
5759
5760         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5761         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5762         Fix stupid warning when an element is to be migrated but
5763         is already migrated.
5764
5765 2004-07-14  Wim Taymans  <wim@fluendo.com>
5766
5767         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5768         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5769         Make sure that a single non-loop-based element does not 
5770         end up in a group. This fixes the testsuite again.
5771
5772 2004-07-14  Wim Taymans  <wim@fluendo.com>
5773
5774         * gst/schedulers/gstoptimalscheduler.c: (create_group),
5775         (add_to_group), (merge_groups), (schedule_group),
5776         (gst_opt_scheduler_get_wrapper), (group_elements),
5777         (group_dec_link), (gst_opt_scheduler_pad_link),
5778         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
5779         (gst_opt_scheduler_iterate):
5780         move isolated groups to a new chain.
5781         Emit a warning instead of segfaulting in some error cases.
5782         Fix a bug where the link count between groups was not calculated 
5783         correctly. Fixes #144510.
5784
5785 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
5786         * gst/elements/gstfilesrc.c:
5787           Binary files support under Windows now OK
5788       
5789 2004-07-13  Benjamin Otte  <otte@gnome.org>
5790
5791           compatibility fixes for Solaris 8/gcc 2.95
5792         * configure.ac:
5793           include libintl libs in LDFLAGS
5794         * gstvalue.c (gst_value_deserialize_buffer):
5795           cast isxdigit stuff to int to silence compiler warning
5796
5797 2004-07-12  Benjamin Otte  <otte@gnome.org>
5798
5799         * gst/gsttypes.h:
5800           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
5801           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
5802           just causes support madness
5803         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
5804           make it work without this
5805         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
5806         (gst_file_index_commit):
5807           glib IO channels don't want binary mode
5808         * testsuite/bytestream/filepadsink.c: (main):
5809         * testsuite/bytestream/test1.c: (read_param_file):
5810           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
5811
5812 2004-07-12  Benjamin Otte  <otte@gnome.org>
5813
5814         * gst/gstelement.c: (gst_element_class_init),
5815         (gst_element_set_state), (gst_element_set_state_func):
5816           virutalize gst_element_set_state, use set_state member in class
5817           struct that was already added in 0.7 for this.
5818         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
5819         (gst_bin_change_state):
5820           make gst_bin_foreach works similar to other foreach functions, plug
5821           memleaks in it. Make functions using it work with the new approach.
5822           Document gst_bin_foreach, so it can be exported if we want to
5823         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
5824           use virtualized set_state to make set_state on bins set the state of
5825           all its children.
5826
5827 2004-07-12  Benjamin Otte  <otte@gnome.org>
5828
5829         * configure.ac:
5830           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
5831           http://bugs.gentoo.org/show_bug.cgi?id=53967)
5832         * gst/gstpad.c: (gst_pad_alloc_buffer):
5833           allow buffer_alloc functions to return NULL and allocate a normal
5834           buffer in that case
5835
5836 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5837         * gst/elements/gstfilesink.c:
5838         * gst/elements/gstfilesrc.c:
5839         * gst/indexers/gstfileindex.c:
5840         * gst/gsttypes.h:
5841         * testsuite/bytestream/filepadsink.c:
5842         * testsuite/bytestream/test1.c:
5843           Handle binary files under Windows
5844
5845 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5846         * docs/manual/win32.xml:
5847         * win32/config.h:
5848         * win32/gst-register.vcproj:
5849         * win32/gstreamer.def:
5850           Update to another gettext public build
5851
5852 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5853         * gst/gstplugin.c:
5854           Fix an impossible C syntax
5855         * win32/config.h:
5856           Disable i18n under Windows for the moment
5857         * win32/gst-register.vcproj:
5858           Use this configuration
5859
5860 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
5861         * docs/manual/quotes.xml:
5862           Keep the quotes file alive
5863         * docs/random/ds/0.9-suggested-changes:
5864           Add the suggestion of including a 'rowstride' as part of video
5865           format caps
5866
5867 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5868
5869         * gst/gstelement.c: (gst_element_set_state),
5870         (gst_element_change_state):
5871           d'oh.  Set PENDING state correctly before forcing bin to change.
5872         * gst/gststructure.c: (gst_structure_value_get_generic_type),
5873         (gst_structure_parse_fixed_list):
5874         * gst/schedulers/gstoptimalscheduler.c:
5875         (gst_opt_scheduler_state_transition):
5876         * testsuite/states/parent.c: (main):
5877           remove comment now that it's fixed.
5878
5879 2004-07-11  Benjamin Otte  <otte@gnome.org>
5880
5881         * gst/gstclock.h:
5882           GST_SECOND shouldn't cause a conversion to unsigned.
5883         * testsuite/clock/.cvsignore:
5884         * testsuite/clock/Makefile.am:
5885         * testsuite/clock/signedness.c: (main):
5886           make sure it never will again
5887
5888 2004-07-11  Andy Wingo  <wingo@pobox.com>
5889
5890         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
5891         whose state is higher than the bin state, raise the bin state to
5892         ensure that bin state := highest child state.
5893         
5894 2004-07-11  Andy Wingo  <wingo@pobox.com>
5895
5896         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
5897         procedure on the children of a bin. Assumes that the procedure can
5898         change the set of children.
5899         (set_kid_state_func): New static function.
5900         (gst_bin_change_state): Use gst_bin_foreach to call
5901         set_kid_state_func. Fixes a bug: if a child had a state-change
5902         handler that removes it from the bin, there would be a segfault.
5903         Hopefully it should also work in the case where the state-change
5904         handler on one child adds or removes other children. In any case,
5905         fixes should go to gst_bin_foreach.
5906
5907 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5908
5909         * gst/gstelement.c: (gst_element_set_state):
5910           compatibility fix for latest plugins release.  Change loop back
5911           to while {}
5912
5913 2004-07-09  Wim Taymans  <wim@fluendo.com>
5914
5915         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
5916         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
5917         (gst_thread_main_loop):
5918         Since remove is virtual in GstBin we must not assume the 
5919         elements GList to have anothing useful.
5920         Add some more logging to GstThread and be a bit more paranoid
5921         when resetting the scheduler.
5922         Set the state of the bin to NULL before removing the children.
5923
5924 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5925
5926         * testsuite/threads/Makefile.am:
5927         * testsuite/threads/threadg.c:
5928           added test to check if problem when removing all elements from a
5929           GstThread before setting GstThread state to NULL
5930
5931 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5932
5933         * docs/gst/tmpl/gstelement.sgml:
5934         * docs/gst/tmpl/gsttypes.sgml:
5935         * gst/gstbin.c: (gst_bin_change_state):
5936         * gst/gstelement.c: (gst_element_set_state),
5937         (gst_element_change_state):
5938           rework so that for bins we try to set the state on all children
5939           as well even if the bin is in the correct state already.
5940           change while to do so at least one iteration is done.
5941           For regular elements, we fall back to the previous behaviour for
5942           now since we first need a new plugins release.
5943         * testsuite/states/parent.c: (main):
5944           test for this case
5945           Fixes #123774
5946
5947 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5948
5949         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
5950         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
5951         (gst_queue_release_locks), (gst_queue_change_state),
5952         (gst_queue_set_property):
5953           add proper lock debugging.  Change dispose to finalize, since
5954           we're freeing mutexes and other stuff which should happen only once.
5955
5956 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5957
5958         * docs/gst/tmpl/gstelement.sgml:
5959         * docs/gst/tmpl/gstplugin.sgml:
5960         * docs/gst/tmpl/gsttypes.sgml:
5961         * docs/pwg/building-state.xml:
5962         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
5963         * gst/gstelement.c: (gst_element_change_state):
5964         * gst/gstthread.c: (gst_thread_change_state):
5965           catch wrong state changes in element base class.
5966
5967 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5968
5969         * gst/gstinfo.h:
5970           clean up layout a little.
5971
5972 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5973
5974         * configure.ac:
5975         * testsuite/Makefile.am:
5976         * testsuite/states/Makefile.am:
5977         * testsuite/states/parent.c: (main):
5978           re-enable states testsuite dir.  Add test for state changes and
5979           parent behaviour
5980
5981 2004-07-09  Wim Taymans  <wim@fluendo.com>
5982
5983         * gst/schedulers/gstoptimalscheduler.c:
5984         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
5985         (element_get_reachables_func), (element_get_reachables),
5986         (debug_element), (rechain_group), (group_migrate_connected),
5987         (gst_opt_scheduler_pad_unlink):
5988         Do not try to migrate decoupled elements to a new group since
5989         they are not added to groups.
5990
5991 2004-07-08  Benjamin Otte  <otte@gnome.org>
5992
5993         * gst/gstelement.c: (gst_element_error_func):
5994           make reentrant (= allow removing elements in error handler)
5995
5996 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5997
5998         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5999         (gst_pad_send_event), (gst_pad_call_chain_function):
6000           events sent to elements below PAUSED cannot be handled, so
6001           don't try to
6002
6003 2004-07-08  Wim Taymans  <wim@fluendo.com>
6004
6005         * gst/schedulers/gstoptimalscheduler.c:
6006         (chain_recursively_migrate_group), (create_group),
6007         (schedule_group), (gst_opt_scheduler_pad_link),
6008         (group_elements_set_visited), (element_get_reachables_func),
6009         (element_get_reachables), (group_can_reach_group), (debug_element),
6010         (rechain_group), (group_migrate_connected),
6011         (gst_opt_scheduler_pad_unlink):
6012         * testsuite/schedulers/Makefile.am:
6013         Implemented group splitting and rechaining.
6014         Fixes 143777 and 143777-2 in the testsuite.
6015
6016 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6017
6018         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
6019           extra debugging
6020         * gst/gstevent.h:
6021         * gst/gstinfo.c: (gst_debug_log_default):
6022           print time nicely.  add thread pointer until someone figures out
6023           a completely portable way of getting at thread id's.
6024         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
6025         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
6026         (gst_pad_call_chain_function):
6027           extra debugging
6028         * gst/schedulers/gstoptimalscheduler.c:
6029         (get_group_schedule_function), (loop_group_schedule_function),
6030         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
6031         (pad_clear_queued), (gst_opt_scheduler_iterate):
6032           rename BUFPEN and friends to DATAPEN since that's what they are.
6033
6034 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6035
6036         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
6037         * gst/gstbuffer.h:
6038         * gst/gstpad.c:
6039           cleanups and debugging
6040
6041 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6042
6043         * configure.ac:
6044         * gst/gstvalue.c: (gst_value_compare_enum),
6045         (gst_value_serialize_enum), (gst_value_deserialize_enum),
6046         (gst_value_can_compare), (gst_value_compare):
6047         * testsuite/Makefile.am:
6048         * testsuite/enumcaps/Makefile.am:
6049         * testsuite/enumcaps/enumcaps.c:
6050           Fix enum serialization, deserialization, comparison in caps, add
6051           a test to ensure that this continues working in the future.
6052
6053 2004-07-06  David Schleef  <ds@schleef.org>
6054
6055         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
6056         Fix memleak.
6057
6058 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6059
6060         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
6061         * gst/gstplugin.h:
6062         * gst/registries/gstxmlregistry.c:
6063         (plugin_times_older_than_recurse), (plugin_times_older_than),
6064         (gst_xml_registry_parse_padtemplate):
6065           only rebuild registry when actual plugins have a newer time than
6066           the registry.  Fixes #145520
6067
6068 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6069
6070         * docs/manual/manual.xml:
6071         * docs/manual/win32.xml:
6072           add chapter on win32 building.  fixes #142422
6073
6074 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6075
6076         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
6077
6078         * gst/autoplug/gstspider.c: (gst_spider_init),
6079         (gst_spider_dispose):
6080           fix spider memleaks.  fixes #137863
6081
6082 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6083
6084         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
6085
6086         * gst/schedulers/gstoptimalscheduler.c:
6087         (gst_opt_scheduler_pad_unlink):
6088           fix SIGBUS error, fixes #145338
6089
6090 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6091
6092         * gst/gstobject.c: (gst_object_replace):
6093         * gst/gstscheduler.c: (gst_scheduler_get_clock):
6094         * gst/gstsystemclock.c: (gst_system_clock_obtain):
6095           clean up clock lifecycle.  Fixes #109831
6096
6097 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6098
6099         * po/LINGUAS:
6100         * po/cs.po:
6101           added Czech translation (Miloslav Trmac)
6102
6103 2004-07-04  David Schleef  <ds@schleef.org>
6104
6105         * tools/Makefile.am:
6106         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
6107
6108 2004-07-04  David Schleef  <ds@schleef.org>
6109
6110         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
6111
6112 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6113
6114         * gst/gstbin.c: (gst_bin_restore_thyself):
6115           chain to parent restore so the bins get restored correctly
6116           in the editor
6117
6118 2004-07-03  David Schleef  <ds@schleef.org>
6119
6120         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
6121         Actually do something in these functions, like before the big
6122         caps change.  (bug #145137)
6123
6124 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6125
6126         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
6127         (gst_element_get_compatible_pad_filtered):
6128         * gst/gstthread.c: (gst_thread_main_loop):
6129           more debugging
6130
6131 2004-07-02  David Schleef  <ds@schleef.org>
6132
6133         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
6134         * gst/gstobject.h:
6135         * gst/gstparse.h:
6136         * gst/gsttrace.h:
6137         * gst/gstxml.h:
6138
6139 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6140
6141         * gst/gstpad.c: (gst_pad_check_schedulers),
6142         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6143         (gst_pad_link_prepare):
6144           revert until testsuite is fixed
6145
6146 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6147
6148         * testsuite/Makefile.am:
6149         * testsuite/caps/filtercaps.c: (main):
6150         * testsuite/clock/clock1.c: (main):
6151         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
6152           fix some more tests
6153
6154 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6155
6156         * testsuite/cleanup/cleanup1.c: (create_pipeline):
6157         * testsuite/cleanup/cleanup2.c: (create_pipeline):
6158         * testsuite/cleanup/cleanup4.c: (main):
6159           fix testsuite
6160
6161 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6162
6163         * libs/gst/control/control.c:
6164         * libs/gst/control/dparam.c:
6165         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
6166         * libs/gst/control/dparammanager.c:
6167         * libs/gst/control/dparammanager.h:
6168         * testsuite/dynparams/Makefile.am:
6169         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
6170         (gst_dptest_change_state), (gst_dptest_chain), (main):
6171           fix testcase for dparams
6172           add debugging category
6173
6174 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6175
6176         * testsuite/Rules:
6177           change path
6178
6179 2004-07-02  Benjamin Otte  <otte@gnome.org>
6180
6181         * tests/.cvsignore:
6182         * tests/Makefile.am:
6183         * tests/mass_elements.c: (gst_get_current_time), (main):
6184           add simple benchmark to test various speeds of fakesrc ! identity !
6185           identity ! ... ! fakesink.
6186           Usage: mass_elements [num_identities] [num_buffers]
6187           If not specified they default to 1000.
6188
6189 2004-07-02  Benjamin Otte  <otte@gnome.org>
6190
6191         * gst/gstpad.c: (gst_pad_check_schedulers),
6192         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6193         (gst_pad_link_prepare):
6194           check that pads that get linked belong to the same manager. The old
6195           code allowed linking elements before putting them into bins, so it
6196           worked to link them and then put them in different threads, which
6197           lead to weird behaviour.
6198           Since this effectively disallows linking elements before putting
6199           them in a bin, some applications might not work after this and error
6200           out. If these applications are too critical, we might need to revert
6201           that patch. Please test this before the next release...
6202
6203 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6204
6205         * gst/gstpad.c: (gst_pad_get_caps):
6206           throw an error if the getcaps function does not return a subset of
6207           the template caps.
6208         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
6209           make disconts without position info an error in debugging
6210         * tests/spidey_bench.c: (handoff), (main):
6211           don't count first try when averaging
6212
6213 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6214
6215         * gst/gstplugin.c: (gst_plugin_load_file):
6216           figure out problem with dynamic test
6217
6218 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6219
6220         * docs/gst/Makefile.am:
6221           fix docs build
6222
6223 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6224
6225         * po/POTFILES.in:
6226         * po/af.po:
6227         * po/az.po:
6228         * po/en_GB.po:
6229         * po/fr.po:
6230         * po/nl.po:
6231         * po/sr.po:
6232         * po/sv.po:
6233         * po/tr.po:
6234         * po/uk.po:
6235         * tools/gst-register.c: (plugin_added_func), (main):
6236           i18n-ize -register, fix plural
6237
6238 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6239
6240         * gst/elements/gstidentity.c: (gst_identity_class_init),
6241         (gst_identity_init), (gst_identity_chain),
6242         (gst_identity_set_property), (gst_identity_get_property):
6243         * gst/elements/gstidentity.h:
6244           check for perfect stream
6245
6246 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6247
6248         * gst/elements/gstidentity.c: (gst_identity_chain):
6249           print offset_end
6250
6251 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6252
6253         * docs/gst/Makefile.am:
6254         * docs/gst/gstreamer-docs.sgml:
6255           doc fixes
6256
6257 2004-06-24  David Schleef  <ds@schleef.org>
6258
6259         * autogen.sh:  Remove call to env, since the buildbot isn't
6260         broken anymore.
6261
6262 2004-06-24  Wim Taymans  <wim@fluendo.com>
6263
6264         * gst/elements/Makefile.am:
6265         * gst/elements/gstelements.c:
6266         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
6267         (gst_multifdsink_class_init), (gst_multifdsink_init),
6268         (gst_multifdsink_add), (gst_multifdsink_remove),
6269         (gst_multifdsink_clear), (gst_multifdsink_chain),
6270         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
6271         * gst/elements/gstmultifdsink.h:
6272         Added an element that writes to multiple filedescriptors at once.
6273
6274 2004-06-24  Benjamin Otte  <otte@gnome.org>
6275
6276         * gst/parse/grammar.y:
6277           don't try to link elements before they have been added to bins
6278
6279 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6280
6281         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
6282         (gst_file_pad_get_length):
6283         * libs/gst/bytestream/filepad.h:
6284           add 2 new functions
6285
6286 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6287
6288         * docs/gst/gstreamer-sections.txt:
6289         remove from docs, the define that Benjamin removed from gstelement.h
6290
6291 2004-06-22  Benjamin Otte  <otte@gnome.org>
6292
6293         * gst/gstelement.h:
6294           remove define that referenced a nonexisting GstElement struct member
6295
6296 2004-06-20  Benjamin Otte  <otte@gnome.org>
6297
6298         * gst/gstdata.c: (gst_data_is_writable):
6299           whoops, return values were wrong, so writable data was marked as
6300           non-writable and vice versa. (fixes #143953, spotted by Francis
6301           Labonte)
6302           Shows how rarely we need to copy data ;)
6303
6304 2004-06-20  Benjamin Otte  <otte@gnome.org>
6305
6306         * testsuite/schedulers/.cvsignore:
6307         * testsuite/schedulers/Makefile.am:
6308         * testsuite/schedulers/143777-2.c: (main):
6309           add test for opt breakage in bug #143777
6310
6311 2004-06-20  Benjamin Otte  <otte@gnome.org>
6312
6313         * gst/gstpad.c: (gst_pad_call_chain_function):
6314           check for if we were unlinked while inside the chainfunction (fixes
6315           entrygthread having issues with #143777)
6316         * testsuite/schedulers/143777.c: (main):
6317         * testsuite/schedulers/Makefile.am:
6318           add a test for that fix
6319
6320 2004-06-20  Benjamin Otte  <otte@gnome.org>
6321
6322         * gst/gstvalue.c: (gst_value_set_int_range):
6323           test that start is smaller then end
6324         * libs/gst/bytestream/Makefile.am:
6325         * libs/gst/bytestream/filepad.c: 
6326         * libs/gst/bytestream/filepad.h:
6327           add GstFilePad - a pad that behaves like a FILE*
6328         * testsuite/bytestream/.cvsignore:
6329         * testsuite/bytestream/Makefile.am:
6330         * testsuite/bytestream/filepadsink.c: 
6331           test for the GstFilePad
6332
6333 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6334
6335         * gst/elements/gstidentity.c: (gst_identity_class_init),
6336         (gst_identity_init), (gst_identity_set_clock),
6337         (gst_identity_chain), (gst_identity_set_property),
6338         (gst_identity_get_property):
6339         * gst/elements/gstidentity.h:
6340         * gst/gstclock.c: (gst_clock_id_wait):
6341           add a "sync" property to sync to the clock
6342
6343 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6344
6345         * gst/gstelementfactory.c: (gst_element_factory_create):
6346           make the freakin "elementfactory bla has no type" message more
6347           useful. So we actually can do something when someone shows up
6348           complaining about it.
6349
6350 2004-06-15  Johan Dahlin  <johan@gnome.org>
6351
6352         * tools/gst-inspect.c (main): Fallback to plugin if no element is
6353         found. This matches the old behavior better. Thanks to Thomas for
6354         pointing out.
6355
6356 2004-06-14  David Schleef  <ds@schleef.org>
6357
6358         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
6359         -fomit-frame-pointer.  Appears to generate correct code in
6360         other cases as well.
6361
6362 2004-06-14  Johan Dahlin  <johan@gnome.org>
6363
6364         * tools/gst-inspect.c (main): Add two new command line options: -a
6365         to print all elements and -n to print the name on each line. Also
6366         fix some error reporting.
6367         (main): Simplify, remove -n and always print names if -a is specified
6368
6369 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
6370
6371         * win32/gstconfig.h:
6372         * win32/GSTreamer.vcproj:
6373         * win32/Makefile:
6374         * gst/gstconfig.h.in:
6375         * gst/gst.h:
6376         * gst/gstbin.h:
6377         * gst/gstelement.h:
6378         * gst/gstevent.h:
6379         * gst/gstobject.h:
6380         * gst/gstpad.h:
6381         * docs/gst/gstreamer-sections.txt:
6382         * docs/gst/tmpl/gstconfig.sgml:
6383           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
6384
6385 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6386         * docs/gst/gstreamer-sections.txt:
6387         * docs/gst/tmpl/gstconfig.sgml:
6388         Add the GSTREAMER_EXPORT macro to the docs
6389
6390 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6391
6392         * tools/gst-compprep.c: (handle_xmlerror), (main):
6393         Add a check for the version that introduced SetStructuredError to fix
6394         the build on FC1
6395
6396 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6397
6398         * win32/msvc71.sln:
6399         * win32/testsuite/:
6400           prepare to compile the testsuite with MSVC
6401
6402 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6403
6404         * docs/manual/win32.xml:
6405           attempt to transform the Win32 README into an XML doc
6406
6407 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6408
6409         * gst/gst.c:
6410         * gst/gstbin.*:
6411         * gst/config.h.in:
6412         * gst/gstelement.*:
6413         * gst/gstevent.h:
6414         * gst/gstobject.*:
6415         * gst/gstpad.h:
6416         * tools/gst-register.c:
6417         * win32/gstreamer.def:
6418           extern symbols are now exported for the Windows DLL
6419
6420 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6421
6422         * gst/gstinfo.h:
6423           fix a problem to enable/disable DEBUG under MSVC
6424
6425 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6426
6427         * win32/:
6428           enable more debug code in DEBUG build
6429
6430 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6431
6432         * win32/config.h:
6433         * gst/gst-i18n-app.h:
6434           enable NLS under Windows
6435
6436 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
6437         * tools/gst-compprep.c: (handle_xmlerror), (main):
6438           Make an error that baffled me a bit clearer
6439
6440 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6441
6442         * gst/gstqueue.c:
6443           don't use g_queue_get_length () because it's 2.4, use ->length
6444
6445 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
6446
6447         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
6448
6449         * tools/gst-inspect.c: (print_signal_info):
6450           don't free random data twice. (fixes #144185)
6451
6452 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6453
6454         * gst/gstqueue.c:
6455         * gst/gstqueue.h:
6456           fix removing from the wrong queue on event timeout
6457           fix disposing of the event queue by casting correctly
6458           add mutexes for handling the event queue
6459           someone was sleeping when fixing queue last time around :)
6460
6461 2004-06-10  Johan Dahlin  <johan@gnome.org>
6462
6463         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
6464         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
6465
6466 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6467
6468         * docs/random/gdp:
6469         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
6470         * libs/gst/dataprotocol/dataprotocol.c:
6471         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6472         (gst_dp_buffer_from_header):
6473         * libs/gst/dataprotocol/dataprotocol.h:
6474         * libs/gst/dataprotocol/dp-private.h:
6475           rev version to 0.1, add buffer flags and copy them
6476
6477 2004-06-09  Johan Dahlin  <johan@gnome.org>
6478
6479         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
6480         the flags from the buffer we're copying.
6481
6482 2004-06-09  Wim Taymans  <wim@fluendo.com>
6483
6484         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
6485         * gst/elements/gstidentity.c: (gst_identity_init),
6486         (gst_identity_chain):
6487         Print more buffer info in fakesink.
6488         Make identity output similar to fakesink.
6489
6490 2004-06-07  Daniel Gazard  <dany42@free.fr>
6491
6492         reviewed by Benjamin Otte  <otte@gnome.org>
6493
6494         * configure.ac:
6495           fix cross compiling not working. (fixes #143741)
6496
6497 2004-06-07  Benjamin Otte  <otte@gnome.org>
6498
6499         * gst/gstelement.c: (gst_element_set_time_delay):
6500           add failure check
6501         * gst/gstinfo.h:
6502           put brackets around macro arguments of GST_TIME_ARGS, add note to
6503           move it to correct header in 0.9
6504
6505 2004-06-07  Benjamin Otte  <otte@gnome.org>
6506
6507         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
6508         (gst_file_index_load), (_file_index_id_save_entries),
6509         (gst_file_index_commit), (gst_file_index_add_association),
6510         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
6511         (gst_file_index_plugin_init):
6512           make debugging use a default category
6513
6514 2004-06-06  David Moore  <dcm@acm.org>
6515
6516         reviewed by Benjamin Otte  <otte@gnome.org>
6517
6518         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6519         (gst_fdsrc_change_state):
6520           reset offset counter when going READY => PAUSED. (fixes #142903)
6521
6522 2004-06-06  ed@catmur.co.uk
6523
6524         reviewed by Benjamin Otte  <otte@gnome.org>
6525
6526         * gst/registries/gstxmlregistry.c:
6527         (gst_xml_registry_rebuild_recurse):
6528           don't rely on g_dir_open to figure out if a file is a directory, use
6529           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
6530           directories. (fixes #142850)
6531
6532 2004-06-06  Benjamin Otte  <otte@gnome.org>
6533
6534         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
6535           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
6536         * libs/gst/bytestream/adapter.c:
6537         * libs/gst/bytestream/adapter.h:
6538           fix copyright in header and typo in debugging category name
6539
6540 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6541
6542         * configure.ac:
6543           bump nano to cvs
6544
6545 === release 0.8.3 ===
6546
6547 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6548
6549         * configure.ac:
6550           update libtool versioning
6551           do a new release
6552         * docs/gst/tmpl/gstelement.sgml:
6553         * docs/gst/tmpl/gsttypes.sgml:
6554         * gst/gstinfo.c: (_gst_debug_init):
6555           put back GST_CAT_DATAFLOW to fix API breakage
6556
6557 2004-06-04  David Schleef  <ds@schleef.org>
6558
6559         * autogen.sh: Add a temporary 'env' to test buildbot problems.
6560
6561 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6562
6563         * configure.ac:
6564           bump nano to cvs
6565
6566 === release 0.8.2 ===
6567
6568 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6569
6570         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
6571           check GST_DEBUG environment variable which is parsed the same way
6572           as --gst-debug=
6573
6574 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6575
6576         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
6577                             gstmd5sink.c gstshaper.c gsttee.c
6578                             gsttypefindelement.c
6579         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
6580
6581           - removing trailing commas at end of enums
6582             it is correct C99 code but C90 compilers would complain
6583             (AIX, Forte, ...)
6584             ('should' fix #143290, at least partially)
6585
6586 2004-05-27  Wim Taymans  <wim@fluendo.com>
6587
6588         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
6589         (chain_group_set_enabled), (create_group), (add_to_group),
6590         (merge_groups), (setup_group_scheduler), (group_elements),
6591         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
6592         Don't try to follow the pad connections with other groups
6593         when a loop based element is added to the scheduler because
6594         the bin will inform the scheduler about the pad links a little
6595         later.
6596
6597 2004-05-27  Wim Taymans  <wim@fluendo.com>
6598
6599         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6600         (remove_from_chain), (chain_group_set_enabled),
6601         (setup_group_scheduler), (group_element_set_enabled),
6602         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
6603         (gst_opt_scheduler_show):
6604         Elements without a group can do a state change as well, just wait
6605         with the setup of the scheduling function when it is added to a
6606         chain.
6607
6608 2004-05-27  Wim Taymans  <wim@fluendo.com>
6609
6610         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6611         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
6612         (merge_groups), (setup_group_scheduler),
6613         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
6614         (gst_opt_scheduler_show):
6615         Fixes to maintain internal consistency of the scheduler data
6616         structures. 
6617          - adding an enabled group to a chain should increment the
6618            number of enabled elements in that chain.
6619          - removing an enabled group from a chain could disable the
6620            chain.
6621          - removing a disabled group from a chain could enable the
6622            chain.
6623          - add g_assert when internal inconsistency is detected.
6624          - adding an element to a group could increase the number of
6625            links this group has with other groups.
6626          - merging two groups also merges the chains.
6627          - also show group links in the _show method.
6628            
6629
6630 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6631
6632         * gst/gstcaps.c: (gst_caps_structure_simplify):
6633           don't print error messages when there is no error
6634         * gst/gstvalue.c: (gst_value_compare_int_range):
6635           compare the second value, too
6636         * testsuite/caps/Makefile.am:
6637         * testsuite/caps/random.c: (assert_on_error), (main):
6638           add tests to make sure the two things above are checked for
6639
6640 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6641
6642         * configure.ac:
6643         * libs/gst/dataprotocol/Makefile.am:
6644         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
6645         * libs/gst/dataprotocol/dataprotocol.h:
6646           wrap header in GST_ENABLE_NEW.  make code use it
6647
6648 2004-05-23  Johan Dahlin  <johan@gnome.org>
6649
6650         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
6651         so verbose and print GstElement signal names all the time.
6652
6653 2004-05-22  David Schleef  <ds@schleef.org>
6654
6655         * gst/registries/gstxmlregistry.c:
6656         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
6657         (bug #142957)
6658
6659 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6660
6661         * configure.ac:
6662           scrub cflags for glib2 so gcc doesn't complain when glib is in
6663           /usr/local
6664
6665 2004-05-21  Johan Dahlin  <johan@gnome.org>
6666
6667         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
6668         __GNUC__, patch from Brian Cameron, fixes bug #142804
6669
6670 2004-05-20  David Schleef  <ds@schleef.org>
6671
6672         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
6673         comparison code.  (bug #142819)
6674
6675 2004-05-20  Wim Taymans  <wim@fluendo.com>
6676
6677         * gst/gstbuffer.c: (gst_buffer_default_copy):
6678         * gst/gstbuffer.h:
6679         Added Comment to a flag.
6680         copy relevant flags in _buffer_copy.
6681
6682 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6683
6684         reviewed by: Wim Taymans <wim at fluendo dot com>
6685
6686         * gst/gstbuffer.h:
6687           add GST_BUFFER_IN_CAPS buffer flag
6688         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6689         (gst_structure_parse_any_list), (gst_structure_parse_list),
6690         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
6691         * gst/gstvalue.c: (gst_value_serialize_any_list),
6692         (gst_value_transform_any_list_string),
6693         (gst_value_list_prepend_value), (gst_value_list_append_value),
6694         (gst_value_list_get_size), (gst_value_list_get_value),
6695         (gst_value_transform_list_string),
6696         (gst_value_transform_fixed_list_string),
6697         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
6698         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
6699         (_gst_value_initialize):
6700         * gst/gstvalue.h:
6701           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
6702           < , > as a format.
6703         * testsuite/caps/string-conversions.c: (main):
6704           add regression tests for < >
6705
6706 2004-05-20  Johan Dahlin  <johan@gnome.org>
6707
6708         * docs/gst/Makefile.am (all-local): Re-add
6709
6710 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6711
6712         * docs/gst/Makefile.am:
6713         * docs/gst/gstreamer-docs.sgml:
6714         * docs/libs/Makefile.am:
6715         * docs/libs/gstreamer-libs-docs.sgml:
6716           fix distcheck issues
6717
6718 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6719
6720         * libs/gst/dataprotocol/Makefile.am:
6721           add to autotest
6722
6723 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6724
6725         * libs/gst/dataprotocol/Makefile.am:
6726         * libs/gst/dataprotocol/dataprotocol.c:
6727         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6728         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
6729         * libs/gst/dataprotocol/dp-private.h:
6730           use GST macros to read/write fixed length ints
6731           add some more asserts
6732
6733 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6734
6735         * docs/libs/gstreamer-libs-docs.sgml:
6736         * docs/libs/gstreamer-libs-sections.txt:
6737           remove idct and putbits
6738         * configure.ac:
6739         * docs/libs/tmpl/gstdataprotocol.sgml:
6740         * libs/gst/Makefile.am:
6741         * libs/gst/dataprotocol/Makefile.am:
6742         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
6743         (buffer_test), (caps_test), (event_test), (main):
6744         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6745         (gst_dp_dump_byte_array), (gst_dp_init),
6746         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
6747         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6748         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
6749         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
6750         (gst_dp_validate_header), (gst_dp_validate_payload),
6751         (gst_dp_validate_packet), (plugin_init):
6752         * libs/gst/dataprotocol/dataprotocol.h:
6753         * libs/gst/dataprotocol/dp-private.h:
6754           add dataprotocol
6755
6756 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6757
6758         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6759           fix int variable deserialization and add a helper so we can actually
6760           debug this.
6761
6762 2004-05-18  David Schleef  <ds@schleef.org>
6763
6764         * testsuite/debug/commandline.c: (main): Call ./commandline, not
6765           argv[0].  Calling yourself is probably not the best way to
6766           construct a test like this, btw.
6767
6768 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6769
6770         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
6771           don't claim to be more intelligent than a scheduler when the
6772           scheduler claims the pipeline is stopped
6773         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
6774         (safe_cothread_destroy),
6775         (gst_entry_scheduler_remove_all_cothreads),
6776         (gst_entry_scheduler_reset), (_remove_cothread),
6777         (gst_entry_scheduler_state_transition):
6778           hold off cothread destruction if we're not in main cothread
6779         * configure.ac:
6780         * testsuite/Makefile.am:
6781           add new test dir
6782         * testsuite/schedulers/.cvsignore:
6783         * testsuite/schedulers/Makefile.am:
6784           add tests
6785         * testsuite/schedulers/relink.c: (cb_handoff), (main):
6786           check relinking and adding/removing elements from a running pipeline
6787         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
6788           check unlinking in a running pipeline
6789         * testsuite/schedulers/unref.c: (cb_handoff), (main):
6790           check unreffing a running pipeline
6791         * testsuite/schedulers/useless_iteration.c: (main):
6792           check iterating a pipeline that contains running threads works
6793
6794 2004-05-18  David Schleef  <ds@schleef.org>
6795
6796         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
6797           is false.
6798
6799 2004-05-18  Wim Taymans  <wim@fluendo.com>
6800
6801         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6802         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
6803         Fixed an error introduced with patch for 1.63. When setting
6804         a get based element as the entry point in a group, make sure
6805         to mark the group as GET based.
6806
6807 2004-05-18  Wim Taymans  <wim@fluendo.com>
6808
6809         * gst/schedulers/gstoptimalscheduler.c: (create_group),
6810         (setup_group_scheduler), (loop_group_schedule_function),
6811         (gst_opt_scheduler_pad_link):
6812         Added some more debug info and fixed a bug where the group
6813         type was set to LOOP but it was in fact unknown.
6814
6815 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6816
6817         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
6818           make resetting scheduler work twice in a row
6819
6820 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6821
6822         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
6823         (CREATE_USERIALIZATION), (_gst_value_initialize),
6824         (gst_value_compare_float), (gst_value_serialize_float),
6825         (gst_value_deserialize_float), (gst_value_compare_enum),
6826         (gst_value_serialize_enum), (gst_value_deserialize_enum):
6827           add serialization and comparison functions for long, int64, enum and
6828           float values
6829         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
6830           use best serialization function in type hierarchy instead of only a
6831           matching one. This is required for enums to work.
6832         * gst/parse/grammar.y:
6833           use gst_caps_deserialize
6834         * testsuite/parse/Makefile.am:
6835           parse1 now works
6836         * testsuite/parse/parse1.c: (main):
6837           remove aggregator check, aggregator is broken, this test works now
6838           but fails because of bug #138012
6839         * testsuite/parse/parse2.c: (main):
6840           s/xvideosink/xvimagesink - this test looks a lot like we should
6841           disable it
6842
6843 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6844
6845         * gst/gstelement.c: (gst_element_class_init):
6846           whoops, store the signal id correctly
6847         * gst/schedulers/gstbasicscheduler.c:
6848         (gst_basic_scheduler_chain_wrapper):
6849           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
6850           chain function isn't linked
6851
6852 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
6853         * configure.ac:
6854         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
6855         support until we decide where the flags should be used
6856         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
6857         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
6858         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6859         Output refused caps in the debug info
6860
6861 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6862
6863         * gst/elements/gstidentity.c: (gst_identity_chain):
6864           add duration debug
6865         * gst/gstinfo.c: (gst_debug_log_default):
6866           add timestamp
6867
6868 2004-05-13  Benjamin Otte  <otte@gnome.org>
6869
6870         * gst/gstpipeline.c: (gst_pipeline_dispose),
6871         (gst_pipeline_change_state):
6872           call gst_scheduler_reset on dispose (fixes #141416)
6873
6874 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6875
6876         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6877           compute mapsize correctly
6878         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6879           use correct datatypes when calling a varargs function
6880         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6881           push a DISCONT event as first thing
6882         * gst/gst_private.h:
6883         * gst/gstinfo.c: (_gst_debug_init):
6884           remove GST_DATAFLOW debugging category
6885         * gst/gstbin.c: (gst_bin_iterate):
6886           use GST_SCHEDULING category
6887         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
6888         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
6889         (gst_pad_call_get_function):
6890           add GST_DATAFLOW to easily track flow of buffers or events.
6891         * gst/gstqueue.c: (gst_queue_get_type),
6892         (gst_queue_handle_pending_events), (gst_queue_chain),
6893         (gst_queue_get), (gst_queue_handle_src_event):
6894           use own static debugging category GST_DATAFLOW for dataflow,
6895           use DEBUG category for showing which path events go, use LOG
6896           category for buffers.
6897
6898 2004-05-10  David Schleef  <ds@schleef.org>
6899
6900         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
6901
6902 2004-05-10  David Schleef  <ds@schleef.org>
6903
6904         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
6905         symbols, because otherwise we don't know what they are.  Thanks,
6906         the GStreamer team.
6907         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
6908
6909 2004-05-10  David Schleef  <ds@schleef.org>
6910
6911         (from Steve Lhomme)
6912         * win32/Makefile: When using make clean the MS Visual Studio makefiles
6913         are deleted.  Fix.
6914         * win32/Makefile.inspect:
6915         * win32/Makefile.launch:
6916         * win32/Makefile.register:
6917
6918 2004-05-10  David Schleef  <ds@schleef.org>
6919
6920         * gst/gstinfo.h: Add missing inline function.
6921         * gst/gsttrace.c: add include
6922         * gst/parse/grammar.y: remove unused code
6923         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
6924         more portable.
6925         * tools/gst-register.c: wrap unistd.h
6926         
6927         More additions/fixes from Steve for the MSVC build.
6928         * win32/GStreamer.vcproj:
6929         * win32/Makefile:
6930         * win32/Makefile.inspect:
6931         * win32/Makefile.launch:
6932         * win32/Makefile.register:
6933         * win32/README.txt:
6934         * win32/gst-inspect.vcproj:
6935         * win32/gst-launch.vcproj:
6936         * win32/gst-register.vcproj:
6937         * win32/gstbytestream.def:
6938         * win32/gstbytestream.vcproj:
6939         * win32/gstconfig.h:
6940         * win32/gstelements.def:
6941         * win32/gstelements.vcproj:
6942         * win32/gstenumtypes.c:
6943         * win32/gstenumtypes.h:
6944         * win32/gstoptimalscheduler.def:
6945         * win32/gstoptimalscheduler.vcproj:
6946         * win32/gstreamer.def:
6947         * win32/gstspider.def:
6948         * win32/gstspider.vcproj:
6949         * win32/gstversion.h:
6950         * win32/msvc71.sln:
6951
6952 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6953
6954         * gst/gstelement.c: (gst_element_class_init),
6955         (gst_element_no_more_pads):
6956         * gst/gstelement.h:
6957           add gst_element_no_more_pads and the "no-more-pads" signal
6958
6959 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6960
6961         * gst/gstregistry.c: (gst_registry_add_plugin):
6962           refuse to add plugins when a plugin with same name is already
6963           registered. Fixes a bunch of "How to remove plugins?" issues.
6964           May lead to other problems though, let's test
6965
6966 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6967
6968         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
6969         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
6970         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
6971
6972 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6973
6974         * tests/Makefile.am: fix am16 issue
6975
6976 2004-05-09  Benjamin Otte  <otte@gnome.org>
6977
6978         * libs/gst/bytestream/Makefile.am:
6979           we should indeed add .c files to makefiles or they won't be built
6980           (d'oh)
6981
6982 2004-05-08  Benjamin Otte  <otte@gnome.org>
6983
6984         * gst/gstpad.c: (gst_pad_proxy_fixate):
6985           really reduce the set of caps
6986
6987 2004-05-08  Benjamin Otte  <otte@gnome.org>
6988
6989         * tests/Makefile.am:
6990         * tests/spidey_bench.c: (handoff), (main):
6991           add benchmark to test how long spider needs to create a pipeline
6992
6993 2004-05-08  Benjamin Otte  <otte@gnome.org>
6994
6995         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
6996           mark links as unengaged when unnegotiating instead of deactivating.
6997           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
6998
6999 2004-05-08  Benjamin Otte  <otte@gnome.org>
7000
7001         * docs/manual/helloworld.xml:
7002           s/audiosink/osssink (patch by Patrick Guimond)
7003
7004 2004-05-07  David Schleef  <ds@schleef.org>
7005
7006         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
7007         since it contains important stuff.
7008
7009 2004-05-07  David Schleef  <ds@schleef.org>
7010
7011         * testsuite/caps/caps.c: (test3), (main): A check for appending
7012         ANY caps.
7013
7014 2004-05-07  David Schleef  <ds@schleef.org>
7015
7016         * common/m4/as-compiler-flag.m4: Properly quote arguments,
7017         which may contain commas.  Fixes detection of -Wa,-mregnames
7018
7019 2004-05-06  David Schleef  <ds@schleef.org>
7020
7021         Changes to handle compilers that don't have variadic macro
7022         support.  In particular, glib headers define some inlines
7023         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
7024         builds.
7025         * gst/Makefile.am:
7026         * gst/cothreads.c:
7027         * gst/elements/gstfdsink.c:
7028         * gst/elements/gstfdsrc.c:
7029         * gst/elements/gstfilesink.c:
7030         * gst/elements/gstfilesrc.c:
7031         * gst/gst_private.h:
7032         * gst/gstatomic.c:
7033         * gst/gstcaps.c: (gst_caps_append):
7034         * gst/gstcpu.c: (gst_cpuid_i386):
7035         * gst/gstelement.c:
7036         * gst/gsterror.c:
7037         * gst/gstfilter.c:
7038         * gst/gstinfo.h:
7039         * gst/gstprobe.c:
7040         * gst/gstquery.c:
7041         * gst/gstregistry.c:
7042         * gst/gststructure.c:
7043         * gst/gsttaginterface.c:
7044         * gst/gsttrace.c: (gst_trace_new):
7045         * gst/gsttrashstack.c:
7046         * gst/gsturi.c:
7047         * gst/gstvalue.c:
7048         * gst/parse/grammar.y:
7049         * gst/parse/parse.l:
7050         * tools/gst-inspect.c: (main):
7051         * tools/gst-launch.c: (main):
7052         * tools/gst-xmlinspect.c: (PUT_STRING):
7053
7054 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7055
7056         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
7057         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
7058         * gst/elements/gstfilesrc.h:
7059           send NEW_MEDIA events correctly
7060         * gst/elements/gsttypefindelement.c: (start_typefinding),
7061         (gst_type_find_element_handle_event):
7062           restart typefinding when we get a NEW_MEDIA event
7063         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
7064         (gst_bin_dispose):
7065           don't die when someone removes elements in callbacks
7066         * gst/gstelement.c: (gst_element_change_state):
7067           improve debugging
7068         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
7069           we need a NEW_MEDIA event to engage a link
7070         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
7071           don't g_print debugging stuff
7072         * testsuite/caps/simplify.c: (check_caps):
7073
7074 2004-05-04  Benjamin Otte  <otte@gnome.org>
7075
7076         * gst/parse/grammar.y:
7077           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
7078
7079 2004-05-04  Benjamin Otte  <otte@gnome.org>
7080
7081         * testsuite/caps/renegotiate.c: (main):
7082           improve output in error case
7083
7084 2004-05-04  Benjamin Otte  <otte@gnome.org>
7085
7086         * gst/parse/grammar.y:
7087           fix assert to not trigger when there's no error argument
7088         * gst/parse/parse.l:
7089           fix definition of caps to allow more than two structures
7090         * testsuite/caps/Makefile.am:
7091         * testsuite/caps/renegotiate.c: (main):
7092           it's sinesrc and works in that case
7093
7094 2004-05-04  Wim Taymans  <wim@fluendo.com>
7095
7096         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7097         (group_dec_link), (gst_opt_scheduler_pad_unlink):
7098         when removing an element from a group, we always need to
7099         decrement the link count that this group had with other 
7100         groups through the element.
7101         added an extra assert to catch inconsistencies when decrementing
7102         the link count.
7103
7104 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7105
7106         * configure.ac:
7107         * docs/gst/Makefile.am:
7108         * docs/gst/gstreamer-sections.txt:
7109         * docs/gst/tmpl/gstcompat.sgml:
7110         * examples/appreader/Makefile.am:
7111         * examples/cutter/Makefile.am:
7112         * examples/events/Makefile.am:
7113         * examples/helloworld/Makefile.am:
7114         * examples/helloworld2/Makefile.am:
7115         * examples/launch/Makefile.am:
7116         * examples/manual/Makefile.am:
7117         * examples/mixer/Makefile.am:
7118         * examples/pingpong/Makefile.am:
7119         * examples/plugins/Makefile.am:
7120         * examples/queue/Makefile.am:
7121         * examples/queue2/Makefile.am:
7122         * examples/queue3/Makefile.am:
7123         * examples/queue4/Makefile.am:
7124         * examples/retag/Makefile.am:
7125         * examples/thread/Makefile.am:
7126         * examples/typefind/Makefile.am:
7127         * examples/xml/Makefile.am:
7128         * gst/Makefile.am:
7129         * gst/autoplug/Makefile.am:
7130         * gst/elements/Makefile.am:
7131         * gst/gstcompat.h:
7132         * gst/indexers/Makefile.am:
7133         * gst/parse/Makefile.am:
7134         * gst/registries/Makefile.am:
7135         * gst/schedulers/Makefile.am:
7136         * libs/gst/bytestream/Makefile.am:
7137         * libs/gst/control/Makefile.am:
7138         * libs/gst/getbits/Makefile.am:
7139         * po/af.po:
7140         * po/az.po:
7141         * po/en_GB.po:
7142         * po/fr.po:
7143         * po/nl.po:
7144         * po/sr.po:
7145         * po/sv.po:
7146         * po/tr.po:
7147         * po/uk.po:
7148         * tests/Makefile.am:
7149         * tests/bufspeed/Makefile.am:
7150         * tests/instantiate/Makefile.am:
7151         * tests/memchunk/Makefile.am:
7152         * tests/muxing/Makefile.am:
7153         * tests/negotiation/Makefile.am:
7154         * tests/probes/Makefile.am:
7155         * tests/sched/Makefile.am:
7156         * tests/seeking/Makefile.am:
7157         * tests/threadstate/Makefile.am:
7158         * testsuite/caps/Makefile.am:
7159         * testsuite/cleanup/Makefile.am:
7160         * testsuite/dlopen/Makefile.am:
7161         * testsuite/dynparams/Makefile.am:
7162         * testsuite/plugin/Makefile.am:
7163         * testsuite/states/Makefile.am:
7164         * tools/Makefile.am:
7165           reorganize compile/link flags to be consistent
7166           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
7167
7168 2004-05-04  David Schleef  <ds@schleef.org>
7169
7170         The "once more, with feeling" check-in.
7171         * testsuite/caps/Makefile.am: dist caps_strings
7172         * testsuite/caps/renegotiate.c: (main): This test triggers a
7173           segfault in the core.  Marking as failing.
7174
7175 2004-05-03  David Schleef  <ds@schleef.org>
7176
7177         * testsuite/caps/deserialize.c: (main): Fix problems noticed
7178           by the build bots.
7179         * testsuite/caps/renegotiate.c: (main): Same.
7180
7181 2004-05-03  David Schleef  <ds@schleef.org>
7182
7183         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
7184
7185 2004-05-03  David Schleef  <ds@schleef.org>
7186
7187         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
7188           variable to find our source file.
7189
7190 2004-05-03  David Schleef  <ds@schleef.org>
7191
7192         * configure.ac:  Link plugins with libgstreamer and dependent
7193           libraries
7194         * testsuite/caps/Makefile.am:
7195         * testsuite/caps/caps_strings:
7196         * testsuite/caps/deserialize.c: (main): Add a little test to slog
7197           through a file of caps strings and test each one
7198
7199 2004-05-04  Benjamin Otte  <otte@gnome.org>
7200
7201         * libs/gst/bytestream/Makefile.am:
7202         * libs/gst/bytestream/adapter.c: 
7203         * libs/gst/bytestream/adapter.h:
7204           add GstAdapter, similar to bytestream, but doesn't require ugly event
7205           handling or uglier loopbased elements
7206
7207 2004-05-03  David Schleef  <ds@schleef.org>
7208
7209         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
7210         * testsuite/caps/erathostenes.c:
7211         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
7212
7213 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7214
7215         * docs/pwg/pwg.xml:
7216           remove hardcoded stylesheet path (duh)
7217         * docs/random/release:
7218         * docs/gst/gstreamer-sections.txt:
7219         * gst/Makefile.am:
7220         * gst/gst.h:
7221         * gst/gst_private.h:
7222         * gst/gstcaps.c:
7223         * gst/gstevent.c:
7224         * gst/gstformat.c:
7225         * gst/gstinfo.c:
7226         * gst/gstinfo.h:
7227         * gst/gstinterface.c:
7228         * gst/gstmemchunk.c:
7229         * gst/gstprobe.c:
7230         * gst/gstquery.c:
7231         * gst/gstregistry.c:
7232         * gst/gstregistrypool.c:
7233         * gst/gststructure.c:
7234         * gst/gsttaginterface.c:
7235         * gst/gstthread.c:
7236         * gst/gsttrace.c:
7237         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
7238         * gst/gsturi.c:
7239         * gst/gstvalue.c:
7240           deprecate gst_info; remove gstlog.h
7241    
7242
7243 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7244
7245         * Makefile.am:
7246         * po/en_GB.po:
7247         * po/sv.po:
7248         * po/uk.po:
7249           updated translations
7250
7251 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7252
7253         * gst/gstbin.c: (gst_bin_dispose):
7254           better debugging
7255
7256 2004-05-03  Johan Dahlin  <johan@gnome.org>
7257
7258         * gst/schedulers/gstoptimalscheduler.c
7259         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
7260         really is a GstElement. Avoids critical when running gst-launch -v
7261         and a oggdemux/decoding pipeline.
7262
7263 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7264
7265         * docs/gst/tmpl/gstpipeline.sgml :
7266         * docs/manual/elements-api.xml :
7267                 doc fix by Patrick Guimond (Protector) from devel ML
7268                 reviewed by ronald
7269
7270 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7271
7272         * docs/gst/Makefile.am :
7273         * docs/libs/Makefile.am :
7274                 apply a patch from Arwed v. Merkatz so that gtk-doc
7275                 generated docs install (same for .devhelp file)
7276                 (fixes part 1 of #138836)
7277
7278 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7279
7280         * docs/faq/dependencies.xml: typo
7281         * docs/faq/getting.xml :
7282             - fix download URL for new gstreamer site
7283             - hide sf.net download page as latest version aren't there
7284             - fix apt URLs
7285             - fill "get via CVS" paragraph (link to dev page on the site)
7286         * docs/faq/general.xml:
7287             hide status tables as they no more exists
7288             change case on plugins license file to reflect reality
7289         * docs/faq/troubleshooting.xml:
7290             remove the wiki question/answer as there is no more wiki
7291
7292 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7293
7294         * gst/gsterror.h:
7295           include the headers needed for declarations used in this header
7296
7297 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7298
7299         * docs/random/uraeus/gstreamer_and_midi.txt :
7300           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
7301           (fixes #132288)
7302
7303 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
7304
7305         reviewed by Benjamin Otte  <otte@gnome.org>
7306
7307         * gst/schedulers/gthread-cothreads.h:
7308           free allocated data for main cothread, too when destroying context
7309           (fixes #141417)
7310
7311 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7312
7313         * docs/manual/goals.xml : remove duplicated paragraph at end 
7314         of doc page (fixes #141448)
7315
7316 2004-04-29  David Schleef  <ds@schleef.org>
7317
7318         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7319         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
7320
7321 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7322
7323         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7324           fix property
7325         * gst/gstcaps.c:
7326           fix doc string
7327         * po/POTFILES.in:
7328           rename typefind source file
7329
7330 2004-04-28  David Schleef  <ds@schleef.org>
7331
7332         Several new files from Steve Lhomme's MSVC patch (bug #141317):
7333         * win32/GStreamer.vcproj:
7334         * win32/Makefile:
7335         * win32/config.h:
7336         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7337         (_trewinddir), (_ttelldir), (_tseekdir):
7338         * win32/dirent.h:
7339         * win32/gst-inspect.vcproj:
7340         * win32/gst-launch.vcproj:
7341         * win32/gst-register.vcproj:
7342         * win32/gstbytestream.vcproj:
7343         * win32/gstelements.vcproj:
7344         * win32/gstoptimalscheduler.vcproj:
7345         * win32/gstspider.vcproj:
7346         * win32/gtchar.h:
7347         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
7348         * win32/mman.h:
7349         * win32/mman.inl:
7350         * win32/msvc71.sln:
7351
7352 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7353
7354         * gst/gst.c: (init_post):
7355         * gst/gstinfo.c:
7356           remove useless _gst_progname stuff
7357         * tools/gst-inspect.c: (print_field), (print_caps):
7358           improve caps output
7359
7360 2004-04-28  David Schleef  <ds@schleef.org>
7361
7362         Disable parsing of a lot of files that aren't part of the
7363         exported API.  Move corresponding template files to old/,
7364         waiting for removal when they don't contain anything
7365         interesting.
7366         * docs/gst/Makefile.am:
7367         * docs/gst/gstreamer-sections.txt:
7368         * docs/gst/tmpl/cothreads.sgml:
7369         * docs/gst/tmpl/cothreads_compat.sgml:
7370         * docs/gst/tmpl/gettext.sgml:
7371         * docs/gst/tmpl/gobject2gtk.sgml:
7372         * docs/gst/tmpl/grammar.tab.sgml:
7373         * docs/gst/tmpl/gst-i18n-app.sgml:
7374         * docs/gst/tmpl/gst-i18n-lib.sgml:
7375         * docs/gst/tmpl/gst_private.sgml:
7376         * docs/gst/tmpl/gstaggregator.sgml:
7377         * docs/gst/tmpl/gstarch.sgml:
7378         * docs/gst/tmpl/gstatomic_impl.sgml:
7379         * docs/gst/tmpl/gstbufferstore.sgml:
7380         * docs/gst/tmpl/gstdata_private.sgml:
7381         * docs/gst/tmpl/gstdisksink.sgml:
7382         * docs/gst/tmpl/gstdisksrc.sgml:
7383         * docs/gst/tmpl/gstelementfactory.sgml:
7384         * docs/gst/tmpl/gstextratypes.sgml:
7385         * docs/gst/tmpl/gstfakesink.sgml:
7386         * docs/gst/tmpl/gstfakesrc.sgml:
7387         * docs/gst/tmpl/gstfdsink.sgml:
7388         * docs/gst/tmpl/gstfdsrc.sgml:
7389         * docs/gst/tmpl/gstfilesink.sgml:
7390         * docs/gst/tmpl/gstfilesrc.sgml:
7391         * docs/gst/tmpl/gsthttpsrc.sgml:
7392         * docs/gst/tmpl/gstidentity.sgml:
7393         * docs/gst/tmpl/gstindexfactory.sgml:
7394         * docs/gst/tmpl/gstmarshal.sgml:
7395         * docs/gst/tmpl/gstmd5sink.sgml:
7396         * docs/gst/tmpl/gstmultidisksrc.sgml:
7397         * docs/gst/tmpl/gstmultifilesrc.sgml:
7398         * docs/gst/tmpl/gstpadtemplate.sgml:
7399         * docs/gst/tmpl/gstpipefilter.sgml:
7400         * docs/gst/tmpl/gstschedulerfactory.sgml:
7401         * docs/gst/tmpl/gstsearchfuncs.sgml:
7402         * docs/gst/tmpl/gstshaper.sgml:
7403         * docs/gst/tmpl/gstspider.sgml:
7404         * docs/gst/tmpl/gstspideridentity.sgml:
7405         * docs/gst/tmpl/gststatistics.sgml:
7406         * docs/gst/tmpl/gsttee.sgml:
7407         * docs/gst/tmpl/gsttimecache.sgml:
7408         * docs/gst/tmpl/gsttypefind.sgml:
7409         * docs/gst/tmpl/gsttypefindfactory.sgml:
7410         * docs/gst/tmpl/gstxmlregistry.sgml:
7411         * docs/gst/tmpl/gthread-cothreads.sgml:
7412         * docs/gst/tmpl/old/cothreads.sgml:
7413         * docs/gst/tmpl/old/cothreads_compat.sgml:
7414         * docs/gst/tmpl/old/gettext.sgml:
7415         * docs/gst/tmpl/old/gobject2gtk.sgml:
7416         * docs/gst/tmpl/old/grammar.tab.sgml:
7417         * docs/gst/tmpl/old/gst-i18n-app.sgml:
7418         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7419         * docs/gst/tmpl/old/gst_private.sgml:
7420         * docs/gst/tmpl/old/gstaggregator.sgml:
7421         * docs/gst/tmpl/old/gstarch.sgml:
7422         * docs/gst/tmpl/old/gstatomic_impl.sgml:
7423         * docs/gst/tmpl/old/gstbufferstore.sgml:
7424         * docs/gst/tmpl/old/gstdata_private.sgml:
7425         * docs/gst/tmpl/old/gstdisksink.sgml:
7426         * docs/gst/tmpl/old/gstdisksrc.sgml:
7427         * docs/gst/tmpl/old/gstelementfactory.sgml:
7428         * docs/gst/tmpl/old/gstextratypes.sgml:
7429         * docs/gst/tmpl/old/gstfakesink.sgml:
7430         * docs/gst/tmpl/old/gstfakesrc.sgml:
7431         * docs/gst/tmpl/old/gstfdsink.sgml:
7432         * docs/gst/tmpl/old/gstfdsrc.sgml:
7433         * docs/gst/tmpl/old/gstfilesink.sgml:
7434         * docs/gst/tmpl/old/gstfilesrc.sgml:
7435         * docs/gst/tmpl/old/gsthttpsrc.sgml:
7436         * docs/gst/tmpl/old/gstidentity.sgml:
7437         * docs/gst/tmpl/old/gstindexfactory.sgml:
7438         * docs/gst/tmpl/old/gstmarshal.sgml:
7439         * docs/gst/tmpl/old/gstmd5sink.sgml:
7440         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7441         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7442         * docs/gst/tmpl/old/gstpadtemplate.sgml:
7443         * docs/gst/tmpl/old/gstpipefilter.sgml:
7444         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7445         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7446         * docs/gst/tmpl/old/gstshaper.sgml:
7447         * docs/gst/tmpl/old/gstspider.sgml:
7448         * docs/gst/tmpl/old/gstspideridentity.sgml:
7449         * docs/gst/tmpl/old/gststatistics.sgml:
7450         * docs/gst/tmpl/old/gsttee.sgml:
7451         * docs/gst/tmpl/old/gsttimecache.sgml:
7452         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7453         * docs/gst/tmpl/old/gstxmlregistry.sgml:
7454         * docs/gst/tmpl/old/gthread-cothreads.sgml:
7455         * docs/gst/tmpl/old/types.sgml:
7456         * docs/gst/tmpl/types.sgml:
7457
7458         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
7459         gtkdoc-scan doesn't like files with the same name in different
7460         directories.
7461         * gst/elements/Makefile.am:
7462         * gst/elements/gstelements.c:
7463         * gst/elements/gsttypefind.c: 
7464         * gst/elements/gsttypefind.h:
7465         * gst/elements/gsttypefindelement.c:
7466         * gst/elements/gsttypefindelement.h:
7467
7468 2004-04-28  David Schleef  <ds@schleef.org>
7469
7470         A bunch of portability fixes, derived from Steve Lhomme's MSVC
7471         patch (bug #141317):
7472         * gst/gst-i18n-lib.h: Allow disabling gettext.
7473         * gst/gstatomic_impl.h: disable warning when it's dumb.
7474         * gst/gstclock.c: fix include
7475         * gst/gstcompat.h: fix variadic macro
7476         * gst/gstinfo.c: fix include
7477         * gst/gstmacros.h: add defines for inlines on MSVC
7478         * gst/gstplugin.c: fix includes
7479         * gst/gstregistry.c: fix includes
7480         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
7481         * gst/gstsystemclock.c: fix include
7482         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
7483         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
7484         * gst/registries/gstxmlregistry.c:
7485         (gst_xml_registry_parse_element_factory): fix use of non-portable
7486         functions
7487         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
7488         * libs/gst/control/dparammanager.h: same
7489
7490 2004-04-28  David Schleef  <ds@schleef.org>
7491
7492         Move a bunch of unused files to old/ with names that are
7493         not case-insensitive-unique.  These files still contain some
7494         useful information that needs to be merged into gstbin.sgml,
7495         etc., so they shouldn't be deleted yet.
7496         * docs/gst/tmpl/GstBin.sgml:
7497         * docs/gst/tmpl/GstBuffer.sgml:
7498         * docs/gst/tmpl/GstCaps.sgml:
7499         * docs/gst/tmpl/GstClock.sgml:
7500         * docs/gst/tmpl/GstCompat.sgml:
7501         * docs/gst/tmpl/GstData.sgml:
7502         * docs/gst/tmpl/GstElement.sgml:
7503         * docs/gst/tmpl/GstEvent.sgml:
7504         * docs/gst/tmpl/GstIndex.sgml:
7505         * docs/gst/tmpl/GstStructure.sgml:
7506         * docs/gst/tmpl/GstTag.sgml:
7507         * docs/gst/tmpl/old/GstBin.sgml:
7508         * docs/gst/tmpl/old/GstBuffer.sgml:
7509         * docs/gst/tmpl/old/GstCaps.sgml:
7510         * docs/gst/tmpl/old/GstClock.sgml:
7511         * docs/gst/tmpl/old/GstCompat.sgml:
7512         * docs/gst/tmpl/old/GstData.sgml:
7513         * docs/gst/tmpl/old/GstElement.sgml:
7514         * docs/gst/tmpl/old/GstEvent.sgml:
7515         * docs/gst/tmpl/old/GstIndex.sgml:
7516         * docs/gst/tmpl/old/GstStructure.sgml:
7517         * docs/gst/tmpl/old/GstTag.sgml:
7518
7519 2004-04-28  David Schleef  <ds@schleef.org>
7520
7521         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7522         (gst_caps_append), (gst_caps_append_structure),
7523         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
7524         (gst_caps_set_simple), (gst_caps_set_simple_valist),
7525         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
7526         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
7527         (gst_caps_intersect), (gst_caps_normalize),
7528         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
7529         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
7530         * gst/gstcaps.h: use GST_IS_CAPS().
7531
7532 2004-04-26  David Schleef  <ds@schleef.org>
7533
7534         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
7535         assembly.  gcc doesn't handle it correctly. (bug #141083)
7536         * gst/gsttrashstack.h: same
7537
7538 2004-04-25  Benjamin Otte  <otte@gnome.org>
7539
7540         * gst/gstelement.c: (gst_element_change_state):
7541           fix assertion to do an int comparison
7542
7543 2004-04-25  Benjamin Otte  <otte@gnome.org>
7544
7545         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7546           better debugging output on error
7547
7548 2004-04-25  Benjamin Otte  <otte@gnome.org>
7549
7550         * gst/gstcaps.c: (gst_caps_subtract):
7551           fix memleak
7552
7553 2004-04-23  Benjamin Otte  <otte@gnome.org>
7554
7555         * gst/gstvalue.c: (gst_value_compare_buffer),
7556         (_gst_value_initialize):
7557           add comparison function for buffers
7558
7559 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7560
7561         * docs/pwg/pwg.xml:
7562           Just found out that this so-called "ima-wav" format is really
7563           just "dvi adpcm" (according to the MS WAV documentation). So
7564           renaming it. We didn't use it yet anyway.
7565
7566 2004-04-23  Benjamin Otte  <otte@gnome.org>
7567
7568         * gst/gstcaps.c: (gst_caps_is_always_compatible):
7569           call gst_caps_is_subset
7570
7571 2004-04-23  Benjamin Otte  <otte@gnome.org>
7572
7573         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
7574         (gst_caps_is_subset):
7575           add documentation
7576
7577 2004-04-23  Benjamin Otte  <otte@gnome.org>
7578           
7579         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
7580         (gst_caps_structure_subtract), (gst_caps_subtract),
7581         (gst_caps_structure_figure_out_union),
7582         (gst_caps_structure_simplify), (gst_caps_do_simplify):
7583           fix simplifying and subtracting not working correctly with optional
7584           properties
7585           solve assorted problems that make it now simplify ebven more
7586         * docs/gst/tmpl/gstcaps.sgml:
7587         * gst/gstcaps.h:
7588           make gst_caps_do_simplify return a bool to indicate if it simplified
7589         * testsuite/caps/simplify.c: (main):
7590           add more checks. The tests is quite a bit useless right now because
7591           the core is heavily simplifying itself.
7592         * testsuite/caps/caps.h:
7593           fix caps to contain all optional properties
7594
7595 2004-04-22  Benjamin Otte  <otte@gnome.org>
7596
7597         * docs/gst/tmpl/gstcaps.sgml:
7598         * docs/gst/tmpl/gstfilesrc.sgml:
7599         * docs/gst/tmpl/gststructure.sgml:
7600         * docs/gst/tmpl/gstvalue.sgml:
7601           update for recent API changes
7602         * gst/gstcaps.c: (gst_caps_do_simplify):
7603           fix to stop trying with a freed structure
7604         * gst/gstpad.c: (gst_pad_link_fixate):
7605           simplify caps
7606         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
7607           remove C++ comment
7608         * gst/gstpad.h:
7609           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
7610         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7611         (gst_structure_to_string):
7612           keep the correct type when using lists of ranges
7613         * gst/gstvalue.c: (gst_value_list_prepend_value),
7614         (gst_value_list_append_value):
7615           copy the value before adding to the list (d'oh)
7616         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
7617         (gst_value_subtract_int_range_int_range):
7618           handle overflows correctly
7619         * gst/gstvalue.c: (gst_value_subtract_from_list):
7620           fix memleak
7621         * testsuite/caps/caps.h:
7622           add a caps that caused segfaults
7623
7624 2004-04-22  Benjamin Otte  <otte@gnome.org>
7625
7626         * testsuite/refcounting/pad.c: (main):
7627           fix test
7628
7629 2004-04-22  Benjamin Otte  <otte@gnome.org>
7630
7631         * gst/gstcaps.c: (gst_caps_subtract):
7632           allow subtracting ANY and EMPTY from ANY caps
7633
7634 2004-04-22  Benjamin Otte  <otte@gnome.org>
7635
7636         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
7637         (gst_caps_union):
7638           only simplify in functions that create new caps. Simplifying in
7639           gst_caps_append breaks tests.
7640
7641 2004-04-22  Benjamin Otte  <otte@gnome.org>
7642
7643         * gst/gstcaps.c: (gst_caps_structure_simplify):
7644           unset GValue after use
7645         * gst/gstcaps.c: (gst_caps_append), 
7646         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
7647           use gst_caps_simplify (reduces registry size by 30%)
7648         * gst/gstpad.c: (gst_pad_template_new):
7649           don't allow NULL caps
7650
7651 2004-04-22  Benjamin Otte  <otte@gnome.org>
7652
7653         * docs/gst/gstreamer-sections.txt:
7654           add gst_caps_do_simplify
7655         * gst/gstcaps.c:
7656           add documentation for gst_caps_do_simplify
7657         * gst/gstvalue.h:
7658           fix typo in gst_value_register_subtract_func declaration for gst-doc
7659
7660 2004-04-22  Benjamin Otte  <otte@gnome.org>
7661
7662         * gst/gstcaps.c: (gst_caps_from_string_inplace):
7663           fix bug when converting from empty string.
7664         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
7665         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
7666           use gst_caps_new_empty to allocate a new caps. Only that function
7667           allocates memory for caps now.
7668         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
7669         (gst_caps_remove_structure):
7670           add ability to remove one structure (but not to header yet)
7671         * gst/gstcaps.c: (gst_caps_compare_structures),
7672         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
7673         (gst_caps_structure_simplify), (gst_caps_do_simplify),
7674         * gst/gstcaps.h:
7675           add gst_caps_do_simplify that tries to simplify a caps in place.
7676           Deprecate old gst_caps_simplify function.
7677         * testsuite/caps/caps.h:
7678           add caps.h containing a common set of caps to test against.
7679         * testsuite/caps/sets.c: (check_caps), (main):
7680           use it.
7681         * testsuite/caps/.cvsignore:
7682         * testsuite/caps/Makefile.am:
7683         * testsuite/caps/simplify.c: (check_caps), (main):
7684           add test to check correctness and efficency of caps simplification.
7685
7686 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
7687
7688         reviewed by Benjamin Otte  <otte@gnome.org>
7689
7690         * gst/gstparse.c: (_gst_parse_escape):
7691           Free the GString used in _gst_parse_escape()
7692
7693 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7694
7695         * gst/gstpad.c: (gst_pad_link_negotiate):
7696           refuse to link if the link is not possible
7697         * configure.ac:
7698         * testsuite/Makefile.am:
7699         * testsuite/negotiation/.cvsignore:
7700         * testsuite/negotiation/Makefile.am:
7701         * testsuite/negotiation/pad_link.c: (main):
7702           add test that checks the above behaviour
7703
7704 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7705
7706         * docs/gst/gstreamer-sections.txt:
7707           add newly added API
7708
7709 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7710
7711         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
7712         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
7713         (gst_filesrc_open_file), (gst_filesrc_close_file),
7714         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
7715         * gst/elements/gstfilesrc.h:
7716           add support for non-regular files (#140734)
7717
7718 2004-04-21  Benjamin Otte  <otte@gnome.org>
7719
7720         * gst/gstpad.c: (gst_pad_link_fixate):
7721           add sophisticated error checking code to see if fixation functions
7722           did their fixation right
7723
7724 2004-04-21  Benjamin Otte  <otte@gnome.org>
7725
7726         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
7727           check for ANY caps before appending/unioning
7728         * gst/gstcaps.c: (gst_caps_is_subset),
7729         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
7730         (gst_caps_structure_subtract), (gst_caps_subtract):
7731         * gst/gstcaps.h:
7732           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
7733           the API. deprecate gst_caps_is_equal_fixed
7734         * gst/gstpad.c: (gst_pad_try_set_caps):
7735         * gst/gstqueue.c: (gst_queue_link):
7736           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
7737         * gst/gststructure.c: (gst_structure_get_name_id):
7738         * gst/gststructure.h:
7739           add function gst_structure_get_name_id
7740         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
7741         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7742         (gst_value_subtract_int_range_int_range),
7743         (gst_value_subtract_double_double_range),
7744         (gst_value_subtract_double_range_double),
7745         (gst_value_subtract_double_range_double_range),
7746         (gst_value_subtract_from_list), (gst_value_subtract_list),
7747         (gst_value_can_intersect), (gst_value_subtract),
7748         (gst_value_can_subtract), (gst_value_register_subtract_func),
7749         (_gst_value_initialize):
7750         * gst/gstvalue.h:
7751           add support for subtracting values from each other. Note that
7752           subtracting means subtracting as in set theory. Required for caps
7753           stuff above.
7754         * testsuite/caps/.cvsignore:
7755         * testsuite/caps/Makefile.am:
7756         * testsuite/caps/erathostenes.c: (erathostenes), (main):
7757         * testsuite/caps/sets.c: (check_caps), (main):
7758         * testsuite/caps/subtract.c: (check_caps), (main):
7759           add tests for subtraction and equality code.
7760
7761 2004-04-20  David Schleef  <ds@schleef.org>
7762
7763         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
7764         * gst/indexers/Makefile.am:
7765         * gst/schedulers/Makefile.am:
7766         * libs/gst/bytestream/Makefile.am:
7767         * libs/gst/control/Makefile.am:
7768         * libs/gst/getbits/Makefile.am:
7769
7770 2004-04-20  David Schleef  <ds@schleef.org>
7771
7772         * common/as-libtool.mak: Fine-tune DLL building.
7773         * configure.ac: Link plugins against libgstreamer.  Define plugindir
7774         (like gst-plugins)
7775         * examples/plugins/Makefile.am: remove plugindir
7776         * gst/autoplug/Makefile.am: DLL building fixes
7777         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
7778         Windows.
7779         * gst/elements/gstelements.c: Conditionally disable pipefilter.
7780         * gst/indexers/Makefile.am: DLL building fixes
7781         * gst/schedulers/Makefile.am: DLL building fixes.
7782         * libs/gst/bytestream/Makefile.am: DLL building fixes.
7783         * libs/gst/control/Makefile.am: same
7784         * libs/gst/getbits/Makefile.am: same
7785         * testsuite/Makefile.am: New dlopen directory
7786         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
7787         when dlopened.
7788         * testsuite/dlopen/dlopen_gst.c: (main): same
7789         * testsuite/dlopen/loadgst.c: (do_test): same
7790
7791 2004-04-20  David Schleef  <ds@schleef.org>
7792
7793         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
7794         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
7795
7796 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7797
7798         * gst/gstelement.c: (gst_element_wait),
7799         (gst_element_set_time_delay), (gst_element_change_state):
7800           Use GST_TIME_*
7801
7802 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7803
7804         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
7805         (gst_spider_identity_plug):
7806           improve debugging messages
7807         * gst/gstbin.c: (gst_bin_remove_func):
7808           make sure the state_change function is only called with simple state
7809           transitions
7810
7811 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7812
7813         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
7814         (gst_fakesink_set_property), (gst_fakesink_chain):
7815         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
7816         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
7817         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
7818         * gst/elements/gstidentity.c: (gst_identity_chain),
7819         (gst_identity_set_property):
7820         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
7821         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
7822           add warnings to _set_property for unknown arguments
7823           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
7824
7825 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7826
7827         * Makefile.am:
7828         * docs/manuals.mak:
7829           add .po file download snippet
7830           fix a bug in the doc makefile
7831
7832 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7833
7834         * Makefile.am:
7835         * po/LINGUAS:
7836         * po/en_GB.po:
7837           Added en_GB translation (Gareth Owen)
7838
7839 2004-04-20  Johan Dahlin  <johan@gnome.org>
7840
7841         * gst/gstpad.c (_invent_event): Clean up
7842
7843 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7844
7845         * testsuite/caps/filtercaps.c: (main):
7846           fix test to test things correctly (caps are complicated)
7847
7848 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7849
7850         * testsuite/caps/Makefile.am:
7851         * testsuite/caps/filtercaps.c: (main):
7852           add test (that doesn't work right now, but should)
7853
7854 2004-04-19  David Schleef  <ds@schleef.org>
7855
7856         * configure.ac: Add test for allowing unaligned access.  Add define
7857         to put in gstconfig.h.
7858         * docs/gst/gstreamer-sections.txt: New symbols
7859         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
7860         * docs/gst/tmpl/gstfilesrc.sgml:
7861         * docs/gst/tmpl/gstparse.sgml:
7862         * docs/gst/tmpl/gsttypes.sgml:
7863         * docs/gst/tmpl/gstutils.sgml:
7864         * docs/gst/tmpl/gstvalue.sgml:
7865         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
7866         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
7867         on most !i386/!powerpc architectures.  From Daniel Gazard
7868         <daniel.gazard@free.fr>.  (bug #140156)
7869         * po/af.po: Check in changes made by gettext.
7870         * po/az.po:
7871         * po/fr.po:
7872         * po/nl.po:
7873         * po/sr.po:
7874         * po/sv.po:
7875
7876 2004-04-20  Benjamin Otte  <otte@gnome.org>
7877
7878         * gst/schedulers/entryscheduler.c: 
7879         (gst_entry_scheduler_yield):
7880           refuse to yield when decoupled elements insist on doing that.
7881           At least it's better than crashing
7882
7883 2004-04-19  David Schleef  <ds@schleef.org>
7884
7885         * docs/libs/Makefile.am: Change sinclude to include
7886         * docs/gst/Makefile.am: same
7887         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
7888
7889 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7890
7891         * po/LINGUAS:
7892         * po/uk.po:
7893           Added Ukrainian translation (Maxim V. Dziumanenko)
7894
7895 2004-04-19  Johan Dahlin  <johan@gnome.org>
7896
7897         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
7898         checking here, do it before calling the function.
7899         Clean up, use for loops instead of while loops while iterating
7900         over lists.
7901
7902         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
7903         in debug message.
7904         (gst_spider_create_and_plug): Improve debug message.
7905         General: Replace while loops which iterates over GLists with for
7906         loops. Which are much cleaner, improves readability, especially
7907         for gst_spider_identity_plug
7908
7909         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
7910         fixes bug 140477
7911
7912 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7913
7914         * po/LINGUAS:
7915         * po/tr.po:
7916           Added Turkish translation (Baris Cicek)
7917
7918 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7919
7920         * docs/faq/troubleshooting.xml:
7921           Mention gst-register in the FAQ (fixes 139045).
7922
7923 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7924
7925         * docs/gst/gstreamer-sections.txt:
7926
7927 2004-04-17  Benjamin Otte  <otte@gnome.org>
7928
7929         * gst/gstelement.c: (gst_element_dispose):
7930           simplify
7931         * gst/gstpad.c: (gst_pad_call_chain_function):
7932           don't create loads of events due to bad macro usage
7933
7934 2004-04-16  David Schleef  <ds@schleef.org>
7935
7936         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
7937         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
7938         * gst/gstvalue.c: (gst_value_serialize_buffer),
7939         (gst_value_deserialize_buffer), (gst_type_is_fixed),
7940         (_gst_value_initialize): Create a new function gst_type_is_fixed()
7941         to indicate types that are fixed wrt caps or not.  Switching to
7942         this function fixes (bug #140298).
7943         * gst/gstvalue.h:
7944
7945 2004-04-16  David Schleef  <ds@schleef.org>
7946
7947         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
7948         for GST_UNALIGNED_ACESS, since we essentially know which archs
7949         are ok.
7950
7951 2004-04-17  Benjamin Otte  <otte@gnome.org>
7952
7953         * docs/gst/Makefile.am:
7954           ignore gst/parse directory when building docs (fixes #140205)
7955
7956 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7957
7958         * testsuite/refcounting/mem.c: (vmsize):
7959           do error checking
7960
7961 2004-04-16  Johan Dahlin  <johan@gnome.org>
7962
7963         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
7964         and gst_pad_call_get_function.
7965
7966 2004-04-15  David Schleef  <ds@schleef.org>
7967
7968         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
7969         checks if we can access unaligned memory.
7970         * configure.ac: Use it.
7971
7972 2004-04-16  Benjamin Otte  <otte@gnome.org>
7973
7974         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
7975         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
7976         * gst/elements/gstfilesrc.h:
7977           s/seek_happened/need_discont/ and require discont before sending any
7978           data
7979
7980 2004-04-15  David Schleef  <ds@schleef.org>
7981
7982         * gst/gstvalue.c: (gst_value_serialize_buffer),
7983         (gst_value_deserialize_buffer), (_gst_value_initialize):
7984         Register these types as fundamental types. (bug #140015)
7985
7986 2004-04-16  Benjamin Otte  <otte@gnome.org>
7987
7988         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
7989         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
7990         (gst_pad_pull):
7991           implement enforcing discont events before buffers are passed. This
7992           allows state changes of only some elements and later correctly going
7993           on where they left off (or in short: you can now set audio sinks to
7994           NULL to release the device when the pipeline is paused)
7995         * gst/gstpad.c: (gst_pad_call_chain_function),
7996         (gst_pad_call_get_function):
7997         * gst/gstpad.h:
7998           add gst_pad_call_chain_function and gst_pad_call_get_function for
7999           scheduler interaction. They are required because of the changes
8000           above.
8001         * gst/schedulers/entryscheduler.c: (get_buffer),
8002         (gst_entry_scheduler_chain_wrapper),
8003         (gst_entry_scheduler_get_wrapper),
8004         (gst_entry_scheduler_state_transition),
8005         (gst_entry_scheduler_pad_link):
8006         * gst/schedulers/gstbasicscheduler.c:
8007         (gst_basic_scheduler_chain_wrapper),
8008         (gst_basic_scheduler_src_wrapper),
8009         (gst_basic_scheduler_chainhandler_proxy),
8010         (gst_basic_scheduler_gethandler_proxy),
8011         (gst_basic_scheduler_cothreaded_chain),
8012         (gst_basic_scheduler_chain_elements):
8013         * gst/schedulers/gstoptimalscheduler.c:
8014         (get_group_schedule_function), (pad_clear_queued),
8015         (gst_opt_scheduler_pad_link):
8016           use the new functions instead of calling get/chain-functions
8017           directly.
8018
8019 2004-04-15  David Schleef  <ds@schleef.org>
8020
8021         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
8022         * docs/gst/tmpl/gstinfo.sgml: same
8023         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
8024         gtk-doc put here.
8025         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
8026         * examples/queue/queue.c: (main):  We iterate pipelines, not
8027         bins.  (bug #139996)
8028
8029 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8030
8031         * docs/pwg/advanced-types.xml:
8032           Add MS RLE support. Also document Qt RLE although I have no sample
8033           files for that yet. And document an extra property for ADPCM.
8034
8035 2004-04-15  David Schleef  <ds@schleef.org>
8036
8037         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
8038         (_gst_plugin_fault_handler_setup):  Disable more stuff on
8039         Windows.
8040
8041 2004-04-15  David Schleef  <ds@schleef.org>
8042
8043         * gst/gstinfo.c: (_gst_debug_init): Change some internal
8044         symbol names to not conflict with new gstinfo.h symbols.
8045         * gst/gstinfo.h: Add inline functions for all those crazy
8046         compilers that don't know how to handle variadic macros (MSVC).
8047
8048 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8049
8050         * configure.ac: bump nano to 1
8051
8052 === release 0.8.1 ===
8053
8054 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8055
8056         * NEWS:
8057         * RELEASE:
8058         * configure.ac:
8059           releasing 0.8.1, "Snow Brigade"
8060
8061 2004-04-14  David Schleef  <ds@schleef.org>
8062
8063         * testsuite/Makefile.am: define tests_ignore
8064         * testsuite/Rules: Added new tests_ignore, which get compiled,
8065         but not run (generally because they're inconsistent or have
8066         heisenbugs).  Now we can ensure all the .c files compile in
8067         testsuite/.
8068         * testsuite/bins/Makefile.am: define tests_ignore
8069         * testsuite/bytestream/Makefile.am:
8070         * testsuite/caps/Makefile.am:
8071         * testsuite/clock/Makefile.am:
8072         * testsuite/debug/Makefile.am:
8073         * testsuite/debug/global.c: (gst_debug_log_one),
8074         (gst_debug_log_two): Fix compilation problem.
8075         * testsuite/dynparams/Makefile.am:
8076         * testsuite/elements/Makefile.am:
8077         * testsuite/ghostpads/Makefile.am:
8078         * testsuite/indexers/Makefile.am:
8079         * testsuite/parse/Makefile.am:
8080         * testsuite/plugin/Makefile.am:
8081         * testsuite/refcounting/Makefile.am:
8082         * testsuite/refcounting/element_pad.c: (main): Don't return leak
8083         results, because it's not calculated correctly.
8084         * testsuite/refcounting/pad.c: (main): same
8085         * testsuite/states/Makefile.am:
8086         * testsuite/tags/Makefile.am:
8087         * testsuite/threads/Makefile.am:
8088
8089 2004-04-14  David Schleef  <ds@schleef.org>
8090
8091         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
8092         generating bad code around the cpu detection asm code.
8093
8094 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8095
8096         * tools/gst-inspect.c: (print_element_info):
8097           print numeric version of rank as well, since we added some - 1
8098           rank values to elements
8099
8100 2004-04-13  David Schleef  <ds@schleef.org>
8101
8102         * configure.ac:  Disable various code when compiling for MinGW.
8103         * gst/elements/Makefile.am:
8104         * gst/elements/gstelements.c:
8105         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8106         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
8107         * gst/registries/gstxmlregistry.c: (make_dir):
8108
8109 2004-04-13  David Schleef  <ds@schleef.org>
8110
8111         * gst/Makefile.am:
8112         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
8113         assembly.
8114         * gst/gstcpuid_i386.s: remove
8115
8116 2004-04-13  David Schleef  <ds@schleef.org>
8117
8118         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
8119         seems to think it needs to be done.
8120         * docs/gst/tmpl/gstfakesink.sgml:
8121         * docs/gst/tmpl/gstfakesrc.sgml:
8122         * docs/gst/tmpl/gstfdsink.sgml:
8123         * docs/gst/tmpl/gstfdsrc.sgml:
8124         * docs/gst/tmpl/gstfilesink.sgml:
8125         * docs/gst/tmpl/gstfilesrc.sgml:
8126         * docs/gst/tmpl/gstidentity.sgml:
8127         * docs/gst/tmpl/gstmd5sink.sgml:
8128         * docs/gst/tmpl/gstmultifilesrc.sgml:
8129         * docs/gst/tmpl/gstpipefilter.sgml:
8130         * docs/gst/tmpl/gstshaper.sgml:
8131         * docs/gst/tmpl/gstspider.sgml:
8132         * docs/gst/tmpl/gstspideridentity.sgml:
8133         * docs/gst/tmpl/gststatistics.sgml:
8134         * docs/gst/tmpl/gsttee.sgml:
8135         * docs/gst/tmpl/gsttypefind.sgml:
8136         * docs/gst/tmpl/gstutils.sgml:
8137
8138 2004-04-13  David Schleef  <ds@schleef.org>
8139
8140         * configure.ac: Changes to remove POSIXisms (mmap in this case)
8141         and to build DLLs on Windows.
8142         * gst/Makefile.am:
8143         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8144         (gst_filesrc_open_file):
8145         * gst/schedulers/Makefile.am:
8146
8147 2004-04-13  David Schleef  <ds@schleef.org>
8148
8149         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
8150         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
8151         fixating lists.
8152
8153 2004-04-12  David Schleef  <ds@schleef.org>
8154
8155         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
8156         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
8157         to using it.
8158         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
8159         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
8160         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
8161         * gst/gststructure.c: (gst_structure_set_valist),
8162         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
8163         support for buffers.
8164         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
8165         intended to be const.
8166         * gst/gsttag.h: same
8167         * gst/gstvalue.c: (gst_value_serialize_buffer),
8168         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
8169         to (de)serialize buffers.
8170         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
8171         * testsuite/caps/string-conversions.c: (main):
8172         * testsuite/caps/value_serialize.c: add new test
8173
8174 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8175
8176         * docs/pwg/advanced-types.xml:
8177           Document MS video 1 (video/x-msvideocodec) mimetype/format.
8178
8179 2004-04-11  Benjamin Otte  <otte@gnome.org>
8180
8181         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
8182           rename categories to basic_*
8183         * gst/schedulers/gstbasicscheduler.c: 
8184         (gst_basic_scheduler_chain_wrapper),
8185         (gst_basic_scheduler_chainhandler_proxy),
8186         (gst_basic_scheduler_gethandler_proxy),
8187         (gst_basic_scheduler_eventhandler_proxy):
8188           debugging category fixes - put common stuff in log category
8189         * gst/schedulers/gstbasicscheduler.c: 
8190         (gst_basic_scheduler_chain_elements):
8191           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
8192           active and linking two active chains
8193
8194 2004-04-10  Benjamin Otte  <otte@gnome.org>
8195
8196         * docs/pwg/intro-preface.xml:
8197           fix dead links and remove reference to Wiki
8198
8199 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8200
8201         * gst/schedulers/gstbasicscheduler.c:
8202           make sure we can switch back to the main function if we're still in
8203           the main function (supposed to fix #139617)
8204         * gst/schedulers/gthread-cothreads.h:
8205           don't throw an error when switching to the same cothread
8206
8207 2004-04-09  Benjamin Otte  <otte@gnome.org>
8208
8209         * gst/gstbin.c: (gst_bin_get_type):
8210         * gst/gstclock.c: (gst_clock_get_type):
8211         * gst/gstindex.c: (gst_index_get_type):
8212         * gst/gstobject.c: (gst_object_get_type),
8213         (gst_signal_object_get_type):
8214         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
8215         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
8216         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
8217         * gst/gstqueue.c: (gst_queue_get_type):
8218         * gst/gstregistry.c: (gst_registry_get_type):
8219         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8220         * gst/gstthread.c: (gst_thread_get_type):
8221           don't use memchunks for these objects, use malloc instead
8222
8223 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8224
8225         * docs/gst/.cvsignore:
8226         * docs/gst/Makefile.am:
8227         * docs/gst/gstreamer-sections.txt:
8228         * docs/gst/tmpl/gstaggregator.sgml:
8229         * docs/gst/tmpl/gstbuffer.sgml:
8230         * docs/gst/tmpl/gstclock.sgml:
8231         * docs/gst/tmpl/gstelement.sgml:
8232         * docs/gst/tmpl/gstfakesink.sgml:
8233         * docs/gst/tmpl/gstfakesrc.sgml:
8234         * docs/gst/tmpl/gstfdsink.sgml:
8235         * docs/gst/tmpl/gstfdsrc.sgml:
8236         * docs/gst/tmpl/gstfilesink.sgml:
8237         * docs/gst/tmpl/gstfilesrc.sgml:
8238         * docs/gst/tmpl/gstidentity.sgml:
8239         * docs/gst/tmpl/gstindex.sgml:
8240         * docs/gst/tmpl/gstinfo.sgml:
8241         * docs/gst/tmpl/gstmd5sink.sgml:
8242         * docs/gst/tmpl/gstmultifilesrc.sgml:
8243         * docs/gst/tmpl/gstpad.sgml:
8244         * docs/gst/tmpl/gstpipefilter.sgml:
8245         * docs/gst/tmpl/gstpipeline.sgml:
8246         * docs/gst/tmpl/gstpluginfeature.sgml:
8247         * docs/gst/tmpl/gstqueue.sgml:
8248         * docs/gst/tmpl/gstregistry.sgml:
8249         * docs/gst/tmpl/gstscheduler.sgml:
8250         * docs/gst/tmpl/gstshaper.sgml:
8251         * docs/gst/tmpl/gstspider.sgml:
8252         * docs/gst/tmpl/gstspideridentity.sgml:
8253         * docs/gst/tmpl/gststatistics.sgml:
8254         * docs/gst/tmpl/gstsystemclock.sgml:
8255         * docs/gst/tmpl/gsttee.sgml:
8256         * docs/gst/tmpl/gstthread.sgml:
8257         * docs/gst/tmpl/gsttypefind.sgml:
8258         * docs/gst/tmpl/gstutils.sgml:
8259           further doc build fixes
8260
8261 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8262
8263         * docs/gst/Makefile.am:
8264           make docs exit on scanning problems
8265           fix nonsrcdir build issues
8266         * docs/gst/gstreamer-sections.txt:
8267           adding stuff from -unused
8268         * gst/gstqueue.h:
8269           create GstQueueSize
8270         * gst/schedulers/cothreads_compat.h:
8271           fix cothread warnings
8272
8273 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8274
8275         * docs/gst/gstreamer-sections.txt:
8276           remove defines deprecated by Benjamin
8277
8278 2004-04-07  Benjamin Otte  <otte@gnome.org>
8279
8280         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8281           when the buffer is complete, don't check if other buffers are needed
8282         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
8283           check that the offset is >0 so we don't try to read before the
8284           beginning of the file
8285         * gst/gstpad.c: (gst_pad_set_pad_template):
8286           sink the template, so we don't end up with 130k pad templates
8287
8288 2004-04-06  Benjamin Otte  <otte@gnome.org>
8289
8290         * gst/autoplug/gstspider.c: (gst_spider_link_add):
8291           don't ref the element, adding already reffed it. And we didn't unref
8292           it later anyway... (huge memleak when you used many spider elements)
8293         * gst/gstelement.c: (gst_element_base_class_finalize):
8294         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
8295         (gst_element_register):
8296         * gst/gsturi.c: (gst_element_make_from_uri):
8297           use gst_object_(un)ref instead of g_object(un)ref
8298
8299 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8300
8301         * gst/gstbuffer.h:
8302           remove macro that wouldn't work anymore because struct member has
8303           been removed.
8304         * gst/schedulers/entryscheduler.c: (schedule_forward):
8305           fix segfault for unconnected pads
8306         
8307 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8308
8309         reviewed by David Schleef <ds@schleef.org>
8310
8311         * gst/gstinfo.h:
8312           *_FORMAT modifiers should require putting a % in front of them for
8313           consistency reasons.
8314
8315 2004-04-05  Colin Walters  <walters@redhat.com>
8316
8317         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
8318         space.
8319
8320 2004-04-05  Benjamin Otte  <otte@gnome.org>
8321
8322         * configure.ac:
8323         * gst/Makefile.am:
8324         * gst/gst_private.h:
8325         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
8326           add support for detecting if GStreamer runs inside valgrind.
8327           requires valgrind (d'oh) and --enable-debug for correct cdetection.
8328           print a big message in valgrind that GStreamer has detected it's
8329           running inside and might now use different code.
8330         * gst/gstmemchunk.c: (populate), (free_area),
8331         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
8332         (gst_mem_chunk_free):
8333           flag memchunks for valgrind, so it can detect leaking of chunks.
8334           This allows detecting leaks of GstBuffer and GstEvent correctly
8335           inside valgrind.
8336
8337 2004-04-05  David Schleef  <ds@schleef.org>
8338
8339         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
8340           jensgr@gmx.net (Jens Granseuer)
8341
8342 2004-04-05  David Schleef  <ds@schleef.org>
8343
8344         * gst/gstbuffer.c: (_gst_buffer_sub_free),
8345         (gst_buffer_default_free), (gst_buffer_default_copy),
8346         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
8347         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
8348         structures in one place.
8349
8350 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8351
8352         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
8353           (GST_TIME_FORMAT, GST_TIME_ARGS)
8354
8355 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8356
8357         * testsuite/elements/Makefile.am:
8358           disable test until it stops breaking make distcheck
8359
8360 2004-04-05  Johan Dahlin  <johan@gnome.org>
8361
8362         * po/sv.po: Updated translation
8363
8364 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8365
8366         * gst/gstplugin.c: (gst_plugin_load_file):
8367           fix segfault for when original plugin was loaded statically
8368
8369 2004-04-05  Benjamin Otte  <otte@gnome.org>
8370
8371         * testsuite/debug/category.c: (main):
8372         * testsuite/debug/commandline.c: (main):
8373         * testsuite/debug/output.c: (main):
8374           fix tests to work again with debugging enabled
8375
8376 2004-04-05  Benjamin Otte  <otte@gnome.org>
8377
8378         * gst/schedulers/gstbasicscheduler.c:
8379         (gst_basic_scheduler_pad_link):
8380           fix to work with recent scheduling changes
8381
8382 2004-04-05  Benjamin Otte  <otte@gnome.org>
8383
8384         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
8385         prepareChangeLog doesn't work when cvs indents):
8386           don't throw an error when no element can be scheduled, there's too
8387           many weird reasons why it doesn't work. Return STOPPED instead.
8388           decoupled elemts' schedulability doesn't depend on bufpens.
8389
8390 2004-04-04  Benjamin Otte  <otte@gnome.org>
8391
8392         * gst/schedulers/gstbasicscheduler.c:
8393         (gst_basic_scheduler_pad_select):
8394           fix uninitialized variable warnings
8395
8396 2004-04-04  Benjamin Otte  <otte@gnome.org>
8397
8398         * gst/gstpad.c: (gst_pad_collect_valist):
8399           fix uninitialized variable warning
8400         * gst/schedulers/entryscheduler.c: (schedule_forward):
8401           fix shadowed variable
8402
8403 2004-04-04  Benjamin Otte  <otte@gnome.org>
8404
8405         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
8406         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
8407         (gst_pad_select):
8408         * gst/gstpad.h:
8409         * gst/gstscheduler.c: (gst_scheduler_pad_select),
8410         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
8411         * gst/gstscheduler.h:
8412           implement gst_pad_collect as replacement for gst_pad_select.
8413           deprecate gst_pad_select and gst_scheduler_(un)lock_element
8414           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
8415           new pad_select, lock and unlock calls.
8416         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
8417         * gst/cothreads.h:
8418         * gst/schedulers/cothreads_compat.h:
8419         * gst/schedulers/gthread-cothreads.h:
8420           remove unused cothread_lock and cothread_unlock calls
8421         * gst/schedulers/entryscheduler.c:
8422         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
8423         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
8424         (gst_entry_scheduler_pad_select):
8425           update to new API
8426         * gst/schedulers/gstbasicscheduler.c:
8427         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
8428         (gst_basic_scheduler_pad_select):
8429           remove useless lock and unlock calls, update pad_select to new API
8430           (untested)
8431         * gst/schedulers/gstoptimalscheduler.c:
8432         (gst_opt_scheduler_class_init):
8433           remove useless select, lock and unlock function calls
8434         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
8435           use gst_pad_collect instead of gst_pad_select
8436
8437 2004-04-04  Benjamin Otte  <otte@gnome.org>
8438
8439         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
8440         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
8441         (schedule_next_element), (print_entry):
8442           add can_schedule_pad to handle element states.
8443           add schedule_forward to select the correct entry to schedule next
8444
8445 2004-04-03  Benjamin Otte  <otte@gnome.org>
8446
8447         * gst/schedulers/entryscheduler.c: 
8448           remove unused variable, fix error inside Rb, fix compile warning in
8449           unreachable code
8450
8451 2004-04-03  Benjamin Otte  <otte@gnome.org>
8452
8453         * gst/schedulers/entryscheduler.c:
8454           completely revamp the inner workings, so it's a lot easier to
8455           understand and extend
8456
8457 2004-04-03  Andy Wingo  <wingo@pobox.com>
8458
8459         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
8460         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
8461         This allows better introspection of pipeline topology.
8462         (add_to_chain): Don't do trickery to put loop elements first;
8463         rather, queue a chain sort by marking the chain as dirty.
8464         (remove_from_chain): Mark the chain dirty.
8465         (sort_chain): New function. Sorts the group list so that terminal
8466         sinks are first. This means elements on the sink side will be
8467         preferentially sscheduled before elements on the src side of the
8468         pipeline.
8469         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
8470         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
8471         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
8472         (group_inc_link): Change argument and variable names to match the
8473         new link structure member names (src and sink).
8474         (group_dec_link): Add some description
8475
8476 2004-04-03  Benjamin Otte  <otte@gnome.org>
8477
8478         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
8479         * gst/gstinfo.h:
8480         * testsuite/debug/category.c: (main):
8481         * testsuite/debug/commandline.c: (main):
8482         * testsuite/debug/output.c: (main):
8483         * testsuite/debug/printf_extension.c: (main):
8484           fix to successfully build and test with --disable-gst-debug
8485           configure switch (fixes #138705)
8486
8487 2004-04-03  Benjamin Otte  <otte@gnome.org>
8488
8489         * docs/pwg/building-boiler.xml:
8490           add cvs login line and s/anonymous/anoncvs/
8491
8492 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
8493
8494         reviewed by Benjamin Otte  <otte@gnome.org>
8495
8496         * gst/gststructure.c: (gst_structure_free):
8497           memleak fix: free fields array (partial fix for #134839)
8498
8499 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8500
8501         * docs/random/ds/0.9-suggested-changes:
8502           Add a note to change handoff use in fakesrc to be usable in
8503           a more generic way (fakesrc should be renamed to appsrc or so).
8504         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8505           Change signal type to scope, so we can fill the buffer in the
8506           handoff handler (that's the whole use of this signal...).
8507
8508 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8509
8510         * docs/pwg/other-ntoone.xml:
8511           Document muxers and n-to-1 elements.
8512
8513 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
8514
8515         * gst/registries/gstxmlregistry.c
8516         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
8517         determine if a file is a G_MODULE. The old one discards paths
8518         containing "so" somewhere in the middle. My home directory is
8519         called "soto". Go figure...
8520
8521 2004-03-31  David Schleef  <ds@schleef.org>
8522
8523         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
8524         to eventually deprecate gst_buffer_merge().  (bug: #136408)
8525         * gst/gstbuffer.h:
8526
8527 2004-03-31  David Schleef  <ds@schleef.org>
8528
8529         * gst/gstvalue.c: (gst_value_union_int_int_range),
8530         (gst_value_union_int_range_int_range), (gst_value_can_union),
8531         (gst_value_union), (_gst_value_initialize):  Add some union
8532         implementations.  We didn't have any previously.
8533         * testsuite/caps/Makefile.am:
8534         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
8535         (gst_audioscale_getcaps), (test_caps), (main): A little test
8536         that is the same as the caps manipulation in audioscale.
8537
8538 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8539
8540         * docs/faq/general.xml:
8541           add entry about "does gst support format X?"
8542
8543 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8544
8545         * gst/gstthread.c:
8546           fix docs
8547         * gst/gstutils.h:
8548           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
8549
8550 2004-03-30  Benjamin Otte  <otte@gnome.org>
8551
8552         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8553           set the offset of the buffer to the requested offset
8554         * gst/elements/gsttypefind.c: (stop_typefinding):
8555           revert patch 1.18 (which I unfortunately don't know the reason for).
8556           This is needed to allow downstream elements to seek. Otherwise
8557           typefind might overwrite a previous seek by downstream elements.
8558           This lead to errors with id3tag and typefind on some mp3s.
8559         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8560         (gst_entry_scheduler_iterate):
8561           be more verbose when debugging
8562
8563 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8564
8565         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8566           make sure we don't get NULL strings
8567
8568 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8569
8570         * gst/gstcaps.c:
8571         * gst/gstelement.c:
8572         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8573         * gst/gstindex.c: (gst_index_resolver_get_type),
8574         (gst_index_get_type), (gst_index_factory_get_type):
8575         * gst/gstinfo.c:
8576         * gst/gstpad.c:
8577         * gst/gstplugin.c:
8578         * gst/gsturi.c: (gst_uri_handler_get_type):
8579         * gst/gstvalue.c:
8580           first batch of documentation fixes
8581
8582 2004-03-29  David Schleef  <ds@schleef.org>
8583
8584         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
8585         * docs/gst/gstreamer-docs.sgml:  More hacking
8586         * docs/gst/gstreamer-sections.txt:
8587         * docs/gst/tmpl/cothreads_compat.sgml:
8588         * docs/gst/tmpl/gstcaps.sgml:
8589         * docs/gst/tmpl/gstclock.sgml:
8590         * docs/gst/tmpl/gstelement.sgml:
8591         * docs/gst/tmpl/gstevent.sgml:
8592         * docs/gst/tmpl/gstpad.sgml:
8593         * docs/gst/tmpl/gstutils.sgml:
8594         * docs/gst/tmpl/gstxml.sgml:
8595         * docs/gst/tmpl/gthread-cothreads.sgml:
8596         * docs/random/ds/0.9-suggested-changes:
8597         * gst/elements/gstfakesink.h: doc fixes
8598         * gst/elements/gstfakesrc.h: doc fixes
8599         * gst/gstcaps.c: doc fixes
8600         * gst/gstcaps.h: doc fixes
8601         * gst/gstelement.c: doc fixes
8602         * gst/gstelement.h: doc fixes
8603         * gst/gstindex.c: doc fixes
8604         * gst/gstinfo.c: doc fixes
8605         * gst/gstpad.c: doc fixes
8606         * gst/gstpad.h: doc fixes
8607         * gst/gstplugin.c: doc fixes
8608         * gst/gsttypefind.h: doc fixes
8609         * gst/gsturi.c: doc fixes
8610         * gst/gstvalue.c: doc fixes
8611
8612 2004-03-29  Colin Walters  <walters@redhat.com>
8613
8614         * gst/registries/gstxmlregistry.c (get_time)
8615         (plugin_times_older_than_recurse):
8616         Use the result of stat to determine whether a path is a file,
8617         so we don't attempt to opendir() files.
8618
8619 2004-03-29  Benjamin Otte  <otte@gnome.org>
8620
8621         * gst/gstpad.c: (gst_pad_set_explicit_caps):
8622           print caps in debugging output when setting caps failed
8623         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8624         (schedule_next_element), (get_buffer), (run_chainhandler),
8625         (element_may_start), (gst_entry_scheduler_chain_handler),
8626         (gst_entry_scheduler_get_handler),
8627         (gst_entry_scheduler_state_transition),
8628         (gst_entry_scheduler_pad_link):
8629           make this scheduler a testcase for mandatory
8630           discont-before-first-buffer which is needed if we want to allow apps
8631           to release the sound device.
8632           add SCHED_ASSERT macro to print scheduler state before an assertion
8633           triggers.
8634
8635 2004-03-29  Benjamin Otte  <otte@gnome.org>
8636
8637         * COPYING:
8638           replace by LGPL (former COPYING.LIB). The core is completely
8639           licensed LGPL.
8640         * COPYING.LIB:
8641           remove
8642
8643 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8644
8645         * po/af.po:
8646         * po/sv.po:
8647           updated Afrikaans and Swedish
8648
8649 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8650
8651         * po/LINGUAS:
8652         * po/az.po:
8653           adding Azerbaijani (Mətin Əmirov)
8654
8655 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
8656
8657         * gst/gstelement.h: 
8658         * gst/gstelement.c (gst_element_set_time_delay): New function for
8659         setting element time taking into account a hardware buffering
8660         delay.
8661         (gst_element_set_time): Now just an invocation of
8662         gst_element_set_time_delay.
8663         * gst/gstclock.h: 
8664         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
8665         allowing to set event times in the future.
8666         (gst_clock_get_event_time): Now just an invocation of
8667         gst_clock_get_event_time_delay.
8668
8669 2004-03-28  Benjamin Otte  <otte@gnome.org>
8670
8671         * gst/gstbin.c: (gst_bin_set_element_sched),
8672         (gst_bin_unset_element_sched):
8673           don't add decoupled elements to schedulers - otherwise it's
8674           impossible to control if a link to a decoupled element was already
8675           removed from a scheduler or not.
8676         * gst/schedulers/cothreads_compat.h:
8677         * gst/schedulers/gthread-cothreads.h:
8678           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
8679           is no "unused" warning.
8680         * gst/schedulers/Makefile.am:
8681         * gst/schedulers/entryscheduler.c:
8682           add new scheduler, based on ideas from talking to David and Martin.
8683           It's supposed to be small and correct. Currently it's also slow (but
8684           it's not noticable)
8685         * examples/retag/retag.c: (main):
8686         * testsuite/bytestream/test1.c: (main):
8687           fix missing NULLs at end of variadic functions
8688         * testsuite/elements/.cvsignore:
8689           update
8690
8691 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
8692
8693         * gst/gstevent.h:
8694         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
8695
8696 2004-03-25  David Schleef  <ds@schleef.org>
8697
8698         * docs/gst/gstreamer-sections.txt:  More doc hacking.
8699         * docs/gst/tmpl/gstaggregator.sgml:
8700         * docs/gst/tmpl/gstautoplugfactory.sgml:
8701         * docs/gst/tmpl/gstbin.sgml:
8702         * docs/gst/tmpl/gstbuffer.sgml:
8703         * docs/gst/tmpl/gstbufferstore.sgml:
8704         * docs/gst/tmpl/gstfakesink.sgml:
8705         * docs/gst/tmpl/gstfakesrc.sgml:
8706         * docs/gst/tmpl/gstmd5sink.sgml:
8707         * docs/gst/tmpl/gstreamer-unused.sgml:
8708         * docs/gst/tmpl/gstsearchfuncs.sgml:
8709         * docs/gst/tmpl/gstshaper.sgml:
8710         * docs/gst/tmpl/gstspider.sgml:
8711         * docs/gst/tmpl/gsttee.sgml:
8712         * docs/gst/tmpl/gstutils.sgml:
8713         * docs/gst/tmpl/gstvalue.sgml:
8714         * docs/gst/tmpl/gstxml.sgml:
8715         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
8716         and we don't support it.
8717         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8718         (gst_use_threads), (gst_has_threads): same
8719         * gst/gstthreaddummy.c: same
8720         * gst/autoplug/gstspider.c: Make gst_spider_details static.
8721         * gst/autoplug/gstspider.h: same
8722         * gst/elements/gstaggregator.h: Remove bogus function from header
8723         * gst/elements/gstfakesink.h: same
8724         * gst/elements/gstfakesrc.h: same
8725         * gst/elements/gstmd5sink.h: same
8726         * gst/elements/gstshaper.h: same
8727         * gst/elements/gsttee.h: same
8728         * gst/gstbin.c: doc fixes
8729         * gst/gstbin.h: Remove unused definition.
8730         * gst/gstbuffer.c: doc fixes
8731         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
8732         * gst/gstfilter.c: doc fixes
8733         * gst/gsttag.c: doc fixes
8734         * gst/gstvalue.c: doc fixes
8735
8736 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8737
8738         * docs/pwg/advanced-types.xml:
8739           Document typefinding.
8740         * docs/pwg/other-oneton.xml:
8741           Document one-to-n elements, demuxers and parsers.
8742
8743 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
8744
8745         reviewed by: David Schleef  <ds@schleef.org>
8746
8747         * configure.ac: Check bison version (bug #127838)
8748
8749 2004-03-25  David Schleef  <ds@schleef.org>
8750
8751         * docs/gst/gstreamer-docs.sgml: More fine tuning.
8752         * docs/gst/gstreamer-sections.txt:
8753         * docs/gst/tmpl/gstautoplug.sgml:
8754         * docs/gst/tmpl/gststaticautoplug.sgml:
8755         * docs/gst/tmpl/gststaticautoplugrender.sgml:
8756         * docs/gst/tmpl/gstutils.sgml:
8757         * docs/gst/tmpl/gstxml.sgml:
8758
8759 2004-03-24  David Schleef  <ds@schleef.org>
8760
8761         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
8762         manual being such complete crap, that I decided to do major
8763         hacking of it.  This checkin replaces any fine tuning that
8764         may have been done previously, with the benefit of actually
8765         being complete for much of the API that was changed since
8766         0.6.  Further fine tuning will occur shortly.  (bug #134721)
8767         * docs/gst/gstreamer-sections.txt:
8768         * docs/gst/tmpl/GstBin.sgml:
8769         * docs/gst/tmpl/GstBuffer.sgml:
8770         * docs/gst/tmpl/GstCaps.sgml:
8771         * docs/gst/tmpl/GstClock.sgml:
8772         * docs/gst/tmpl/GstCompat.sgml:
8773         * docs/gst/tmpl/GstData.sgml:
8774         * docs/gst/tmpl/GstElement.sgml:
8775         * docs/gst/tmpl/GstEvent.sgml:
8776         * docs/gst/tmpl/GstIndex.sgml:
8777         * docs/gst/tmpl/GstStructure.sgml:
8778         * docs/gst/tmpl/GstTag.sgml:
8779         * docs/gst/tmpl/cothreads.sgml:
8780         * docs/gst/tmpl/cothreads_compat.sgml:
8781         * docs/gst/tmpl/gettext.sgml:
8782         * docs/gst/tmpl/grammar.tab.sgml:
8783         * docs/gst/tmpl/gst-i18n-app.sgml:
8784         * docs/gst/tmpl/gst-i18n-lib.sgml:
8785         * docs/gst/tmpl/gst.sgml:
8786         * docs/gst/tmpl/gst_private.sgml:
8787         * docs/gst/tmpl/gstaggregator.sgml:
8788         * docs/gst/tmpl/gstarch.sgml:
8789         * docs/gst/tmpl/gstatomic.sgml:
8790         * docs/gst/tmpl/gstatomic_impl.sgml:
8791         * docs/gst/tmpl/gstbin.sgml:
8792         * docs/gst/tmpl/gstbuffer.sgml:
8793         * docs/gst/tmpl/gstbufferstore.sgml:
8794         * docs/gst/tmpl/gstcaps.sgml:
8795         * docs/gst/tmpl/gstclock.sgml:
8796         * docs/gst/tmpl/gstcompat.sgml:
8797         * docs/gst/tmpl/gstconfig.sgml:
8798         * docs/gst/tmpl/gstcpu.sgml:
8799         * docs/gst/tmpl/gstdata.sgml:
8800         * docs/gst/tmpl/gstdata_private.sgml:
8801         * docs/gst/tmpl/gstelement.sgml:
8802         * docs/gst/tmpl/gstenumtypes.sgml:
8803         * docs/gst/tmpl/gsterror.sgml:
8804         * docs/gst/tmpl/gstevent.sgml:
8805         * docs/gst/tmpl/gstfakesink.sgml:
8806         * docs/gst/tmpl/gstfakesrc.sgml:
8807         * docs/gst/tmpl/gstfilesink.sgml:
8808         * docs/gst/tmpl/gstfilter.sgml:
8809         * docs/gst/tmpl/gstindex.sgml:
8810         * docs/gst/tmpl/gstinfo.sgml:
8811         * docs/gst/tmpl/gstinterface.sgml:
8812         * docs/gst/tmpl/gstlog.sgml:
8813         * docs/gst/tmpl/gstmacros.sgml:
8814         * docs/gst/tmpl/gstmarshal.sgml:
8815         * docs/gst/tmpl/gstmd5sink.sgml:
8816         * docs/gst/tmpl/gstmultifilesrc.sgml:
8817         * docs/gst/tmpl/gstobject.sgml:
8818         * docs/gst/tmpl/gstpad.sgml:
8819         * docs/gst/tmpl/gstparse.sgml:
8820         * docs/gst/tmpl/gstpipeline.sgml:
8821         * docs/gst/tmpl/gstplugin.sgml:
8822         * docs/gst/tmpl/gstpluginfeature.sgml:
8823         * docs/gst/tmpl/gstqueue.sgml:
8824         * docs/gst/tmpl/gstreamer-unused.sgml:
8825         * docs/gst/tmpl/gstregistry.sgml:
8826         * docs/gst/tmpl/gstregistrypool.sgml:
8827         * docs/gst/tmpl/gstscheduler.sgml:
8828         * docs/gst/tmpl/gstsearchfuncs.sgml:
8829         * docs/gst/tmpl/gstshaper.sgml:
8830         * docs/gst/tmpl/gstspider.sgml:
8831         * docs/gst/tmpl/gstspideridentity.sgml:
8832         * docs/gst/tmpl/gststructure.sgml:
8833         * docs/gst/tmpl/gstsystemclock.sgml:
8834         * docs/gst/tmpl/gsttag.sgml:
8835         * docs/gst/tmpl/gsttaginterface.sgml:
8836         * docs/gst/tmpl/gsttee.sgml:
8837         * docs/gst/tmpl/gstthread.sgml:
8838         * docs/gst/tmpl/gsttrace.sgml:
8839         * docs/gst/tmpl/gsttrashstack.sgml:
8840         * docs/gst/tmpl/gsttypefind.sgml:
8841         * docs/gst/tmpl/gsttypes.sgml:
8842         * docs/gst/tmpl/gsturi.sgml:
8843         * docs/gst/tmpl/gsturitype.sgml:
8844         * docs/gst/tmpl/gstutils.sgml:
8845         * docs/gst/tmpl/gstvalue.sgml:
8846         * docs/gst/tmpl/gstversion.sgml:
8847         * docs/gst/tmpl/gstxml.sgml:
8848         * docs/gst/tmpl/gstxmlregistry.sgml:
8849         * docs/gst/tmpl/gthread-cothreads.sgml:
8850         * docs/gst/tmpl/types.sgml:
8851
8852 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8853
8854         * docs/pwg/other-sink.xml:
8855         * docs/pwg/other-source.xml:
8856           Documentation on how to write source and sink elements. Other
8857           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
8858           manager, autoplugger) are all still pending.
8859
8860 2004-03-25  Benjamin Otte  <otte@gnome.org>
8861
8862         * testsuite/elements/Makefile.am:
8863         * testsuite/elements/gst-compprep-check:
8864           add check to make sure gst-compprep works
8865         * testsuite/elements/gst-inspect-check.in:
8866           improve initialization output
8867         * testsuite/Makefile.am:
8868         * testsuite/gst-inspect-check:
8869           remove old file
8870
8871 2004-03-24  David Schleef  <ds@schleef.org>
8872
8873         * testsuite/elements/Makefile.am:
8874         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
8875         to the testsuite.
8876
8877 2004-03-24  Benjamin Otte  <otte@gnome.org>
8878
8879         * libs/gst/control/dparam.c: (gst_dparam_attach),
8880         (gst_dparam_detach):
8881         * libs/gst/control/dparammanager.c: (gst_dpman_init):
8882           fix lvalue casts for real
8883
8884 2004-03-24  Benjamin Otte  <otte@gnome.org>
8885
8886         * gst/schedulers/gstbasicscheduler.c:
8887         (gst_basic_scheduler_src_wrapper):
8888         * gst/schedulers/gstoptimalscheduler.c:
8889         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8890         (pad_clear_queued), (gst_opt_scheduler_add_element),
8891         (gst_opt_scheduler_remove_element):
8892           fix GStreamer to not have issues with lvalue casts anymore (fixes
8893           #136841)
8894
8895 2004-03-24  Benjamin Otte  <otte@gnome.org>
8896
8897         * gst/gstelement.c:
8898           add documentation about a gobject quirk where the object hasn't the
8899           correct class pointer set on initialization
8900         * gst/schedulers/gstbasicscheduler.c:
8901         (gst_basic_scheduler_src_wrapper):
8902           make sure to not run into an infinite loop
8903
8904 2004-03-22  Benjamin Otte  <otte@gnome.org>
8905
8906         * gst/gstutils.c: (gst_util_dump_mem):
8907         * gst/gstutils.h:
8908           first argument of gst_util_dump_mem should be const
8909
8910 2004-03-22  Johan Dahlin  <johan@gnome.org>
8911
8912         * gst/gstvalue.h: Clean up a little bit.
8913
8914 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
8915
8916         reviewed by Benjamin Otte  <otte@gnome.org>
8917
8918         * gst/autoplug/gstspider.c: (gst_spider_dispose):
8919         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
8920         (gst_aggregator_class_init), (gst_aggregator_init):
8921         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8922         (gst_filesrc_dispose), (gst_filesrc_set_location):
8923         * gst/elements/gstidentity.c: (gst_identity_finalize),
8924         (gst_identity_class_init), (gst_identity_chain):
8925         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
8926         * gst/elements/gststatistics.c: (gst_statistics_finalize),
8927         (gst_statistics_class_init):
8928         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
8929         (gst_tee_get_property):
8930           clean up used memory in this elements correctly on teardown (closes
8931           #137279)
8932
8933 2004-03-20  Colin Walters  <walters@redhat.com>
8934
8935         * gst/registries/gstxmlregistry.c:
8936         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
8937         registry saving atomic.
8938
8939 2004-03-20  Colin Walters  <walters@redhat.com>
8940
8941         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
8942         Just use
8943         access() instead of actually creating and deleting files.
8944
8945 2004-03-18  David Schleef  <ds@schleef.org>
8946
8947         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
8948         (bug #137625)
8949
8950 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8951
8952         * po/sv.po: updated translation (Christian Rose)
8953
8954 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8955
8956         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
8957         (gst_filesink_get_query_types), (_do_init),
8958         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
8959           return FALSE silently
8960         * po/af.po: updated translation (Petri Jooste)
8961
8962 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8963
8964         * Makefile.am:
8965         * configure.ac:
8966           dist common properly
8967         * po/af.po:
8968         * po/fr.po:
8969         * po/nl.po:
8970         * po/sr.po:
8971         * po/sv.po:
8972           refreshing translations
8973
8974 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8975
8976         * po/LINGUAS:
8977         * po/sv.po:
8978         * po/af.po:
8979           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
8980
8981 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8982
8983         * Makefile.am: use common/release.mak
8984
8985 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8986
8987         * docs/faq/gst-uninstalled:
8988           adding gst-monkeysaudio to the list of possible plugin dirs
8989
8990 2004-03-16  David Schleef  <ds@schleef.org>
8991
8992         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
8993         (gst_init_check_with_popt_table):  Fix some gettext strings to
8994         make them easier to translate.  Required making the strings
8995         non-const.
8996
8997 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8998
8999         * configure.ac: bump nano to 1
9000
9001 === release 0.8.0 ===
9002
9003 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9004
9005         * configure.ac: release 0.8.0, "Executive Slacks"
9006
9007 2004-03-16  Johan Dahlin  <johan@gnome.org>
9008
9009         * gst/schedulers/gstoptimalscheduler.c
9010         (gst_opt_scheduler_pad_unlink): Remove double ;,
9011         spotted by Scott Wheeler
9012
9013 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9014
9015         * configure.ac: bump libtool version
9016
9017 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9018
9019         * gst/gstcaps.h:
9020         * gst/gststructure.h:
9021           add reserved padding
9022
9023 2004-03-15  Benjamin Otte  <otte@gnome.org>
9024
9025         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9026           set the first parameter for select call correctly.
9027           (fixes #137230)
9028
9029 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9030
9031         * *.c,*.h: don't mix tabs and spaces
9032
9033 2004-03-15  Johan Dahlin  <johan@gnome.org>
9034
9035         * gst/schedulers/gstoptimalscheduler.c
9036         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
9037         crash on MPEG playback. My boolean arithmetic is a bit rusty.
9038
9039         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
9040         
9041 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9042
9043         * testsuite/Rules:
9044           fix gst-register rules
9045
9046 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9047
9048         * testsuite/Rules:
9049           use versioned gst-register
9050
9051 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9052
9053         * docs/libs/gstreamer-libs-sections.txt:
9054           remove </SUBSECTION>
9055         * gst/gstplugin.c:
9056         * gst/gstregistry.c: (gst_registry_add_plugin):
9057         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
9058         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
9059           add debugging and fix some comment blocks
9060
9061 2004-03-15  Johan Dahlin  <johan@gnome.org>
9062
9063         * *.h: Revert indent changes.
9064         
9065 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9066
9067         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
9068           g_error_free the g_error
9069         * tools/gst-feedback-m.m:
9070           check for other versions of gstreamer
9071         * tools/gst-indent:
9072           use sh, not bash
9073
9074 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9075
9076         * tools/gst-register.c: do not spill paths when registries are not
9077           writable, until we fix the "user running gst-register" case.
9078
9079 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9080
9081         * *.c, *.h: commit of gst-indent run on core
9082
9083 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9084
9085         * tools/gst-indent:
9086         * tools/Makefile.am:
9087           add our indentation style as a script
9088
9089 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9090
9091         * po/sr.po:
9092         * po/LINGUAS:
9093           added Serbian translation
9094
9095 2004-03-13  Benjamin Otte  <otte@gnome.org>
9096
9097         * gst/gstelement.c:
9098           add documentation note about gst_element_found_tags_for_pad not
9099           being usable in getfunctions. (see #137042)
9100
9101 2004-03-12  David Schleef  <ds@schleef.org>
9102
9103         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
9104         change API right now!  Readd gst_caps_is_simple() macro.
9105         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
9106         uninitialized variable.  I'd bet this caused crashes.
9107         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
9108
9109 2004-03-12  Johan Dahlin  <johan@gnome.org>
9110
9111         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
9112         * gst/gstcaps.h: Clean up
9113
9114         * gst/gst.c (init_post): call gst_caps_get_type() instead of
9115         _gst_caps_initalize()
9116
9117         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
9118         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
9119
9120         * gst/gststructure.c (gst_structure_get_type): Ditto
9121
9122         * gst/gststructure.h: Ditto
9123         
9124 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9125
9126         * gst/gstqueue.c: (gst_queue_init):
9127           Reset default max. values in queues. Reason is simply to avoid
9128           braindead use. If you want wider values, use the properties. The
9129           default is supposed to always work. Wider values would make this
9130           beast a memory hog by default (250 full-PAL RGB32 video frames?
9131           That's 440 MB! No thank you).
9132
9133 2004-03-10  David Schleef  <ds@schleef.org>
9134
9135         * tools/gst-run.c: (main):  Fix crash when no relevant tools
9136         were found.  (bug #136793)
9137
9138 2004-03-10  Johan Dahlin  <johan@gnome.org>
9139
9140         * gst/schedulers/gstoptimalscheduler.c
9141         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
9142         links to elements within the same group, so we can finally remove
9143         that annoying warning. Refactor the code a little bit
9144         (group_dec_links_for_element): Split out
9145
9146 2004-03-09  David Schleef  <ds@schleef.org>
9147
9148         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
9149         (bug #134863)
9150
9151 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9152
9153         * configure.ac: first bug fix due to major/minor bump
9154
9155 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9156
9157         * configure.ac: bump nano to 1
9158
9159 === release 0.7.6 ===
9160
9161 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9162
9163         * NEWS:
9164         * RELEASE:
9165         * configure.ac:
9166           releasing 0.7.6, "Almost"
9167         * po/fr.po:
9168         * po/nl.po:
9169         * tools/Makefile.am:
9170         * tools/gst-feedback-m.m:
9171           unversioned source
9172
9173 2004-03-09  Johan Dahlin  <johan@gnome.org>
9174
9175         Reviewed by: Thomas Vander Stichele
9176
9177         * gst/gstelement.c (gst_element_class_init): register second
9178         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
9179         language bindings can (de)marshall correctly.
9180
9181         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
9182
9183         * gst/gsterror.c (gst_g_error_get_type): New function
9184
9185         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
9186         with VOID:OBJECT,OBJECT,STRING 
9187
9188 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
9189
9190         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
9191         Free a leaked g_timer on early returns.
9192
9193 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9194
9195         * docs/pwg/advanced-types.xml:
9196           Add cinepak description.
9197
9198 2004-03-07  David Schleef  <ds@schleef.org>
9199
9200         * docs/random/mimetypes:  Added cinepak description
9201
9202 2004-03-07  Andy Wingo  <wingo@pobox.com>
9203
9204         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
9205
9206         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
9207         there are no links to other groups when a group is destroyed.
9208         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
9209         removed from a group, make sure the link count to elements linked
9210         to other pads is appropriately decremented. This really fixes
9211         #135672.
9212
9213         The 1.60->1.61 patch has been reapplied in light of this fix.
9214
9215         * gst/gstelement.c (gst_element_dispose): Really protect against
9216         multiple invocations this time.
9217
9218 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9219
9220         * docs/gst/gstreamer-sections.txt:
9221         * docs/gst/tmpl/gsttag.sgml:
9222           remove some deprecated functions, document some existing ones
9223         * gst/gsttag.c: (gst_tag_get_flag):
9224         * gst/gsttag.h:
9225           add accessor function
9226
9227 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9228
9229         * docs/gst/gstreamer-sections.txt:
9230         * docs/gst/tmpl/gsttag.sgml:
9231         * docs/gst/tmpl/gstxml.sgml:
9232         * gst/gsttag.c: (gst_tag_get_flag):
9233         * gst/gsttag.h:
9234
9235 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
9236
9237         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
9238         leak
9239
9240 2004-03-05  David Schleef  <ds@schleef.org>
9241
9242         * REQUIREMENTS: Add bison and flex.
9243         * configure.ac: Fix comment about bison.
9244         * docs/random/ds/0.9-suggested-changes: yer ma
9245         * tools/gst-inspect.c: (print_element_info):  Fix warning.
9246
9247 2004-03-05  Benjamin Otte  <otte@gnome.org>
9248
9249         * gst/gstelement.c: (gst_element_error_full):
9250           revert recent recursive state changing commit - messing with other
9251           elements' states is evil and should be done by apps only.
9252
9253 2004-03-05  Benjamin Otte  <otte@gnome.org>
9254
9255         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
9256           check for empty intersection instead of NULL caps
9257         (gst_element_get_compatible_pad_filtered):
9258           remove old workaround that is only a bug nowadays
9259
9260 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9261
9262         * gst/gstelement.c: (gst_element_error_full):
9263           make elements try to recursively change state to PAUSED on all
9264           parents after an error to suppress ensuing warnings
9265         * gst/parse/grammar.y:
9266           make it check if it was able to sync the state, and throw an error
9267           if not, so stuff like
9268           oggdemux ! vorbisdec ! osssink gets caught
9269
9270 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9271
9272         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
9273           it contains lib64; use AS_AC_EXPAND to handle it properly
9274
9275 2004-03-05  David Schleef  <ds@schleef.org>
9276
9277         * gst/gstcpuid_i386.s:  Remove unused code
9278         * libs/gst/getbits/getbits.c: (gst_getbits_init),
9279         (gst_getbits_newbuf): Remove MMX code
9280         * libs/gst/getbits/getbits.h: Remove MMX code
9281
9282 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
9283
9284         * debian/.cvsignore:
9285         * debian/README.Debian:
9286         * debian/changelog:
9287         * debian/control:
9288         * debian/control.in:
9289         * debian/copyright:
9290         * debian/gstreamer-core-libs-dev.files:
9291         * debian/gstreamer-core-libs.files:
9292         * debian/gstreamer-core.files:
9293         * debian/gstreamer-core.postinst:
9294         * debian/gstreamer-core.postrm:
9295         * debian/gstreamer-doc.files:
9296         * debian/gstreamer-doc.links:
9297         * debian/gstreamer-doc.lintian:
9298         * debian/gstreamer-runtime.files:
9299         * debian/gstreamer-runtime.manpages:
9300         * debian/gstreamer-runtime.postinst:
9301         * debian/gstreamer-runtime.postrm:
9302         * debian/gstreamer-tools.files:
9303         * debian/gstreamer-tools.manpages:
9304         * debian/libgstreamer-dev.files:
9305         * debian/libgstreamer0.4.1.files:
9306         * debian/libgstreamerVERSION.files:
9307         * debian/rules:
9308         Debian package info not maintained here.
9309
9310 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9311
9312         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9313         * gst/gstbin.c: (gst_bin_class_init):
9314         * gst/gstelement.c: (gst_element_class_init):
9315         * gst/gstindex.c: (gst_index_class_init):
9316         * gst/gstobject.c: (gst_object_class_init),
9317         (gst_signal_object_class_init):
9318         * gst/gstpad.c: (gst_pad_template_class_init):
9319         * gst/gstregistry.c: (gst_registry_class_init):
9320         * gst/gsturi.c: (gst_uri_handler_base_init):
9321         * gst/gstxml.c: (gst_xml_class_init):
9322         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9323         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
9324           make all signal names use dashes instead of underscore
9325
9326 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9327
9328         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
9329
9330 2004-03-03  Benjamin Otte  <otte@gnome.org>
9331
9332         * gst/schedulers/gstoptimalscheduler.c:
9333           revert last commit by Andy Wingo. It causes segfaults on unreffing
9334           in Rhythmbox. (see bug #135672)
9335
9336 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9337
9338         * po/fr.po: fix typo
9339
9340 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9341
9342         * tools/gst-inspect.c: (main): 
9343         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
9344
9345 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9346
9347         * configure.ac:
9348           get GLIB_ONLY and POPT flags for the nonversioned binaries
9349         * tools/Makefile.am:
9350           use them
9351
9352 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9353
9354         * gst/gst.c: (init_post):
9355           change so that GST_REGISTRY now is where the global registry gets
9356           saved, since that is where plugins now get attached to first, and
9357           spilled over to the user registry.  Note that in the case of using
9358           GST_REGISTRY env var, we don't want to affect any real registries
9359           beyond the one given by this var, and thus we don't set a user
9360           registry to spill to.  So make sure GST_REGISTRY is writable.
9361
9362 2004-03-01  David Schleef  <ds@schleef.org>
9363
9364         * AUTHORS:  Added some names.  Add yourself if you're missing.
9365
9366 2004-03-01  David Schleef  <ds@schleef.org>
9367
9368         * MAINTAINERS: Add
9369
9370 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9371
9372         * configure.ac:
9373           remove whitespace
9374         * docs/gst/tmpl/gstbuffer.sgml:
9375         * docs/gst/tmpl/gstdata.sgml:
9376         * docs/gst/tmpl/gstreamer-unused.sgml:
9377         * docs/gst/tmpl/gstxml.sgml:
9378           doc update
9379         * docs/manuals.mak:
9380           add a FIXME
9381         * docs/pwg/intro-preface.xml:
9382         * docs/pwg/pwg.xml:
9383           remove GNOME
9384         * gst/gst.c: (init_post):
9385           try GST_PLUGIN_PATH paths for the _global_registry first
9386         * gst/gstelement.h:
9387           add the error message as well, otherwise (null) debug info doesn't
9388           make much sense
9389         * tools/gst-register.c: (main):
9390           spill paths to next registry if this registry is not writable
9391         * po/fr.po:
9392         * po/nl.po:
9393           translation updates
9394
9395 2004-03-01  Johan Dahlin  <johan@gnome.org>
9396
9397         * gst/gstbuffer.c (_gst_buffer_initialize): 
9398         * gst/gstdata.c (gst_data_get_type): 
9399         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
9400         instead of ref, since some applications that uses GBoxed
9401         routines depends on a function that actually returns a copy.
9402
9403 2004-02-27  Benjamin Otte  <otte@gnome.org>
9404
9405         * gst/gstbuffer.h:
9406           remove gst_buffer_free, use gst_data_unref
9407         * gst/gstdata.c: (gst_data_get_type):
9408           use refcounting in GstData GBoxed registration
9409         * gst/gstdata.h:
9410           remove gst_data_free, use gst_data_unref
9411
9412 2004-02-27  Johan Dahlin  <johan@gnome.org>
9413
9414         * gst/gstdata.c (gst_data_get_type): New function, register
9415         GstData as a GBoxed type.
9416
9417         * gst/gstdata.h (GST_TYPE_DATA): New macro
9418
9419 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9420
9421         * Makefile.am:
9422         * gstreamer.spec.in:
9423           put back RELEASE
9424         * gst/Makefile.am:
9425           clean up non-disting of built files
9426         * testsuite/debug/commandline.c:
9427           test fix for option rename
9428
9429 2004-02-26  David Schleef  <ds@schleef.org>
9430
9431         * configure.ac:  We don't really need glib-2.3.  Also remove
9432         some unneeded checks for library functions.
9433         * gst/Makefile.am:  Instead, we need to not dist files created
9434         by glib-genmarshal.
9435
9436 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9437
9438         * configure.ac:
9439           bump glib required version to 2.3.0 for g_value_takes_boxed
9440
9441  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
9442
9443         * common/m4/gst-docs.m4
9444         change flavour text from enable to disable as enable is our default
9445         closes bug Bug 135304
9446
9447 === release 0.7.5 ===
9448  
9449  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9450  
9451         * NEWS:
9452           instate NEWS file
9453         * Makefile.am:
9454         * gstreamer.spec.in:
9455         * RELEASE:
9456           put back release
9457         * configure.ac:
9458         * docs/random/release:
9459           more updates
9460
9461 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9462
9463         * gst/gsttag.c: (_gst_tag_initialize):
9464         * po/fr.po:
9465         * po/nl.po:
9466           remove hyphen from codec tags
9467
9468 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9469
9470         * gst/parse/Makefile.am:
9471           fix dependency so that a make from a clean build works the first
9472           time
9473
9474 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9475
9476         * docs/random/release:
9477           update release strategy
9478         * po/fr.po:
9479           auto-update po file
9480         * po/nl.po:
9481           update dutch translation
9482
9483 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9484
9485         * docs/manual/debugging.xml:
9486         fix manual for new debugging system
9487
9488 2004-02-25  Andy Wingo  <wingo@pobox.com>
9489
9490         * gst/gstpad.c (gst_pad_link_prepare): Re-add
9491         gst_pad_link_prepare. Please email the list with specific reasons
9492         for reverting.
9493
9494 2004-02-24  Andy Wingo  <wingo@pobox.com>
9495
9496         * gst/gstelement.c (gst_element_dispose): Protect against multiple
9497         invocations.
9498
9499         * gst/schedulers/gstoptimalscheduler.c:
9500         I added a mess of prototypes at the top of the file by way of
9501         documentation. Some of the operations on chains and groups were
9502         re-organized.
9503
9504         (create_group): Added a type argument so if the group is enabled,
9505         the setup_group_scheduler knows what to do.
9506         (group_elements): Added a type argument here, too, to be passed on
9507         to create_group.
9508         (group_element_set_enabled): If an unlinked PLAYING element is
9509         added to a bin, we have to create a new group to hold the element,
9510         and this function will be called before the group is added to the
9511         chain. Thus we have a valid case for group->chain==NULL. Instead
9512         of calling chain_group_set_enabled, just set the flag on the group
9513         (the chain's status will be set when the group is added to it).
9514         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
9515         Setup the group scheduler when the group is enabled, not
9516         specifically when an element goes PAUSED->PLAYING. This means
9517         PLAYING elements can be added, linked, and scheduled into a
9518         PLAYING pipeline, as was intended.
9519         (add_to_group): Don't ref the group twice. I don't know when this
9520         double-ref got in here. Removing it has the potential to cause
9521         segfaults if other parts of the scheduler are buggy. If you find
9522         that the scheduler is segfaulting for you, put in an extra ref
9523         here and see if that hacks over the underlying issue. Of course,
9524         then find out what code is unreffing a group it doesn't own...
9525         (create_group): Make the extra refcount floating, and remove it
9526         after adding the element. This means that...
9527         (unref_group): Destroy when the refcount reaches 0, not 1, like
9528         every other refcounted object in the known universe.
9529         (remove_from_group): When a group becomes empty, set it to be not
9530         active, and remove it from its chain. Don't unref it again,
9531         there's no floating reference any more.
9532         (destroy_group): We have to remove the group from the chain in
9533         remove_from_group (rather than here) to break refcounting cycles
9534         (the chain always has a ref on the group). So assert that
9535         group->chain==NULL.
9536         (ref_group_by_count): Removed, it was commented out anyway.
9537         (merge_chains): Use the remove_from_chain and add_to_chain
9538         primitives to do the reparenting, instead of rolling our own
9539         implementation.
9540         (add_to_chain): The first non-disabled group in the chain's group
9541         list will be the entry point for the chain. Because buffers can
9542         accumulate in loop elements' peer bufpens, we preferentially
9543         schedule loop groups before get groups to avoid unnecessary
9544         execution of get-based groups when the bufpens are already full.
9545         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
9546         (get_group_schedule_function): Ditto.
9547         (loop_group_schedule_function): Ditto.
9548         (gst_opt_scheduler_loop_wrapper): Ditto.
9549         (gst_opt_scheduler_iterate): Ditto.
9550
9551         I understand the opt scheduler now, yippee!
9552
9553         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
9554         (gst_pad_get_name, gst_pad_set_chain_function) 
9555         (gst_pad_set_get_function, gst_pad_set_event_function) 
9556         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
9557         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
9558         (gst_pad_set_query_function, gst_pad_get_query_types) 
9559         (gst_pad_get_query_types_default) 
9560         (gst_pad_set_internal_link_function) 
9561         (gst_pad_set_formats_function, gst_pad_set_link_function) 
9562         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
9563         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
9564         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
9565         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
9566         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
9567         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
9568         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
9569         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
9570         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
9571         (gst_pad_event_default_dispatch, gst_pad_event_default) 
9572         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
9573         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
9574         (gst_pad_get_formats_default, gst_pad_get_formats): Better
9575         argument checks, and some doc fixes.
9576
9577         (gst_pad_custom_new_from_template): Um, does anyone
9578         use these functions? Actually make a custom pad instead of a
9579         normal one.
9580         (gst_pad_try_set_caps): Transpose some checks.
9581         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
9582         the pad is in negotiation.
9583         (gst_pad_try_relink_filtered): Use pad_link_prepare.
9584         
9585         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
9586
9587         * gst/gstelement.h: 
9588         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
9589         on the list.
9590
9591 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9592
9593         * gst/gstbin.c: (gst_bin_add):
9594           add error for not being able to add elements
9595
9596 2004-02-22  Julien MOUTTE <julien@moutte.net>
9597
9598         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
9599         audio-codec and video-codec.
9600
9601 2004-02-22  Benjamin Otte  <otte@gnome.org>
9602
9603         reported by: Padraig O'Briain <padraig.obriain@sun.com>
9604
9605         * autogen.sh:
9606           replace test -e with test -x for mkinstalldirs to be more portable.
9607           (fixes #134816)
9608
9609 2004-02-22  Benjamin Otte  <otte@gnome.org>
9610
9611         * gst/gstpad.c:
9612           revert last patch from Andy, it makes gst_pad_can_link_filtered much
9613           too noisy
9614         * gst/gsttag.c: (_gst_tag_initialize):
9615         * gst/gsttag.h:
9616           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
9617         * libs/gst/control/dparam.c: (gst_dparam_attach):
9618         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
9619           check that types for attached dparams match
9620
9621 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9622
9623         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
9624         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9625         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
9626           fix errors
9627
9628 2004-02-20  Andy Wingo  <wingo@pobox.com>
9629
9630         * gst/gstbin.c:
9631         * gst/gstbuffer.c:
9632         * gst/gstplugin.c:
9633         * gst/registries/gstxmlregistry.c: 
9634         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
9635
9636         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
9637         (gst_element_add_pad): DEBUG->INFO, some fixes.
9638         (gst_element_get_compatible_pad_template): Just see if the
9639         templates' caps intersect, not if one is a strict subset of the
9640         other. This conforms more to what gst_pad_link_intersect() does.
9641         (gst_element_class_add_pad_template): Don't memcpy the pad
9642         template, just ref it.
9643         (gst_element_get_compatible_pad_filtered): Clean up debug messages
9644
9645         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
9646         (gst_pad_link_filtered): Debug changes.
9647         (gst_pad_link_prepare): New function, consolidated from
9648         can_link_filtered and link_filtered.
9649
9650         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
9651         look more like that of the functions in gstelement.c
9652
9653         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
9654         object, and return the empty string if object is NULL.
9655
9656         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
9657         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
9658         LOG, not DEBUG. We still get flex info on debug.
9659
9660         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
9661         debug string more verbose.
9662         (plugin_times_older_than): DEBUG->LOG.
9663
9664 2004-02-20  Julien MOUTTE <julien@moutte.net>
9665
9666         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
9667         will emit found_tag for each stream they demux with the codec.
9668
9669 2004-02-20  Benjamin Otte  <otte@gnome.org>
9670
9671         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
9672           copy navigation event correctly. Check freeing tag lists. 
9673         * gst/gstthread.c: (gst_thread_change_state):
9674           don't abort() on state changing mess - it might happen because of
9675           bugs.
9676         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
9677           use boxed functions
9678         * gst/gstvalue.h:
9679           fix GST_VALUE_HOLDS_CAPS
9680
9681 2004-02-19  David Schleef  <ds@schleef.org>
9682
9683         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
9684         and use it for GST_FUNCTION.  (bug #134750)
9685
9686 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9687
9688         * po/fr.po:
9689         * po/nl.po:
9690           updating translations
9691
9692 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9693
9694         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
9695
9696 2004-02-18  kost@imn.htwk-leipzig.de
9697
9698         reviewed by: David Schleef  <ds@schleef.org>
9699
9700         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
9701         for libgstcontrol.
9702
9703 2004-02-18  David Schleef  <ds@schleef.org>
9704
9705         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9706         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9707         (gst_dpsmooth_new): Additional fixes to get double dparams working.
9708         * tools/gst-inspect.c: (print_element_info): Support dumping of
9709         double dparam information.
9710
9711 2004-02-17  David Schleef  <ds@schleef.org>
9712
9713         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9714         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
9715         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
9716         Use GST_TYPE_CAPS in signal prototype.
9717         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
9718         Convert GST_TYPE_CAPS to boxed.
9719         * gst/gstelement.c: (gst_element_class_init):
9720         Use GST_TYPE_TAG_LIST in signal prototype.
9721         * gst/gstindex.c: (gst_index_class_init):
9722         * gst/gstindex.h:
9723         Add GST_TYPE_INDEX_ENTRY type.
9724         * gst/gstmarshal.list:
9725         Add necessary marshal types.
9726         * gst/gstpad.c: (gst_real_pad_class_init),
9727         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
9728         (gst_pad_recover_caps_error):
9729         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
9730         * gst/gststructure.c: (_gst_structure_initialize),
9731         (gst_structure_copy), (_gst_structure_copy_conditional):
9732         * gst/gststructure.h:
9733         Convert GST_TYPE_STRUCTURE to boxed.
9734         * gst/gsttag.c: (gst_tag_list_get_type):
9735         * gst/gsttag.h:
9736         Add GST_TYPE_TAG_LIST type.
9737
9738 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9739
9740         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
9741         to what we agreed with david.
9742         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
9743
9744 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9745
9746         * po/nl.po: update translation
9747
9748 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9749
9750         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9751           throw an error if spider is trying to play a mime type there is
9752           no decoder for
9753         * po/POTFILES.in:
9754           add gst/autoplug/gstspider.c for translation
9755
9756 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9757
9758         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
9759         silently when the pad is negotiating.
9760
9761 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9762
9763         * docs/faq/Makefile.am:
9764           add script to run gstreamer uninstalled 
9765         * docs/faq/faq.xml:
9766         * docs/faq/developing.xml:
9767         * docs/faq/gst-uninstalled:
9768           extract script to run gstreamer uninstalled
9769         * docs/manuals.mak:
9770           add EXTRA_SOURCES variable for Makefile.am's to set to
9771           use additional SOURCE files for the doc build
9772
9773 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9774
9775         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
9776
9777 2004-02-15  Julien MOUTTE  <julien@moutte.net>
9778
9779         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
9780         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
9781         an error was thrown by osssink. Basically a state change failure for
9782         an element in a different scheduling group was considered as
9783         successful, which means that caps nego was going on and weird stuff
9784         happened. Like I wrote in the comment there, if someone wants to
9785         revert that please drop me a mail explaining why because I really see
9786         no point in keeping that broken behaviour there.
9787         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
9788         be empty, we then return NULL which will trigger a nice error when 
9789         pulling from the pad.
9790
9791 2004-02-13  David Schleef  <ds@schleef.org>
9792
9793         * libs/gst/control/dparam.c: (gst_dparam_class_init),
9794         (gst_dparam_get_property), (gst_dparam_set_property),
9795         (gst_dparam_do_update_default):
9796         * libs/gst/control/dparam.h:
9797         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9798         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
9799         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
9800         (gst_dpsmooth_do_update_double):
9801         * libs/gst/control/dparam_smooth.h:
9802         * libs/gst/control/dparammanager.c:
9803         (gst_dpman_inline_direct_update):
9804         Add support for double dparams.
9805
9806 2004-02-13  David Schleef  <ds@schleef.org>
9807
9808         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
9809         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
9810
9811 2004-02-13  Mattias Wadman  <mattias@sudac.org>
9812
9813         reviewed by: David Schleef  <ds@schleef.org>
9814
9815         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9816         (gst_fdsrc_init), (gst_fdsrc_set_property),
9817         (gst_fdsrc_get_property), (gst_fdsrc_get):
9818         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
9819         and sends an EOS event if file descriptor reading times out.
9820
9821 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9822
9823         * configure.ac:
9824           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
9825
9826 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9827
9828         * configure.ac: pass required libxml version as argument
9829         (bug reported by Christophe Fergeau)
9830
9831 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9832   
9833         * docs/gst/gstreamer-docs.sgml:
9834         * docs/gst/tmpl/gstxml.sgml:
9835         * docs/libs/gstreamer-libs-docs.sgml:
9836           version API docs
9837
9838 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9839
9840         * gst/gstinfo.c:
9841         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
9842         (gst_registry_pool_feature_filter):
9843         * gst/gstthread.c: (gst_thread_class_init):
9844         * gst/gstvalue.c:
9845           add includes exposed by building without libxml
9846         * gst/indexers/Makefile.am:
9847           do not build fileindex when LOADSAVE disabled; we should have
9848           a better libxml check later since fileindex depends on xml, not
9849           LOADSAVE or REGISTRY
9850         * libs/gst/control/Makefile.am:
9851           link with m
9852         * tools/Makefile.am:
9853           fix wrong source code for gst-xmlinspect
9854
9855 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9856
9857         * configure.ac:
9858           fix gcov help output
9859           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
9860         * docs/random/release:
9861           some updated releasing notes
9862         * gstreamer.spec.in:
9863           more updates
9864
9865 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9866
9867         * docs/faq/faq.xml:
9868         * docs/manual/manual.xml:
9869         * docs/pwg/pwg.xml:
9870         * docs/pwg/titlepage.xml:
9871           put version in documentation
9872
9873 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9874
9875         * tools/Makefile.am: fix man page installation
9876
9877 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9878
9879         * configure.ac:
9880           don't check for libxml when load/save and registry disabled (#105844)
9881         * gstreamer.spec.in:
9882           sync with fedora candidate spec
9883
9884 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9885
9886         * po/fr.po:
9887         * po/nl.po:
9888           replace multidisksrc with multifilesrc
9889
9890 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9891
9892         * po/POTFILES.in:
9893           update to multidisksrc => multifilesrc file renaming (#134145)
9894
9895 2004-02-11  David Schleef  <ds@schleef.org>
9896
9897         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
9898         * docs/gst/tmpl/gstpadtemplate.sgml: same
9899         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
9900         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
9901         fixing dance.
9902         * gst/gstutils.c: Remove disabled code that uses GstProps.
9903         * gst/registries/gstxmlregistry.h: same
9904         * docs/random/ds/0.9-suggested-changes: random notes
9905
9906 2004-02-11  kost@imn.htwk-leipzig.de
9907
9908         reviewed by: David Schleef  <ds@schleef.org>
9909
9910         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
9911         initialisation of clock (bug #134128)
9912
9913 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9914
9915         * configure.ac:
9916         * gst/elements/Makefile.am:
9917         * gst/elements/gstelements.c:
9918         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
9919         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
9920         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
9921         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
9922         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
9923         * gst/elements/gstmultifilesrc.h:
9924           rename multidisksrc to multifilesrc (part of #122200)
9925
9926 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9927
9928         * docs/manuals.mak:
9929           fix automake complaints
9930         * gst-element-check.m4:
9931           fix unquotedness
9932
9933 2004-02-11  David Schleef  <ds@schleef.org>
9934
9935         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
9936         * gst/gstatomic_impl.h: Disable sparc implementation.
9937
9938 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9939
9940         * gst-element-check.m4:
9941           fix underquoted macros as reported by automake 1.8.x (#133800)
9942         * configure.ac:
9943           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
9944           by autopoint (fixes #132996)
9945
9946 2004-02-10  Andy Wingo  <wingo@pobox.com>
9947
9948         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
9949         way to do inheritance.
9950         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
9951         (gst_pad_get_query_types, gst_pad_get_query_types_default):
9952         Routine docs.
9953         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
9954         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
9955         doc.
9956         (gst_pad_unlink, gst_pad_is_linked): Docs.
9957         (gst_pad_renegotiate): A brief description of capsnego.
9958         (gst_pad_try_set_caps): Document.
9959         (gst_pad_try_set_caps_nonfixed): Document.
9960         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
9961         (gst_pad_set_parent): Deprecated (although not out of the API).
9962         (gst_pad_get_parent): Deprecated, although many plugins use this.
9963         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
9964         are private and will go away in 0.9.
9965         (gst_pad_perform_negotiate): Doc.
9966         (gst_pad_link_unnegotiate): I think this is meant to be static.
9967         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
9968         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
9969         (gst_pad_get_peer): Doc updates.
9970         (gst_pad_caps_change_notify): Doc.
9971         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
9972         (gst_ghost_pad_new): Doc fixes.
9973
9974         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
9975         (gst_object_check_uniqueness): 
9976
9977         * gst/gstelement.c (gst_element_add_pad) 
9978         (gst_element_add_ghost_pad, gst_element_remove_pad) 
9979         (gst_element_remove_ghost_pad, gst_element_get_pad) 
9980         (gst_element_get_static_pad, gst_element_get_pad_list) 
9981         (gst_element_class_get_pad_template_list) 
9982         (gst_element_class_get_pad_template): Work on the docs.
9983         (gst_element_get_pad_template_list): Uses the class method.
9984         (gst_element_get_compatible_pad_template): Docs, and consolidate
9985         some test conditions. 
9986         (gst_element_get_pad_from_template): New static function.
9987         (gst_element_request_compatible_pad): Docs, and work with
9988         non-request compatible templates. 
9989         (gst_element_get_compatible_pad_filtered): Docs and remove
9990         redundant checks.
9991         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
9992         (gst_element_link_filtered, gst_element_link_many) 
9993         (gst_element_link, gst_element_link_pads) 
9994         (gst_element_unlink_many): Docs.
9995
9996 2004-02-05  Andy Wingo  <wingo@pobox.com>
9997
9998         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
9999         s/pointer/boxed/.
10000
10001         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
10002
10003         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
10004         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
10005         with the type=GST_TYPE_CAPS. This allows language bindings to know
10006         what kind of data they're dealing with.
10007
10008         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
10009         to NULL when g_value_init is called. GstCaps, which rolls its own
10010         type implementation, now does the same instead of allocating empty
10011         caps.
10012         (_gst_caps_initialize, _gst_caps_collect_value,
10013         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
10014         table methods. This allows G_VALUE_COLLECT to work.
10015
10016 2004-02-05  Andy Wingo  <wingo@pobox.com>
10017
10018         * configure.ac:
10019         * testsuite/Makefile.am (SUBDIRS): 
10020         * testsuite/ghostpads/Makefile.am: 
10021         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
10022
10023         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
10024         These two routines are the only ones that set
10025         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
10026         pad template. They should be made static, depending on ABI needs.
10027         (gst_real_pad_dispose): Handle the case of ghost pads without a
10028         parent. Assert after dealing with ghost pads that the ghost pad
10029         list is empty.
10030         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
10031         set after creation.
10032         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
10033         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
10034         functions. set_property will call add_ghost_pad/remove_ghost_pad
10035         as appropriate.
10036         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
10037
10038         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
10039         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
10040         (gst_element_remove_pad): Handle ghost pads as well.
10041         (gst_element_remove_ghost_pad): Deprecated (could be removed,
10042         depending on API-stability needs).
10043
10044 2004-02-05  Andy Wingo  <wingo@pobox.com>
10045
10046         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
10047         of course they're const
10048
10049 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10050
10051         * tools/Makefile.am:
10052         * tools/gst-feedback:
10053         * tools/gst-feedback-0.7:
10054           make gst-feedback versioned too for consistency
10055
10056 2004-02-11  David Schleef  <ds@schleef.org>
10057
10058         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10059         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
10060
10061 2004-02-10  Julien MOUTTE <julien@moutte.net>
10062
10063         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
10064         the structure does not contain a valid tag list. Adding a safety check
10065         to remove a noisy warning in that case.
10066
10067 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10068
10069         * gst/gst.c: fix name to be in line with others
10070
10071 2004-02-09  Julien MOUTTE <julien@moutte.net>
10072
10073         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
10074         not shout that loud when len is 0. Just return 0 silently.
10075
10076 2004-02-09  Julien MOUTTE  <julien@moutte.net>
10077
10078         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
10079         because data_unref has one and I prefer the debug to be symetric.
10080         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
10081         were refed when added to the queue and unrefed only once when the queue
10082         was flushed. Now the flush handler unref the buffers two times : first
10083         unref for the ref added when pushing in the queue's tail and second
10084         unref to destroy the flushed buffer.
10085
10086 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10087
10088         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
10089
10090 2004-02-06  David Schleef  <ds@schleef.org>
10091
10092         * docs/random/ds/0.9-suggested-changes: Random ramblings
10093         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
10094         to int before printing.
10095         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
10096         * gst/parse/parse.l: same.  See bug #129600
10097
10098 2004-02-06  David Schleef  <ds@schleef.org>
10099
10100         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
10101         (gst_index_add_entry), (gst_index_add_associationv),
10102         (gst_index_add_association): Add gst_index_add_associationv()
10103         and clean up gst_index_add_association(). #127133
10104
10105 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10106
10107         * autogen.sh: check out common with right tag if CVS/Tag exists
10108
10109 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10110
10111         * testsuite/ghostpads/ghostpads.c: (main):
10112           fix testsuite from segfaulting
10113
10114 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10115
10116         * Makefile.am: add release target
10117         * configure.ac: bump nano to 1
10118         * docs/random/release:
10119
10120 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10121
10122         * gst/gstcaps.h:
10123         * gst/gstelement.c: (gst_element_base_class_init),
10124         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10125         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10126         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10127         (gst_real_pad_dispose):
10128         * gst/gststructure.c: (gst_structure_free),
10129         (gst_structure_from_string):
10130           put reverted patch back in
10131         * gst/gstelement.c: (gst_element_remove_pad):
10132           free explicit caps if they're set
10133         * gst/gstpad.c: (_gst_pad_default_fixate_func):
10134           copy the structure when fixating
10135
10136 2004-02-05  David Schleef  <ds@schleef.org>
10137
10138         * gst/gstmarshal.list:
10139         * gst/gstpad.c: (gst_real_pad_class_init),
10140         (_gst_real_pad_fixate_accumulator):
10141         Revert POINTER->BOXED change in signal marshaller.
10142
10143 === release 0.7.4 ===
10144                                                                                 
10145 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10146                                                                                 
10147         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
10148         * configure.ac: changed for release
10149
10150 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10151
10152         * gstreamer.spec.in:
10153           bump required version of gtk-doc
10154
10155 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10156
10157         * gst/gstcaps.h:
10158         * gst/gstelement.c: (gst_element_base_class_init),
10159         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10160         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10161         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10162         (gst_real_pad_dispose):
10163         * gst/gststructure.c: (gst_structure_free),
10164         (gst_structure_from_string):
10165           revert patch that breaks applications, reapply after release
10166           to get this fixed properly
10167
10168 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10169
10170         * gst/gsttag.c: (_gst_tag_initialize):
10171         * gst/gsttag.h:
10172           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
10173
10174 2004-02-04  David Schleef  <ds@schleef.org>
10175
10176         Fix some memleaks:
10177         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
10178         (gst_spider_plug_from_srcpad):
10179         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
10180
10181 2004-02-04  David Schleef  <ds@schleef.org>
10182
10183         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
10184         a GstRealPad before accessing its structure members.
10185
10186 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10187
10188         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
10189         (gst_clock_get_speed):
10190         * gst/gstclock.h:
10191           reset padding, remove unused fields
10192
10193 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10194
10195         * gst/autoplug/gstspideridentity.c:
10196         (gst_spider_identity_sink_loop_type_finding):
10197           use get_allowed_caps, not get_caps (fixes #132519)
10198         * gst/elements/gsttypefind.c: (stop_typefinding):
10199           use correct order when sending buffers and seeking
10200
10201 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10202
10203         * configure.ac:
10204         * gst/gstelement.h:
10205         * gst/gstpad.h:
10206         * gst/gstqueue.h:
10207           upgrade libtool CURRENT, reset padding
10208
10209 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10210
10211         * configure.ac:
10212           bump to prerelease
10213           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
10214
10215 2004-02-04  David Schleef  <ds@schleef.org>
10216
10217         * docs/random/ds/0.9-suggested-changes: random notes
10218         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
10219         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
10220         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
10221         expansion.
10222         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10223         (gst_filesink_get_query_types): same
10224         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
10225         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
10226         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
10227         to use new GST_PTR_FORMAT.
10228         * gst/gstelement.h: deprecate function factory macros
10229         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
10230         These are our last variadic macros that can't be replaced with
10231         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
10232         attempting to deprecate gst_element_clock_wait().
10233         * gst/gstevent.h: same
10234         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10235         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
10236         * gst/gstpad.h: deprecate function factory macros similar to above.
10237
10238 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10239
10240         * configure.ac:
10241         * tools/Makefile.am:
10242         * tools/gst-run.c: (popt_callback), (hash_print_key),
10243         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
10244         (get_candidates), (main):
10245           add new source file to generate non-versioned wrapper binaries
10246           for our tools.
10247
10248 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10249
10250         * gst/gstevent.c: (_gst_event_free):
10251           actually break; inside the switch statement
10252         * gst/parse/grammar.y:
10253           fix memleak where GValues weren't unset
10254
10255 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10256
10257         * gst/gststructure.c: (gst_structure_from_string):
10258           fix huge memleak
10259         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10260         (new_entry), (gst_type_find_element_chain):
10261         * gst/gstelement.c: (gst_element_base_class_init),
10262         (gst_element_class_set_details):
10263         * gst/gstpad.c: (gst_pad_can_link_filtered):
10264           fix smaller memleaks
10265         * gst/gstpad.c: (gst_real_pad_dispose):
10266           check that explicit caps are gone
10267         * gst/gststructure.c: (gst_structure_free):
10268           actually free the structure
10269         * gst/gstelement.c: (gst_element_clear_pad_caps):
10270           unset explicit caps
10271
10272 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10273
10274         * tools/Makefile.am:
10275           use AM_CFLAGS since all the CFLAGS are the same
10276           use AM_LDFAGS
10277
10278 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10279
10280         * docs/manual/gnome.xml:
10281           expand example a little
10282         * gst/gst.c: (gst_init_with_popt_table),
10283         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
10284           make sure popt option displays are done with right textdomain
10285           use GstPoptOption type
10286         * gst/gst.h:
10287           create GstPoptOption type
10288
10289 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10290
10291         * gst/gsterror.c: (_gst_stream_errors_init):
10292         * gst/gsterror.h:
10293           adding error type for no codec
10294         * po/POTFILES.in:
10295           add gst-inspect
10296         * po/nl.po:
10297           update dutch translation
10298         * tools/gst-inspect.c: (print_element_list), (main):
10299           do proper internationalization
10300         * tools/gst-launch.c: (idle_func):
10301           remove commented out function call
10302
10303 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10304
10305         * docs/README:
10306           add some error fixing notes
10307         * docs/gst/gstreamer-sections.txt:
10308           remove double entries
10309         * docs/gst/tmpl/gstbin.sgml:
10310         * docs/gst/tmpl/gstclock.sgml:
10311           remove override
10312         * docs/gst/tmpl/gstelement.sgml:
10313         * docs/gst/tmpl/gstindex.sgml:
10314         * docs/gst/tmpl/gstobject.sgml:
10315         * docs/gst/tmpl/gstpadtemplate.sgml:
10316         * docs/gst/tmpl/gstreamer-unused.sgml:
10317         * docs/gst/tmpl/gsttag.sgml:
10318         * docs/gst/tmpl/gstthread.sgml:
10319         * docs/gst/tmpl/gstxml.sgml:
10320         * gst/gsttag.h:
10321           sync header prototypes with c decls
10322         * gst/gsttaginterface.c:
10323           fix doc headers
10324
10325 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10326
10327         * gst/parse/Makefile.am:
10328         * gst/gstobject.h:
10329           get rid of gstmarshal.h dependency. It's not needed.
10330         * gst/gst.h:
10331         * gst/elements/gstfakesink.c:
10332         * gst/elements/gstfakesrc.c:
10333         * gst/elements/gstidentity.c:
10334         * gst/gstbin.c:
10335         * gst/gstelement.c:
10336         * gst/gstindex.c:
10337         * gst/gstobject.c:
10338         * gst/gstpad.c:
10339         * gst/gstthread.c:
10340         * gst/gstxml.c:
10341         * libs/gst/control/dparam.c:
10342         * libs/gst/control/dparammanager.c:
10343           include gstmarshal.h.
10344         Fixes #132045
10345
10346 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10347
10348         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10349         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
10350         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
10351         * gst/elements/gstfilesrc.h:
10352           don't ref the filesrc when creating mmaped buffers. Don't keep a
10353           list of not-yet-destroyed buffers.
10354         * gst/gstbuffer.h:
10355           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
10356
10357 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10358
10359         * gst/gst.c: (init_pre):
10360           remove textdomain
10361
10362 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10363
10364         * docs/pwg/advanced-events.xml:
10365         * docs/pwg/advanced-scheduling.xml:
10366         * docs/pwg/intro-basics.xml:
10367         * docs/pwg/other-manager.xml:
10368         * docs/pwg/other-nton.xml:
10369         * docs/pwg/other-ntoone.xml:
10370         * docs/pwg/other-oneton.xml:
10371         * docs/pwg/pwg.xml:
10372           All sort of documentation... Forgot what. Point is that I want this
10373           in before I leave. The 'other-*' will be the last section and will
10374           explain issues specific to these type of elements.
10375
10376 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10377
10378         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10379         (gst_filesrc_get_read):
10380           set all the values on buffers that we can
10381
10382 2004-02-02  David Schleef  <ds@schleef.org>
10383
10384         Change usage of isblah() to g_ascii_isblah() to be more locale
10385         independent.  (#133076)
10386         * gst/gsturi.c: (gst_uri_protocol_check_internal):
10387         * gst/gstutils.c:
10388         * gst/parse/parse.l:
10389
10390 2004-02-02  Jon Trowbridge  <trow@gnu.org>
10391
10392         reviewed by: David Schleef  <ds@schleef.org>
10393
10394         Fix memory leaks:
10395         * gst/gstcaps.c: (gst_caps_to_string):
10396         * gst/registries/gstxmlregistry.c:
10397         (gst_xml_registry_add_path_list_func),
10398         (gst_xml_registry_parse_padtemplate):
10399
10400 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10401
10402         * gst/gstelement.c: (gst_element_default_error):
10403           suffix error messages with period
10404
10405 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10406
10407         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10408         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10409         * gst/gsterror.c: (gst_error_get_message):
10410           Suffix with dots
10411         * po/fr.po:
10412         * po/nl.po:
10413           Update translation files
10414
10415 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10416
10417         * gst/autoplug/gstspideridentity.c:
10418         (gst_spider_identity_sink_loop_type_finding):
10419         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10420         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10421         (gst_filesink_close_file), (gst_filesink_handle_event),
10422         (gst_filesink_chain):
10423         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10424         (gst_filesrc_get_read), (gst_filesrc_open_file):
10425         * gst/elements/gstidentity.c: (gst_identity_chain):
10426         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10427         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10428         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10429         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10430         * gst/gsterror.c: (_gst_core_errors_init),
10431         (_gst_library_errors_init), (_gst_resource_errors_init),
10432         (_gst_stream_errors_init), (gst_error_get_message):
10433         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10434         (gst_pad_recover_caps_error), (gst_pad_pull):
10435         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10436         * gst/schedulers/gstbasicscheduler.c:
10437         (gst_basic_scheduler_chainhandler_proxy),
10438         (gst_basic_scheduler_gethandler_proxy),
10439         (gst_basic_scheduler_cothreaded_chain):
10440           Suffix error messages with period.
10441           Use (NULL) instead of NULL
10442
10443 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10444
10445         * docs/gst/tmpl/gstelement.sgml:
10446         * docs/gst/tmpl/gstxml.sgml:
10447         * gst/gstelement.c: (gst_element_error_full):
10448           add element path to error
10449
10450 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10451
10452         * docs/random/mimetypes:
10453           update raw int/float info
10454         * gst/gsttag.c: (_gst_tag_initialize):
10455         * gst/gsttag.h:
10456           add GST_TAG_ENCODER
10457
10458 2004-01-30  David Schleef  <ds@schleef.org>
10459
10460         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
10461           missing (#132991)
10462
10463 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
10464
10465         reviewed by Benjamin Otte 
10466           parts of the patch submitted in bug #113913
10467
10468         * configure.ac:
10469           use AC_C_INLINE. Use = instead of == with test
10470         * examples/plugins/example.c:
10471         * gst/autoplug/gstspideridentity.c:
10472         * gst/elements/gstfdsrc.c:
10473         * gst/elements/gstfilesrc.c:
10474         * gst/elements/gstidentity.c:
10475         * gst/elements/gstmultidisksrc.c:
10476         * gst/elements/gststatistics.c:
10477         * gst/gstelement.c:
10478         * gst/gstobject.c:
10479         * gst/gstpad.c:
10480         * gst/gstpipeline.c:
10481         * gst/gstthread.c:
10482           don't end enums with a comma
10483         * gst/gstindex.c: (gst_index_compare_func):
10484           do explicit casting to gint
10485         * gst/gsttrace.c: (gst_trace_text_flush):
10486           #define strsize as a macro
10487
10488 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10489
10490         * docs/README:
10491         * docs/gst/gstreamer-docs.sgml:
10492         * docs/gst/gstreamer-sections.txt:
10493         * docs/gst/tmpl/gstelement.sgml:
10494         * docs/gst/tmpl/gsterror.sgml:
10495         * docs/gst/tmpl/gstinterface.sgml:
10496         * docs/gst/tmpl/gstreamer-unused.sgml:
10497         * docs/gst/tmpl/gststructure.sgml:
10498         * docs/gst/tmpl/gsttag.sgml:
10499         * docs/gst/tmpl/gsttaginterface.sgml:
10500         * docs/gst/tmpl/gstvalue.sgml:
10501         make sure all API ends up in the built docs
10502         * gst/gstinterface.c:
10503         * gst/gststructure.c: (gst_structure_id_set_value),
10504         (gst_structure_set_value), (gst_structure_id_get_value):
10505         * gst/gststructure.h:
10506         * gst/gstvalue.h:
10507         sync .h with .c declarations
10508
10509 2004-01-30  Julien Moutte  <julien@moutte.net>
10510
10511         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
10512         Ronald will fix riffread.
10513
10514 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10515
10516         * docs/pwg/advanced-interfaces.xml:
10517           Added tuner interface docs.
10518
10519 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10520
10521         * docs/random/mimetypes:
10522           correct Theora information
10523         * gst/gstelement.h:
10524           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
10525
10526 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10527
10528         * gst/gstelement.c: (gst_element_error_full):
10529         * gst/gstelement.h:
10530           GST_ELEMENT_ERROR in enum -> _IN_ERROR
10531
10532 2004-01-29  Julien MOUTTE  <julien@moutte.net>
10533
10534         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10535         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
10536         again and even before DISCONT.
10537         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
10538         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
10539         bytestream so that it's not stopping to fill the bytestream if events
10540         different than EOS or DISCONT are received. Instead it process them so
10541         that they go downstream.
10542
10543 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10544
10545         * docs/gst/tmpl/gstelement.sgml:
10546         * docs/gst/tmpl/gstreamer-unused.sgml:
10547         * docs/gst/tmpl/gstxml.sgml:
10548         * gst/autoplug/gstspideridentity.c:
10549         (gst_spider_identity_sink_loop_type_finding):
10550         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10551         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10552         (gst_filesink_close_file), (gst_filesink_handle_event),
10553         (gst_filesink_chain):
10554         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10555         (gst_filesrc_get_read), (gst_filesrc_open_file):
10556         * gst/elements/gstidentity.c: (gst_identity_chain):
10557         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10558         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10559         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10560         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10561         * gst/gstelement.h:
10562         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10563         (gst_pad_recover_caps_error), (gst_pad_pull):
10564         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10565         * gst/schedulers/gstbasicscheduler.c:
10566         (gst_basic_scheduler_chainhandler_proxy),
10567         (gst_basic_scheduler_gethandler_proxy),
10568         (gst_basic_scheduler_cothreaded_chain):
10569           gst_element_error -> GST_ELEMENT_ERROR
10570
10571 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10572
10573         * docs/Makefile.am:
10574         * docs/gst/tmpl/gstelement.sgml:
10575         * docs/gst/tmpl/gstxml.sgml:
10576         * docs/manuals.mak:
10577         * docs/pwg/advanced-request.xml:
10578         * docs/pwg/advanced-scheduling.xml:
10579         * docs/pwg/advanced-tagging.xml:
10580           fix non-validating docbook using CDATA
10581           make sure make check-local gets run first to check if it validates
10582
10583 2004-01-29  Julien MOUTTE <julien@moutte.net>
10584
10585         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
10586         handling (up and downstream).
10587         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
10588         my_filter thing.
10589
10590 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10591
10592         * docs/pwg/advanced-tagging.xml:
10593           Add docs about tag writing.
10594
10595 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10596
10597         * docs/pwg/advanced-tagging.xml:
10598           Add a part about tag reading and application signalling... Tag
10599           writing still needs to be documented.
10600         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10601           We can set file locations in READY, too.
10602
10603 2004-01-29  Julien MOUTTE <julien@moutte.net>
10604
10605         * docs/random/ds/element-checklist: Adding some notes about src
10606         events.
10607
10608 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10609
10610         * docs/random/mimetypes:
10611           Update docs to point to correct elements for various mimetypes, and
10612           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
10613           <stephane.loeuillet@tiscali.fr>.
10614
10615 2004-01-28  David Schleef  <ds@schleef.org>
10616
10617         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
10618
10619 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10620
10621         * docs/random/mimetypes:
10622           update docs for audio/x-raw-float. Add "buffer-frames=0 means
10623           undefined"
10624         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10625           make it only work in NULL.
10626         * gst/gstcaps.c:
10627           don't posion NULL caps
10628         * gst/gstelement.c: (gst_element_set_time):
10629           add debugging statement
10630         * gst/gstelement.c: (gst_element_emit_found_tag),
10631         (gst_element_found_tag_func), (gst_element_found_tags):
10632         * gst/gstelement.h:
10633           These functions take const taglists
10634         * gst/gstpad.c: (gst_pad_proxy_getcaps):
10635           fix memleak
10636         * gst/gstpad.c: (gst_pad_event_default):
10637           make more effort on handling discont and clocks, g_warn if everything
10638           fails
10639         * gst/gststructure.c: (gst_structure_remove_fields),
10640         (gst_structure_remove_fields_valist):
10641         * gst/gststructure.h:
10642           add gst_structure_remove_fields(_valist)
10643         * gst/gsttag.c:
10644           fix doc glitch
10645
10646 2004-01-28  David Schleef  <ds@schleef.org>
10647
10648         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
10649         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
10650         Fix memory leakage of gst_caps_to_string().
10651
10652         Use GST_PTR_FORMAT instead of gst_caps_to_string():
10653         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
10654         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
10655         (gst_spider_identity_sink_loop_type_finding):
10656         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10657         (find_suggest):
10658         * gst/gstpad.c: (gst_pad_try_relink_filtered),
10659         (gst_pad_set_explicit_caps):
10660         * gst/parse/grammar.y:
10661
10662 2004-01-28  David Schleef  <ds@schleef.org>
10663
10664         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
10665         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
10666         * docs/random/ds/0.9-suggested-changes: Notes from Company.
10667         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
10668         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
10669         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
10670         (gst_debug_log_default), (_gst_info_printf_extension),
10671         (_gst_info_printf_extension_arginfo):  Add printf extension.
10672         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
10673         * gst/gststructure.c: (gst_structure_to_string),
10674         (_gst_structure_parse_value): Use gst_value_deserialize() and
10675         remove old code.
10676         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
10677         (gst_value_deserialize_boolean), (gst_strtoi),
10678         (gst_value_deserialize_int), (gst_value_deserialize_double),
10679         (gst_value_deserialize_string), (gst_value_deserialize): Implement
10680         a bunch of deserialize functions and gst_value_deserialize.
10681         * gst/gstvalue.h: er, _de_serialize, not unserialize
10682         * testsuite/caps/string-conversions.c: (main): We don't currently
10683         handle (float) in caps, so convert these to (double).
10684         * testsuite/debug/Makefile.am: Add new test for the printf extension
10685         * testsuite/debug/printf_extension.c: (main): same
10686
10687 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10688
10689         * docs/random/company/time:
10690           Add some docs about clocking and time
10691
10692 2004-01-28  Julien MOUTTE <julien@moutte.net>
10693
10694         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
10695
10696 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10697
10698         * docs/pwg/advanced-clock.xml:
10699         * docs/pwg/advanced-dparams.xml:
10700         * docs/pwg/advanced-events.xml:
10701         * docs/pwg/advanced-interfaces.xml:
10702         * docs/pwg/advanced-midi.xml:
10703         * docs/pwg/advanced-request.xml:
10704         * docs/pwg/advanced-scheduling.xml:
10705         * docs/pwg/advanced-tagging.xml:
10706         * docs/pwg/advanced-types.xml:
10707         * docs/pwg/appendix-checklist.xml:
10708         * docs/pwg/building-boiler.xml:
10709         * docs/pwg/building-chainfn.xml:
10710         * docs/pwg/building-filterfactory.xml:
10711         * docs/pwg/building-pads.xml:
10712         * docs/pwg/building-props.xml:
10713         * docs/pwg/building-signals.xml:
10714         * docs/pwg/building-state.xml:
10715         * docs/pwg/building-testapp.xml:
10716         * docs/pwg/intro-basics.xml:
10717         * docs/pwg/intro-preface.xml:
10718         * docs/pwg/other-autoplugger.xml:
10719         * docs/pwg/other-sink.xml:
10720         * docs/pwg/other-source.xml:
10721         * docs/pwg/titlepage.xml:
10722           fix up id's
10723
10724 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10725
10726         * docs/95NonPath:
10727         * docs/HACKING:
10728         * docs/README:
10729         * docs/building-the-docs-on-debian:
10730           collect relevant bits of doc info
10731
10732 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10733
10734         * docs/pwg/advanced_tagging.xml:
10735           Half-assed commit so Thomas can re-arrange document IDs here to be
10736           consistent, too.
10737
10738 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10739
10740         * docs/manual/autoplugging.xml:
10741         * docs/manual/bins-api.xml:
10742         * docs/manual/bins.xml:
10743         * docs/manual/buffers-api.xml:
10744         * docs/manual/buffers.xml:
10745         * docs/manual/clocks.xml:
10746         * docs/manual/components.xml:
10747         * docs/manual/cothreads.xml:
10748         * docs/manual/debugging.xml:
10749         * docs/manual/dparams-app.xml:
10750         * docs/manual/dynamic.xml:
10751         * docs/manual/elements-api.xml:
10752         * docs/manual/elements.xml:
10753         * docs/manual/factories.xml:
10754         * docs/manual/gnome.xml:
10755         * docs/manual/goals.xml:
10756         * docs/manual/helloworld.xml:
10757         * docs/manual/helloworld2.xml:
10758         * docs/manual/init-api.xml:
10759         * docs/manual/intro.xml:
10760         * docs/manual/links-api.xml:
10761         * docs/manual/links.xml:
10762         * docs/manual/manual.xml:
10763         * docs/manual/motivation.xml:
10764         * docs/manual/pads-api.xml:
10765         * docs/manual/pads.xml:
10766         * docs/manual/plugins-api.xml:
10767         * docs/manual/plugins.xml:
10768         * docs/manual/programs.xml:
10769         * docs/manual/queues.xml:
10770         * docs/manual/quotes.xml:
10771         * docs/manual/schedulers.xml:
10772         * docs/manual/states-api.xml:
10773         * docs/manual/states.xml:
10774         * docs/manual/threads.xml:
10775         * docs/manual/typedetection.xml:
10776         * docs/manual/xml.xml:
10777           use chapter, part, section or misc as id starts for all bits
10778
10779 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10780
10781         * docs/gst/gstreamer-sections.txt:
10782           Fix up TITLE of the sections
10783
10784 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10785
10786         * docs/pwg/advanced_interfaces.xml:
10787           Add documentation on propertyprobing.
10788         * docs/pwg/advanced_events.xml:
10789         * docs/pwg/advanced_tagging.xml:
10790         * docs/pwg/building_boiler.xml:
10791         * docs/pwg/building_filterfactory.xml:
10792         * docs/pwg/pwg.xml:
10793           Move filterfactory and tagging into their own chapter, add a chapter
10794           on events. all these are empty placeholders that will be filled in
10795           some day.
10796
10797 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10798
10799         * docs/pwg/advanced_interfaces.xml:
10800           Docs for mixer interface. Also a check for website uploading.
10801
10802 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10803
10804         * docs/HACKING:
10805         * docs/Makefile.am:
10806         * docs/faq/Makefile.am:
10807         * docs/gst/Makefile.am:
10808         * docs/gst/tmpl/gstelement.sgml:
10809         * docs/gst/tmpl/gstplugin.sgml:
10810         * docs/gst/tmpl/gstreamer-unused.sgml:
10811         * docs/libs/Makefile.am:
10812         * docs/manual/Makefile.am:
10813         * docs/manuals.mak:
10814         * docs/pwg/Makefile.am:
10815         * docs/upload.mak:
10816           Separate out upload target and make it similar for
10817           both docbook and gtk-doc docs
10818
10819 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10820
10821         * docs/manuals.mak:
10822           Fix upload target to work with freedesktop
10823
10824 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10825
10826         * docs/pwg/advanced_types.xml:
10827           Add notes on creating your own types.
10828         * docs/pwg/building_boiler.xml:
10829         * docs/pwg/building_pads.xml:
10830         * docs/pwg/building_state.xml:
10831           Add some stuff about how to retrieve values from structures, how
10832           that relates to types and change layout slightly again to be almost
10833           perfect.
10834
10835 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10836
10837         * docs/pwg/advanced_dparams.xml:
10838         * docs/pwg/advanced_scheduling.xml:
10839           Change index layout slightly.
10840
10841 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10842
10843         * docs/pwg/advanced_clock.xml:
10844         * docs/pwg/advanced_interfaces.xml:
10845         * docs/pwg/advanced_midi.xml:
10846           General placeholders for now.
10847         * docs/pwg/advanced_request.xml:
10848           Explanation about sometimes and request pads.
10849         * docs/pwg/advanced_scheduling.xml:
10850           Concept of bytestream, loopfunctions and schedulers.
10851         * docs/pwg/building_boiler.xml:
10852           Add something about plugin-init.
10853
10854 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10855
10856         * docs/pwg/building_pads.xml:
10857           Fix broken docbook
10858
10859 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10860
10861         * docs/pwg/advanced_interfaces.xml:
10862         * docs/pwg/pwg.xml:
10863           Add as a placeholder for future filling-in.
10864         * docs/pwg/basics_autoplugging.xml:
10865         * docs/pwg/basics_buffers.xml:
10866         * docs/pwg/basics_elements.xml:
10867         * docs/pwg/basics_events.xml:
10868         * docs/pwg/basics_plugins.xml:
10869         * docs/pwg/basics_types.xml:
10870           Remove, because unused (this is all in intro_basics.xml).
10871         * docs/pwg/building_signals.xml:
10872           Short intro to signals + reference to GObject docs - we really
10873           shouldn't go into these sort of things to deply because we don't
10874           use them that extensively anyway.
10875         * docs/pwg/building_state.xml:
10876           Explanation of states. Benjamin, please check.
10877         * docs/pwg/building_testapp.xml:
10878           Put everything in one page - putting only a few lines of content
10879           per page doesn't really make sense.
10880
10881           Time to get into the advanced topics. ;).
10882
10883 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10884
10885         * docs/pwg/advanced_types.xml:
10886           Finish documenting the current state of mimetypes.
10887         * docs/pwg/building_boiler.xml:
10888         * docs/pwg/building_chainfn.xml:
10889         * docs/pwg/building_pads.xml:
10890         * docs/pwg/building_props.xml:
10891         * docs/pwg/building_testapp.xml:
10892           Start documenting the "how to build a simple audio filter" part
10893           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
10894           states and (maybe?) a short introduction to capsnego in the chapter
10895           on pads (building_pads.xml). Capsnego should probably be explained
10896           fully in advanced_capsnego.xml or so.
10897
10898 2004-01-26  David Schleef  <ds@schleef.org>
10899
10900         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
10901         * gst/gstpad.h: Add new function to allow element to (somewhat)
10902         specify non-fixed caps on a pad.
10903         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
10904         that I added a few weeks ago.
10905
10906 2004-01-26  David Schleef  <ds@schleef.org>
10907
10908         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
10909           making try_set_caps() work with non-fixed caps.
10910
10911 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10912
10913         * docs/pwg/advanced_types.xml:
10914         * docs/pwg/intro_basics.xml:
10915         * docs/pwg/intro_preface.xml:
10916         * docs/pwg/pwg.xml:
10917         * docs/pwg/titlepage.xml:
10918           First try to resurrect the PWG. I'm halfway integrating the mimetypes
10919           in here (docs/random/mimetypes), and will from there on work on both
10920           updating outdated parts and adding missing parts.
10921           That doesn't mean I'll fix it completely, but I'll try at least. ;).
10922
10923 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10924
10925         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
10926           policy is set
10927
10928 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10929
10930         * gst/gstelement.h:
10931           remove gst_element_factory_get_version. It doesn't exist anymore.
10932         * gst/gstplugin.c:
10933         * gst/gstplugin.h:
10934           remove gst_plugin_set_name and change gst_plugin_get_longname to
10935           gst_plugin_get_description to match code.
10936         * gst/gsterror.h:
10937           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
10938         * gst/gstpad.c: (gst_pad_try_set_caps):
10939           make it work with nonfixed caps.
10940           Note that even in the nonfixed case the link function of the pad
10941           that tries to set caps isn't called.
10942
10943 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10944
10945         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10946           fix bug where buffer was not assembled correctly
10947         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
10948           silence by default
10949         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10950           only seek if there's no more buffers that could work without seeking
10951
10952 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10953
10954         * gst/gsttag.c: (_gst_tag_initialize):
10955         * gst/gsttag.h:
10956           Add application tag (for encoding/muxing app).
10957
10958 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10959
10960         * autogen.sh:
10961           make autopoint force, and libtoolize not copy
10962         * common/m4/as-docbook.m4:
10963           added docbook xml catalog setup check
10964         * common/m4/gst-doc.m4:
10965           use docbook check
10966
10967 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10968
10969         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10970         * gst/gsttag.h:
10971           add GstTagFlag
10972
10973 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10974
10975         * docs/gst/gstreamer-sections.txt:
10976         * docs/gst/tmpl/gst.sgml:
10977         * docs/gst/tmpl/gstbuffer.sgml:
10978         * docs/gst/tmpl/gstclock.sgml:
10979         * docs/gst/tmpl/gstelement.sgml:
10980         * docs/gst/tmpl/gstreamer-unused.sgml:
10981         * docs/gst/tmpl/gstxml.sgml:
10982           sync latest API changes to docs
10983
10984 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10985
10986         * gst/gstpluginfeature.c:
10987           fix doc snippet
10988         * tools/gst-inspect.c: (print_element_list):
10989           fix output of typefind
10990           add GPL header
10991         * tools/gst-launch.c:
10992           add GPL header
10993
10994 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10995
10996         * gst/elements/Makefile.am:
10997         * gst/elements/gstelements.c:
10998         * gst/elements/gsttypefindelement.c:
10999         * gst/elements/gsttypefindelement.h:
11000         * po/POTFILES.in:
11001         * po/fr.po:
11002         * po/nl.po:
11003           renamed gsttypefindelement to gsttypefind, conserving CVS history
11004
11005 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11006
11007         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
11008         * gst/gsttag.h:
11009           add some tags used in ogg as well
11010           fix _ in replaygain tags
11011
11012 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11013
11014         * gst/gsterror.h:
11015           fix wrong GST_LIBRARY_ERROR_ENCODE addition
11016
11017 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11018
11019         * gst/gstelement.c: (gst_element_error_full):
11020         * gst/gstelement.h:
11021           change _extended to _full
11022
11023 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11024
11025         reviewed by: <delete if not using a buddy>
11026
11027         * docs/gst/tmpl/gst.sgml:
11028         * docs/gst/tmpl/gstbuffer.sgml:
11029         * docs/gst/tmpl/gstclock.sgml:
11030         * docs/gst/tmpl/gstelement.sgml:
11031         * docs/gst/tmpl/gstreamer-unused.sgml:
11032         * docs/gst/tmpl/gstxml.sgml:
11033         * gst/gstelement.c: (gst_element_error_full):
11034         * gst/gstelement.h:
11035
11036 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11037
11038         * gst/gstelement.h: fix _gst_element_error_printf prototype
11039
11040 2004-01-20  David Schleef  <ds@schleef.org>
11041
11042         * gst/gststructure.c: (gst_structure_to_string):
11043         Convert function to use gst_value_serialize().
11044         * gst/gstvalue.c: (gst_value_serialize_list),
11045         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
11046         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
11047         (gst_value_serialize_int), (gst_value_serialize_double),
11048         (gst_string_wrap), (gst_value_serialize_string),
11049         (gst_value_serialize), (gst_value_deserialize):
11050         * gst/gstvalue.h:
11051         Add implementations for serialize.
11052
11053 2004-01-20  Julien MOUTTE  <julien@moutte.net>
11054
11055         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
11056         we want to keep that one in the future or change xvidenc.c to use 
11057         another error.
11058
11059 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11060
11061         * gst/gstelement.c: (_gst_element_error_printf):
11062         * gst/gstelement.h:
11063           privatise function
11064
11065 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11066
11067         * docs/random/error:
11068           doc explaining error system
11069         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11070           cleanup
11071
11072 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11073
11074         * gst/gst-i18n-app.h:
11075         * gst/gst-i18n-lib.h:
11076           remove inclusion of config.h
11077         * po/POTFILES.in:
11078         * po/nl.po:
11079           add gst/gstelement.c
11080
11081 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11082
11083         * po/nl.po: updated Dutch translation
11084
11085 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11086
11087         * gst/gsterror.c: (_gst_core_errors_init),
11088         (_gst_library_errors_init), (_gst_resource_errors_init),
11089         (_gst_stream_errors_init):
11090         remove ending punctuation dots
11091
11092 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11093
11094         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11095         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
11096         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11097         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11098         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11099         use GST_ERROR_SYSTEM
11100
11101 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11102
11103         * gst/gstelement.c: (gst_element_error_printf),
11104         (gst_element_error_extended):
11105         * gst/gstelement.h:
11106           add a helper printf function so we can have NULL values passed.
11107
11108 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11109
11110         * gst/gstelement.h:
11111           add G_STMT macros to gst_element_error, which isn't strictly
11112           necessary but people tell me to anyway.
11113
11114 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11115
11116         * gst/Makefile.am:
11117         * gst/autoplug/gstspideridentity.c:
11118         (gst_spider_identity_sink_loop_type_finding):
11119         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11120         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11121         (gst_filesink_close_file), (gst_filesink_handle_event),
11122         (gst_filesink_chain):
11123         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
11124         (gst_filesrc_map_region), (gst_filesrc_get_read),
11125         (gst_filesrc_open_file):
11126         * gst/elements/gstidentity.c: (gst_identity_chain):
11127         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11128         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11129         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11130         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
11131         * gst/gst.h:
11132         * gst/gst_private.h:
11133         * gst/gstelement.c: (gst_element_class_init),
11134         (gst_element_default_error), (gst_element_error_func),
11135         (gst_element_error_extended):
11136         * gst/gstelement.h:
11137         * gst/gsterror.c: (_gst_core_errors_init),
11138         (_gst_library_errors_init), (_gst_resource_errors_init),
11139         (_gst_stream_errors_init), (gst_error_get_message):
11140         * gst/gsterror.h:
11141         * gst/gstinfo.c: (_gst_debug_init):
11142         * gst/gstmarshal.list:
11143         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11144         (gst_pad_recover_caps_error), (gst_pad_pull):
11145         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11146         * gst/schedulers/gstbasicscheduler.c:
11147         (gst_basic_scheduler_chainhandler_proxy),
11148         (gst_basic_scheduler_gethandler_proxy),
11149         (gst_basic_scheduler_cothreaded_chain):
11150         * po/POTFILES.in:
11151         * po/fr.po:
11152         * po/nl.po:
11153           change error signal
11154           add error categories
11155
11156 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
11157
11158         * gst/gsttag.c: (_gst_tag_initialize):
11159         * gst/gsttag.h:
11160         Add replaygain tag
11161
11162 2004-01-18  Colin Walters  <walters@verbum.org>
11163
11164         * examples/retag/retag.c: Call gst_init before processing
11165         program args.  Add g_assert to _link_many call.
11166
11167 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11168
11169         * gst/gstpad.c: (gst_pad_alloc_buffer):
11170           Return a newly allocated buffer when the pad has no peer.
11171
11172 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11173
11174         * gst/gstclock.c: (gst_clock_get_time):
11175           make it compile with gcc 2.95 again.
11176           Patch by Scott Wheeler
11177
11178 2004-01-15  David Schleef  <ds@schleef.org>
11179
11180         * gst/gstcaps.h:
11181         Added gst_caps_is_simple() macro.
11182         * testsuite/caps/caps.c: (test1):
11183         * testsuite/caps/intersect2.c: (main):
11184         * testsuite/caps/intersection.c: (main):
11185         Fixes to make 'make check' work again after removing
11186         gst_caps_is_chained().
11187
11188 2004-01-15  Leif Johnson <leif@ambient.2y.net>
11189
11190         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
11191         and additions to the MIDI document.
11192
11193 2004-01-15  David Schleef  <ds@schleef.org>
11194
11195         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
11196         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
11197         of GST_RPAD_, since we don't know if it's a real or ghost pad.
11198
11199 2004-01-15  David Schleef  <ds@schleef.org>
11200
11201         * gst/gstqueue.c:
11202         * gst/gstqueue.h:
11203         Fix the spelling of "treshold" and make min_threshold actually
11204         affect the queue.
11205
11206 2004-01-15  David Schleef  <ds@schleef.org>
11207
11208         * gst/gstcaps.c:
11209         Add lots of documentation.
11210         * gst/gstcaps.h:
11211         Deprecate a few functions.
11212         * gst/gstpad.c:
11213         Removed use of deprecated functions.
11214
11215 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11216
11217         * gst/gstpad.c: (gst_pad_is_linked):
11218         * gst/gstpad.h:
11219           implement gst_pad_is_linked
11220         * gst/gstelement.h:
11221           reserve space for initiate_state_change
11222
11223 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11224
11225         * gst/autoplug/gstspideridentity.c:
11226         (gst_spider_identity_sink_loop_type_finding):
11227           break infinite loop by just returning instead of looping
11228         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
11229           set event time difference correctly. Set it to 1 second instead
11230           of 100ms to be more tolerant
11231         * gst/gstelement.c: (gst_element_set_time):
11232           add debugging output
11233
11234 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11235
11236         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
11237           query if buffers are inside the pool, ignore events
11238
11239 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11240
11241         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
11242         (gst_clock_set_speed), (gst_clock_set_active),
11243         (gst_clock_is_active), (gst_clock_reset),
11244         (gst_clock_handle_discont):
11245         * gst/gstclock.h:
11246           deprecate old interface and disable functions that aren't in use
11247           anymore.
11248         * gst/gstelement.h:
11249         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
11250         (gst_element_set_time), (gst_element_adjust_time):
11251           add concept of "element time" and functions to get/set this time.
11252         * gst/gstelement.c: (gst_element_change_state):
11253           update element time correctly.
11254         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11255           This is a debug message, not a g_critical.
11256         * gst/gstpad.c: (gst_pad_event_default):
11257           handle discontinuous events right with element time.
11258         * gst/gstscheduler.c: (gst_scheduler_state_transition):
11259           update to clocking fixes.
11260           set clocks on elements in READY=>PAUSED. The old behaviour caused
11261           a wrong element time on the first element that started playing.
11262         * gst/schedulers/gstbasicscheduler.c:
11263         (gst_basic_scheduler_class_init):
11264         * gst/schedulers/gstoptimalscheduler.c:
11265         (gst_opt_scheduler_class_init):
11266           remove code that just implements the default behaviour.
11267         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
11268           update to use new clocking functions
11269         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
11270         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
11271           update to test new element time.
11272         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
11273           use _get_allowed_caps instead of _get_caps. This catches filtered
11274           caps correctly.
11275         * testsuite/debug/commandline.c:
11276           update for new GST_DEBUG syntax.
11277         * testsuite/threads/Makefile.am:
11278           disable a test that only works sometimes.
11279
11280 2004-01-13  Julien MOUTTE <julien@moutte.net>
11281
11282         * po/LINGUAS: Adding fr.
11283         * po/fr.po: Adding french translation.
11284
11285 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11286
11287         * gst/parse/grammar.y:
11288         * po/POTFILES.in:
11289         * po/nl.po:
11290         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
11291           translate parsing error messages
11292
11293 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11294
11295         * po/POTFILES.in: adding gst-launch
11296         * po/nl.po: updated translation, all 99 strings translated
11297         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
11298         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
11299           fix strings for translation
11300
11301 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11302
11303         * gst/gst.c:
11304           - capitalize beginnings of popt options
11305           - fix strings for translation
11306           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
11307
11308 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11309
11310         * po/README: add some notes on how to update translations
11311
11312 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11313
11314         * ABOUT-NLS: removed, is autogenerated from autopoint
11315         * autogen.sh: add autopoint stuff
11316         * configure.ac: fix up gettext stuff
11317         * gst/Makefile.am: add i18n headers to noinst_HEADERS
11318         * gst/elements/gsttypefindelement.c: add header include
11319         * gst/gettext.h: add header, copy from system-installed header
11320         * gst/gst-i18n-app.h: to be included by each app having translations
11321         * gst/gst-i18n-lib.h: to be included by each lib having translations
11322         * gst/gst.c: (init_pre): fix up gettext calls
11323         * gst/gst_private.h: remove i18n stuff, moving to separate headers
11324         * po/LINGUAS: the new way to specify translations present
11325         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
11326         * po/Makevars: the variables filled in for GStreamer
11327         * po/POTFILES.in: added new files with translations
11328         * po/de.po: has new strings
11329         * po/nl.po: readded, has new strings
11330
11331 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11332
11333         * gst/gsttag.c: fix some strings marked for translation
11334
11335 2004-01-13  Iain <iain@prettypeople.org>
11336
11337         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
11338         group when we add an element to it, cos we unref it when we remove one
11339
11340 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11341
11342         * testsuite/debug/commandline.c: (debug_not_reached):
11343         * testsuite/debug/output.c: (check_message):
11344           fix testsuite
11345
11346 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11347
11348         * examples/cutter/.cvsignore:
11349         * examples/helloworld/.cvsignore:
11350         * examples/launch/.cvsignore:
11351         * examples/manual/.cvsignore:
11352         * examples/mixer/.cvsignore:
11353         * examples/pingpong/.cvsignore:
11354         * examples/plugins/.cvsignore:
11355         * examples/queue/.cvsignore:
11356         * examples/queue2/.cvsignore:
11357         * examples/queue3/.cvsignore:
11358         * examples/queue4/.cvsignore:
11359         * examples/retag/.cvsignore:
11360         * examples/thread/.cvsignore:
11361         * examples/typefind/.cvsignore:
11362         * examples/xml/.cvsignore:
11363         * gst/.cvsignore:
11364         * gst/autoplug/.cvsignore:
11365         * gst/elements/.cvsignore:
11366         * gst/indexers/.cvsignore:
11367         * gst/parse/.cvsignore:
11368         * gst/registries/.cvsignore:
11369         * gst/schedulers/.cvsignore:
11370         * libs/gst/bytestream/.cvsignore:
11371         * libs/gst/control/.cvsignore:
11372         * libs/gst/getbits/.cvsignore:
11373         * tests/.cvsignore:
11374         * tests/bufspeed/.cvsignore:
11375         * tests/instantiate/.cvsignore:
11376         * tests/memchunk/.cvsignore:
11377         * tests/muxing/.cvsignore:
11378         * tests/sched/.cvsignore:
11379         * tests/seeking/.cvsignore:
11380         * tests/threadstate/.cvsignore:
11381         * testsuite/.cvsignore:
11382         * testsuite/caps/.cvsignore:
11383         * testsuite/cleanup/.cvsignore:
11384         * testsuite/dynparams/.cvsignore:
11385         * testsuite/plugin/.cvsignore:
11386         * tools/.cvsignore:
11387           update - this is huge, because it includes *.bb, *.bbg and *.da files
11388           which are generated for gcov.
11389
11390 2004-01-11  David Schleef  <ds@schleef.org>
11391
11392         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
11393         a function to parse integers in ways that strto[u]l() does not.
11394
11395 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11396
11397         * tools/gst-inspect.c: (print_caps):
11398           improve output of caps a bit
11399
11400 2004-01-11  David Schleef  <ds@schleef.org>
11401
11402         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
11403         inherit correct flags (READONLY and DONTKEEP).
11404
11405 2004-01-11  David Schleef  <ds@schleef.org>
11406
11407         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
11408         (gst_filesrc_map_region):
11409         * gst/gstbuffer.c: (_gst_buffer_initialize),
11410         (_gst_buffer_sub_free), (gst_buffer_default_copy),
11411         (gst_buffer_new), (gst_buffer_create_sub),
11412         (gst_buffer_is_span_fast), (gst_buffer_span):
11413         * gst/gstbuffer.h:
11414         Change GstBuffer private structure element names. (all files)
11415         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11416         (gst_queue_link):
11417         * gst/gstqueue.h:
11418         Implement getcaps/pad_link functions that handle the case where
11419         there are data in the queue.
11420
11421 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11422
11423         * gst/elements/gstbufferstore.c:
11424           initialize debugging structure correctly
11425         * gst/elements/gsttee.c: (gst_tee_set_property):
11426           g_object_notify when property was changed
11427         * gst/elements/gsttypefindelement.c:
11428         (gst_type_find_element_change_state):
11429           clear caps correctly
11430
11431 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11432
11433         * gst/gstqueue.c: (gst_queue_init):
11434           Use better defaults for when a queue should block. This
11435           gets rid of jerky playback for quite a few files.
11436           It takes more memory.
11437
11438 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11439
11440         (gst_xml_registry_parse_padtemplate):
11441           make critical message slightly more useful
11442
11443 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11444
11445         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
11446         (gst_debug_message_get), (gst_debug_log_default):
11447         * gst/gstinfo.h:
11448           Change gst_debug_log(_valist) to take a const format string.
11449           Change prototype of log function and functions using those to 
11450           take a GstDebugMessage instead of a string that requires using
11451           gst_debug_message_get.
11452
11453 2004-01-08  David Schleef  <ds@schleef.org>
11454
11455         * Makefile.am:
11456         * configure.ac:
11457         Add option --enable-gcov to build GStreamer with -fprofile-arcs
11458         and -ftest-coverage, which allows gcov to show information about
11459         testsuite coverage.
11460
11461 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11462
11463         * gst/gstutils.h:
11464           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
11465           GST_PARENT_CALL_WITH_DEFAULT
11466         * gst/elements/gstaggregator.c: 
11467         * gst/elements/gstbufferstore.c: 
11468         * gst/elements/gstfakesink.c: 
11469         * gst/elements/gstfakesrc.c: 
11470         * gst/elements/gstfdsink.c: 
11471         * gst/elements/gstfdsrc.c: 
11472         * gst/elements/gstfilesink.c: 
11473         * gst/elements/gstfilesrc.c: 
11474         * gst/elements/gstidentity.c: 
11475         * gst/elements/gstmd5sink.c: 
11476         * gst/elements/gstmultidisksrc.c:
11477         * gst/elements/gstpipefilter.c: 
11478         * gst/elements/gstshaper.c:
11479         * gst/elements/gststatistics.c:
11480         * gst/elements/gsttee.c:
11481         * gst/elements/gsttypefindelement.c:
11482           use them.
11483
11484 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11485
11486         * docs/gst/gstreamer-docs.sgml: remove props
11487         * docs/gst/gstreamer-sections.txt: remove props
11488         * docs/gst/tmpl/gst.sgml:
11489         * docs/gst/tmpl/gstbin.sgml:
11490         * docs/gst/tmpl/gstbuffer.sgml:
11491         * docs/gst/tmpl/gstcaps.sgml:
11492         * docs/gst/tmpl/gstclock.sgml:
11493         * docs/gst/tmpl/gstelement.sgml:
11494         * docs/gst/tmpl/gstindex.sgml:
11495         * docs/gst/tmpl/gstobject.sgml:
11496         * docs/gst/tmpl/gstpad.sgml:
11497         * docs/gst/tmpl/gstpadtemplate.sgml:
11498         * docs/gst/tmpl/gstreamer-unused.sgml:
11499         * docs/gst/tmpl/gstthread.sgml:
11500         * docs/gst/tmpl/gstxml.sgml:
11501           sync with code reorganization
11502
11503 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
11504
11505         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11506         Make the 'Could not find compatible pad' message more informative.
11507
11508 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11509                                                                                 
11510         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
11511           Fix for if we pass NULL as property to location.
11512         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
11513         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
11514           Fix for instantiate-test (see below).
11515         * gst/gststructure.c: (_gst_structure_parse_value):
11516           Fix compile error on gcc-2.96.
11517         * configure.ac:
11518         * tests/Makefile.am:
11519         * tests/instantiate/Makefile.am:
11520         * tests/instantiate/create.c: (create_all_elements), (main):
11521           Add a test that instantiates all elements. This makes it easy to
11522           track dead code for old API/design (like setting event functions
11523           on sink pads and so on).
11524
11525 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
11526
11527         * gst/gstcaps.c: (gst_caps_append_structure):
11528           Move the poisoning to allow a NULL structure
11529         * gst/gstevent.c: (_gst_event_free):
11530           When freeing a navigation event, free the structure
11531           also
11532
11533 2004-01-04  David Schleef  <ds@schleef.org>
11534
11535         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11536         Remove usage of gst_pad_proxy_fixate.
11537         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
11538         (gst_caps_split_one), (gst_caps_replace):
11539         Add poisoning code.
11540         * gst/gstmarshal.list:
11541         Add pointer__pointer for fixate signal
11542         * gst/gstpad.c: (gst_real_pad_class_init),
11543         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11544         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
11545         (gst_pad_set_explicit_caps), (gst_pad_template_new):
11546         Add poisoning code. Add fixate signal on RealPad. Change
11547         set_explicit_caps() to take const GstCaps, like try_set_caps().
11548         * gst/gstpad.h:
11549         * testsuite/caps/Makefile.am:
11550         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
11551
11552 2004-01-03  David Schleef  <ds@schleef.org>
11553
11554         * gst/elements/gsttypefindelement.c:
11555         (gst_type_find_element_have_type), (gst_type_find_element_init):
11556         Use gst_pad_use_explicit_caps for src pad.
11557         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
11558         before using it.
11559
11560 2004-01-03  David Schleef  <ds@schleef.org>
11561
11562         * gst/gstelement.c: (gst_element_link_pads_filtered),
11563         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
11564         that linking was successful.
11565         * gst/gstpad.c: (gst_pad_link_free),
11566         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
11567         (gst_pad_link_try), (gst_pad_link_unnegotiate),
11568         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
11569         GstPadLinkReturn correctly between functions, and don't fail
11570         when DELAYED is used (DELAYED is very important).  Better
11571         cleanup on unlinking and unnegotiation.  Should fix some spider
11572         bugs.
11573
11574 2004-01-02  David Schleef  <ds@schleef.org>
11575
11576         * gst/gstelement.c: (gst_element_class_init),
11577         (gst_element_base_class_init): ->padtemplates should be cleared
11578         in base_init, since we need to have a fresh list for every
11579         class.  (Alternately, we chould copy the list and share the
11580         actual pad templates (not the list), but that would require
11581         changing every plugin to move pad template registration from
11582         base_init to class_init.)
11583
11584 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11585
11586         * gst/gstelement.c: (gst_element_class_add_pad_template):
11587           Refuse registering a pad template if another pad template
11588           with the same name already exists (#114715).
11589
11590 2004-01-02  David Schleef  <ds@schleef.org>
11591
11592         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
11593         (gst_caps_is_equal_fixed): Add new function.
11594         * gst/gstcaps.h: ditto.
11595         * gst/gstpad.c: (gst_real_pad_class_init),
11596         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
11597         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
11598         check new caps against existing caps -- if they're the same, return
11599         OK without renegotiating.  caps-nego-failed signal fixed so that
11600         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
11601         to save an extra caps copy.  Don't complete negotiation if a pad
11602         link function returns DELAYED.
11603
11604 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11605
11606         * gst/gstpad.c: (gst_pad_try_relink_filtered):
11607           Fix wrong g_return_if_fail
11608
11609 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
11610
11611         * gst/gstbin.c: (gst_bin_class_init):
11612         Change the marshalling of element_added/element_removed
11613         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
11614         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
11615
11616 2004-01-01  David Schleef  <ds@schleef.org>
11617
11618         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11619         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
11620         (gst_pad_use_explicit_caps):
11621         * gst/gstpad.h:
11622         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
11623         to use an internal getcaps and link fuction so that negotiation
11624         always results in the explicitly set caps.
11625         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
11626         are particularly useful for decoders.
11627
11628 2003-12-31  David Schleef  <ds@schleef.org>
11629
11630         * gst/elements/gstidentity.c: (gst_identity_class_init),
11631         (gst_identity_init), (gst_identity_chain),
11632         (gst_identity_set_property), (gst_identity_get_property):
11633         * gst/elements/gstidentity.h:
11634         * gst/gstqueue.c: (gst_queue_init):
11635           Negotiation fixes.
11636
11637 2003-12-31  David Schleef  <ds@schleef.org>
11638
11639         * gst/gstcaps.c: (gst_caps_intersect),
11640         (_gst_caps_normalize_foreach), (gst_caps_normalize):
11641           Implement gst_caps_normalize().
11642         * testsuite/caps/normalisation.c: (main):
11643           Add an additional test
11644
11645 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11646
11647         * gst/gstqueue.c: (gst_queue_init):
11648           use gst_pad_proxy_getcaps()
11649
11650 2003-12-31  David Schleef  <ds@schleef.org>
11651
11652         * gst/elements/gstshaper.c: (gst_shaper_link):
11653         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11654         * gst/gstqueue.c: (gst_queue_link):
11655           Negotiation fixes.
11656
11657 2003-12-31  David Schleef  <ds@schleef.org>
11658
11659         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
11660         * gst/gstpad.h: Add functions that are useful as default pad
11661         link and fixate functions for elements.
11662
11663 2003-12-30  David Schleef  <ds@schleef.org>
11664
11665         * gst/gstpad.c: (gst_pad_link_try):
11666           Fix segfault when attempting to return to old caps
11667
11668 2003-12-29  David Schleef  <ds@schleef.org>
11669
11670         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
11671         (gst_caps_structure_simplify), (gst_caps_simplify):
11672         * gst/gstcaps.h:
11673           Add simplify function
11674         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
11675         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
11676         * gst/gstpad.h:
11677           Copy over srcnotify, sinknotify when calling old pad_link
11678           functions.  Add new is_negotiated() function.
11679         * gst/gststructure.c: (gst_structure_copy):
11680           Fix an incredibly stupid bug that should have been noticed
11681           weeks ago.  _copy() returned the argument, not the new copy.
11682
11683 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11684
11685         * gst/gstcaps.c: (gst_caps_append):
11686           add sanity checks
11687         * gst/gstcaps.h: (gst_caps_debug):
11688           remove, it doesn't exist anymore.
11689         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
11690         (gst_element_threadsafe_properties_post_run):
11691           make debugging messages not clutter up THREAD debug category
11692         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
11693         (gst_element_change_state):
11694           update to new caps API
11695         * gst/gstinterface.c: (gst_implements_interface_cast):
11696           don't put vital code in g_return_if_fail
11697         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
11698         (gst_pad_link_filtered):
11699           add pst_pad_try_link and use it.
11700         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
11701           implement correctly, deprecate first one.
11702         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
11703           add and implement.
11704         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
11705           implement.
11706         (gst_pad_get_negotiated_caps):
11707           add and implement. Make GST_PAD_CAPS call this function.
11708         (gst_pad_get_caps):
11709           remove unneeded check..
11710         (gst_pad_recover_caps_error):
11711           disable, always return FALSE.
11712         (gst_real_pad_dispose):
11713           don't free caps and appfilter anymore, they're unused.
11714         * gst/gstpad.h:
11715           Reflect changes mentioned above.
11716         * gst/gstsystemclock.c: (gst_system_clock_wait):
11717           Make 'clock is way behind' a debugging message.
11718         * gst/gstthread.c: (gst_thread_change_state):
11719           Fix debugging message
11720
11721 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11722
11723         * gst/gstinfo.h:
11724           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
11725         * docs/gst/tmpl/gstreamer-unused.sgml:
11726           removed all traces of cvs conflicts
11727
11728 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11729
11730         * configure.ac:
11731         * gst/schedulers/cothreads_compat.h:
11732         * libs/Makefile.am:
11733           remove last instances of wingo cothread usage
11734
11735 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11736
11737         * gst/gstplugin.c:
11738         * gst/gstversion.h.in:
11739         * gst/parse/grammar.y:
11740           change comment block from /** to /* when not gtk-doc comments
11741
11742 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11743
11744         * gst/gst.c: whitespace and doc style fixes
11745
11746 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11747
11748         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
11749
11750 2003-12-24  Colin Walters  <walters@verbum.org>
11751
11752         * gst/elements/gsttypefindelement.c:
11753           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
11754           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
11755           Don't double-free caps.
11756
11757 2003-12-23  David Schleef  <ds@schleef.org>
11758
11759         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
11760           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
11761           Many little fixes and additions of debug statements to
11762           get rhythmbox working.
11763
11764 2003-12-23  Colin Walters  <walters@verbum.org>
11765
11766         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
11767         Use GST_PAD_LINK_SUCCESSFUL.
11768
11769 2003-12-23  David Schleef  <ds@schleef.org>
11770
11771         * gst/elements/gstaggregator.c:
11772         * gst/elements/gsttee.c:
11773           Use gst_pad_proxy_getcaps().
11774         * gst/gstpad.c:
11775         * gst/gstpad.h:
11776           Add gst_pad_proxy_getcaps(), which filter elements can use
11777           as a generic getcaps implementation.
11778           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
11779           was advertised.
11780
11781 2003-12-23  David Schleef  <ds@schleef.org>
11782
11783         * gst/gstpad.c:
11784           Rearrange/rewrite much of the pad negotiation code, since it
11785           resembled pasta.  This actually changes the way some
11786           negotiation works, since the previous code was inconsistent
11787           depending on how it was invoked.  Add (internal) structure
11788           GstPadLink, which is used to hold some information (more in
11789           the future) about the link between two pads.  Fixes a number
11790           of bugs, including random lossage of filter caps when the
11791           initial negotiation is delayed.  A few functions are still
11792           unimplemented.
11793         * gst/gstpad.h:
11794           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
11795           these when testing GstPadLinkReturn values instead of comparing
11796           directly.
11797
11798 2003-12-23  David Schleef  <ds@schleef.org>
11799
11800         * gst/gstvalue.c: 
11801         * gst/gstvalue.h:
11802           Rearrange lots of code.  Change registration of compare function
11803           into registration of compare/serialize/deserialize functions.
11804           Doesn't include implementation of gst_value_[de]serialize(),
11805           but that should be easy.
11806
11807 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11808
11809         * docs/gst/gstreamer-sections.txt:
11810         * docs/gst/tmpl/gstprops.sgml: removed
11811         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
11812           David removed props and caps code, so let's remove their docs as well.
11813           Removed all no longer existing symbols from gstreamer-sections.txt
11814           
11815 2003-12-22  Colin Walters  <walters@verbum.org>
11816
11817         * gst/gsttaginterface.c, gst/gsttaginterface.h,
11818           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
11819           of tags directly.
11820
11821 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11822
11823         * gst/elements/gstelements.c:
11824           Set ranks of elements to NONE, so the autoplugger doesn't use them.
11825         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
11826           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
11827           gst_caps (peer).
11828
11829 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11830
11831         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11832         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
11833         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
11834         (gst_spider_identity_sink_loop_type_finding):
11835         * gst/autoplug/gstspideridentity.h:
11836           Fix autoplugging in spider element, so it works with new caps.
11837           This was mainly caused by identifying empty caps incorrectly.
11838
11839 2003-12-22  David Schleef  <ds@schleef.org>
11840
11841         * gststructure.c, gstvalue.c, gstvalue.h: Add
11842           gst_value_init_and_copy() and use it, to avoid silly mistakes in
11843           using g_value_copy()
11844
11845 2003-12-21  David Schleef  <ds@schleef.org>
11846
11847         * many, many files: Merge CAPS branch.  This includes:
11848           - implemention of GstValue and several GstValue types
11849           - implemention of GstStructure
11850           - entire rewrite of GstCaps
11851           - removal of GstProps
11852           - many changes to GstPad to compensate for new caps paradigm
11853           - removal of GstBufferpool
11854         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
11855         gstvalue.h, gst/gstcaps[2]*.[ch]:
11856           - rename gstcaps2.[ch] to gstcaps.[ch]
11857
11858 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11859
11860         * gst/gstqueue.c: (gst_queue_handle_pending_events),
11861         (gst_queue_chain), (gst_queue_handle_src_event):
11862           implement timeout for sending events. Workaround for if the
11863           pipeline on this queue is not passing any data.
11864
11865 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
11866                                                                                 
11867         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
11868         * moved CVS to freedesktop.org
11869