more macosx madness fixing
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-07  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstquery.c:
4         * gst/gstquery.h:
5         Remove old types
6
7 2005-07-07  Wim Taymans  <wim@fluendo.com>
8
9         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
11         Allow subclasses to implement their own negotiation.
12
13 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14
15         * docs/design/part-gstbin.txt:
16         * docs/design/part-gstpipeline.txt:
17           Update design notes to reflect the movement of
18           responsibility for bus handling from GstPipeline to
19           GstBin
20
21 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22
23         * configure.ac:
24           Remove unnecessary queue2/3/4 examples.
25
26 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
27
28         * examples/Makefile.am:
29         * examples/helloworld/helloworld.c: (event_loop), (main):
30         * examples/queue/queue.c: (event_loop), (main):
31         * examples/queue2/queue2.c: (main):
32           Update a couple of the examples to work again.
33
34         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
35         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
36          Spelling corrections and extra debug.
37         
38         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
39         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
40         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
41         * gst/gstbin.h:
42         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
43         (gst_pipeline_change_state):
44         * gst/gstpipeline.h:
45           Move the bus handler for children to the GstBin, and create a
46           separate bus for receiving messages from children to the one the
47           bus sends 'upwards' on.
48
49 2005-07-06  Wim Taymans  <wim@fluendo.com>
50
51         * gst/base/README:
52         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
53         (gst_base_sink_handle_object), (gst_base_sink_loop),
54         (gst_base_sink_change_state):
55         * gst/base/gstbasesink.h:
56         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
57         (gst_base_src_init), (gst_base_src_setcaps),
58         (gst_base_src_getcaps), (gst_base_src_loop),
59         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
60         (gst_base_src_start), (gst_base_src_change_state):
61         * gst/base/gstbasesrc.h:
62         Make basesrc negotiate.
63         Handle the case where preroll fails in basesink.
64         Update README.
65
66 2005-07-06  Wim Taymans  <wim@fluendo.com>
67
68         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
69         Implement the fixate function.
70         Clean up acceptcaps.
71
72 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
73
74         * docs/pwg/building-filterfactory.xml:
75         * docs/pwg/pwg.xml:
76           Remove never-written filter-factory chapter; I'll add the various
77           base classes to part 4 ("other element types") later on.
78
79 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
80
81         * docs/pwg/advanced-negotiation.xml:
82         * docs/pwg/building-boiler.xml:
83         * docs/pwg/building-pads.xml:
84         * docs/pwg/pwg.xml:
85         * examples/pwg/Makefile.am:
86           Add a chapter on caps negotiation, simplify the original code
87           samples a bit w.r.t. caps negotiation, add link to the advanced
88           section. Add a bunch of examples showing different use cases of
89           different types of caps negotiation. Upstream renegotiation isn't
90           fully documented yet since nobody knows how that works.
91
92 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
93
94         * check/gst/gstpad.c:
95         * check/gstcheck.c:
96         * gst/gstpad.c: (gst_pad_get_internal_links_default):
97           if pad has no parent, return NULL as list of internal links
98
99 2005-07-05  Andy Wingo  <wingo@pobox.com>
100
101         * gst/elements/gstfilesrc.c:
102         * gst/elements/gstfakesrc.c: 
103         * gst/base/gstpushsrc.c:
104         * gst/base/gstbasesrc.h: 
105         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
106         
107 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
108
109         * Makefile.am:
110           better report genration target (lcov needs a patch)
111
112 2005-07-05  Andy Wingo  <wingo@pobox.com>
113
114         * gst/elements, testsuite: Null if we got it...
115
116 2005-07-05  Wim Taymans  <wim@fluendo.com>
117
118         * configure.ac:
119         * libs/gst/dataprotocol/Makefile.am:
120         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
121         * libs/gst/dataprotocol/dataprotocol.h:
122         * pkgconfig/Makefile.am:
123         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
124         * pkgconfig/gstreamer-dataprotocol.pc.in:
125         Ported dataprotol to 0.9. 
126         Added pkgconfig files.
127
128 2005-07-05  Andy Wingo  <wingo@pobox.com>
129
130         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
131         Default to returning TRUE for the case when tranform_caps returns
132         a fixed caps, like for identity or volume.
133
134         * check/gst/gstbus.c (pound_bus_with_messages): 
135         * check/gst/gstmessage.c (START_TEST): 
136         * check/pipelines/simple_launch_lines.c (got_handoff): Application
137         message API change.
138
139         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
140         logic weaks here: always run transform_caps, trying passthrough
141         operation only if the original caps intersects with the transform.
142
143         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
144         source and sink caps.
145
146         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
147         Intersect the peer caps with the pad template before going into
148         transform_caps.
149         (gst_base_transform_transform_caps): More debugging.
150
151         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
152         src argument.
153
154 2005-07-04  Edward Hervey  <edward@fluendo.com>
155
156         * gst/gstutils.c:
157         * gst/gstutils.h:
158         (gst_pad_add_*_probe): now returns the signal id for better wrapping
159         in bindings.
160
161 2005-07-04  Andy Wingo  <wingo@pobox.com>
162
163         * check/gst/gstpad.c: Only set explicit caps on pads.
164
165 2005-07-01  Andy Wingo  <wingo@pobox.com>
166
167         * tests/network-clock.scm: Commentary update.
168
169         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
170         Didn't really make sense, not implementable with basetransform,
171         etc.
172         (gst_identity_transform): Unref inbuf via make_writable. Feeble
173         attempt at implementing the sync property, needs an unlock method.
174
175         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
176         New func, by default returns the same caps (the identity
177         transformation).
178         (gst_base_transform_getcaps): Uses transform_caps to return
179         something sensible.
180         (gst_base_transform_setcaps): Complicated logic to get caps on
181         both pads, even if they are different, and to call set_caps once
182         for every time both pads get their caps set.
183         (gst_base_transform_handle_buffer): Give the ref to the transform
184         function. Allows in-place modification of the buffer.
185
186         * gst/base/gstbasetransform.h (transform_caps): New class method.
187         Given caps on one side, what can I do on the other.
188         (set_caps): Take two caps, one for each side of the element.
189
190         * gst/gstpad.h:
191         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
192         caps in place. This is safe because we can check the mutability of
193         the caps, and a good idea because fixate functions are just called
194         as a matter of last resort. (Not actually implemented.)
195         (gst_pad_set_caps): If the caps we're setting is actually the same
196         as the existing pad caps, just update the pointer without calling
197         setcaps. Assert that caps is either NULL or fixed, as per the
198         docs.
199
200         * gst/gstghostpad.c: Update for fixate changes.
201
202 2005-07-02  Andy Wingo  <wingo@pobox.com>
203
204         * gst/gstcaps.c:
205         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
206         two refcounts makes it immutable, which is enough. Doc more.
207
208 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
209
210         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
211           Put the mini_object into GValue as a mini_object,
212           not a gpointer, since that's how we declared
213           the signal.
214
215 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
216
217         * examples/pwg/Makefile.am:
218           Fix buildbot again.
219
220 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
221
222         * docs/pwg/building-testapp.xml:
223           Add extra check.
224         * examples/pwg/Makefile.am:
225           Fix buildbot.
226
227 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
228
229         * configure.ac:
230         * examples/Makefile.am:
231         * examples/pwg/Makefile.am:
232         * examples/pwg/extract.pl:
233           Enable building the PWG examples.
234         * docs/pwg/advanced-interfaces.xml:
235           Add URI interface stub.
236         * docs/pwg/advanced-types.xml:
237         * docs/pwg/other-autoplugger.xml:
238         * docs/pwg/appendix-porting.xml:
239         * docs/pwg/pwg.xml:
240           Add porting guide (mostly stubs), remove autoplugging (see ADM).
241         * docs/pwg/building-boiler.xml:
242         * docs/pwg/building-chainfn.xml:
243         * docs/pwg/building-pads.xml:
244         * docs/pwg/building-props.xml:
245         * docs/pwg/building-state.xml:
246         * docs/pwg/building-testapp.xml:
247           Update the building-*.xml parts for 0.9 changes. All examples
248           code blocks compile in examples/pwg/*.
249
250 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
251
252         * docs/manual/advanced-autoplugging.xml:
253         * docs/manual/appendix-checklist.xml:
254         * docs/manual/appendix-integration.xml:
255         * docs/manual/highlevel-components.xml:
256           Fix playbin/decodebin examples, update docs a bit, mention bus
257           instead of signals in various places, mention kmplayer and
258           kaffeine since they have a working GStreamer backend in the KDE
259           section.
260
261 2005-06-30  Wim Taymans  <wim@fluendo.com>
262
263         * CHANGES-0.9:
264         * docs/design/draft-ghostpads.txt:
265         * docs/design/draft-push-pull.txt:
266         * docs/design/draft-query.txt:
267         * docs/design/part-TODO.txt:
268         * docs/design/part-query.txt:
269         Added CHANGES-0.9 doc, updated status of other docs.
270         
271         * gst/gstquery.h:
272         Remove "hmm" macro
273
274 2005-06-30  Wim Taymans  <wim@fluendo.com>
275
276         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
277         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
278         (gst_base_sink_change_state):
279         * gst/base/gstbasesink.h:
280         Some tweaks, only EOS and a buffer complete a preroll.
281
282 2005-06-30  Andy Wingo  <wingo@pobox.com>
283
284         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
285         activate_push down to the internal pad as well.
286
287 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
288
289         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
290
291         * gst/gsttaginterface.c:
292           Some documentation fixes (#307394 and #307397).
293
294 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
295
296         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
297
298         * gst/gstvalue.c: (gst_value_intersect_list):
299           Fix memleak (#309125).
300
301 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
302
303         * docs/manual/advanced-dataaccess.xml:
304           Fix fakesrc example to compile; doesn't work, bug somewhere...?
305         * docs/manual/basics-pads.xml:
306           Add reference for filtered caps to above chapter.
307
308 2005-06-30  Wim Taymans  <wim@fluendo.com>
309
310         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
311         (gst_bin_change_state):
312         Probes are gone.
313         Lame attempt at making the state change function a bit
314         more readable.
315
316 2005-06-30  Wim Taymans  <wim@fluendo.com>
317
318         * docs/design/part-clocks.txt:
319         * docs/design/part-element-sink.txt:
320         * docs/design/part-events.txt:
321         * docs/design/part-preroll.txt:
322         * docs/design/part-states.txt:
323         Some more tweeks and additions to the docs.
324
325 2005-06-30  Wim Taymans  <wim@fluendo.com>
326
327         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
328         (default_have_data), (gst_pad_class_init), (gst_pad_init),
329         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
330         (gst_pad_check_pull_range), (gst_pad_get_range),
331         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
332         * gst/gstpad.h:
333         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
334         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
335         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
336         (gst_pad_remove_buffer_probe):
337         Removed atomic operations, use existing LOCK.
338         Move exception handling out of main code path.
339
340 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
341
342         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
343         (silly_return_true_function), (gst_pad_class_init),
344         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
345         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
346         (gst_pad_send_event):
347           Fix accumulator, add default value by using _emitv() instead
348           of _emit() for signal emission.
349
350 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
351
352         * docs/manual/advanced-dataaccess.xml:
353         * examples/manual/Makefile.am:
354           Add probe example.
355         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
356           Make work (??).
357
358 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
359
360         * gst/elements/gstfilesink.c: (gst_filesink_render):
361           Simplify code so that we don't have to handle short
362           writes and return GST_FLOW_ERROR if an error occured.
363
364 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
365
366         * docs/gst/gstreamer-docs.sgml:
367           Remove probes more.
368
369 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
370
371         * docs/gst/gstreamer-sections.txt:
372         * docs/gst/tmpl/gstpad.sgml:
373         * docs/gst/tmpl/gstprobe.sgml:
374         * gst/Makefile.am:
375         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
376         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
377         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
378         (gst_pad_push_event), (gst_pad_send_event):
379         * gst/gstpad.h:
380         * gst/gstutils.c: (gst_pad_add_data_probe),
381         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
382         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
383         (gst_pad_remove_buffer_probe):
384         * gst/gstutils.h:
385           Remove old probes, add new g-signal-based probes and some utility
386           functions.
387
388 2005-06-29  Edward Hervey  <edward@fluendo.com>
389
390         * gst/gstelementfactory.c:
391         * gst/gstutils.h:
392         * gst/gstutils.c:
393         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
394         the definition to the header file.
395
396 2005-06-29  Andy Wingo  <wingo@pobox.com>
397
398         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
399         plugins from the source directory.
400
401 2005-06-29  Wim Taymans  <wim@fluendo.com>
402
403         * docs/gst/tmpl/gstbuffer.sgml:
404         * docs/gst/tmpl/gstclock.sgml:
405         Some fixings for blantently wrong text.
406
407 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
408
409         * check/Makefile.am:
410         * gst/gst.c: (add_path_func), (init_pre):
411         * gst/gstregistry.c: (gst_registry_add_path):
412           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
413           only scan the GST_PLUGIN_PATH locations, and not add
414           system locations
415
416 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
417
418         * docs/gst/gstreamer-sections.txt:
419         * docs/gst/tmpl/gstbasesrc.sgml:
420         * gst/gstelement.c:
421         * gst/gstelement.h:
422         * gst/gstevent.c:
423         * gst/gstutils.c:
424           doc fixes
425
426 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
427
428         * docs/manual/advanced-autoplugging.xml:
429           Fix autoplugging example.
430
431 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
432
433         * docs/manual/advanced-autoplugging.xml:
434         * docs/manual/mime-world.fig:
435           Try to get autoplugging working, fix type detection. Fix text
436           in hello-world image.
437
438 2005-06-29  Wim Taymans  <wim@fluendo.com>
439
440         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
441         (gst_base_sink_change_state):
442         Small debug line.
443
444         * gst/gstclock.h:
445         map SIGNAL and BROADCAST to the right function.
446
447         * gst/gstobject.h:
448         Remove redundant braces.
449
450         * gst/gstpad.c: (gst_pad_set_caps):
451         Don't call setcaps function when reseting caps to NULL.
452
453         * gst/gstsystemclock.c: (gst_system_clock_dispose),
454         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
455         (gst_system_clock_id_unschedule):
456         Use BROADCAST as this is what we do.
457
458 2005-06-29  Wim Taymans  <wim@fluendo.com>
459
460         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
461         We are actually prerolling before commiting the state
462         change. 
463
464 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
465
466         * docs/manual/advanced-clocks.xml:
467         * docs/manual/advanced-interfaces.xml:
468         * docs/manual/advanced-metadata.xml:
469         * docs/manual/advanced-position.xml:
470         * docs/manual/advanced-schedulers.xml:
471         * docs/manual/advanced-threads.xml:
472         * docs/manual/appendix-porting.xml:
473         * docs/manual/basics-bins.xml:
474         * docs/manual/basics-bus.xml:
475         * docs/manual/basics-elements.xml:
476         * docs/manual/basics-helloworld.xml:
477         * docs/manual/basics-pads.xml:
478         * docs/manual/highlevel-components.xml:
479         * docs/manual/manual.xml:
480         * docs/manual/thread.fig:
481           Update (until threads/scheduling) Application Development Manual;
482           remove GstThread, add GstBus, add simple porting checklist, add
483           documentation for tag writing, clocks, make all examples until this
484           part compile and run.
485         * examples/manual/Makefile.am:
486           Update from changes to Application Development Manual; add bus
487           example, remove thread example.
488
489 2005-06-28  Wim Taymans  <wim@fluendo.com>
490
491         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
492         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
493         (gst_bus_source_dispatch):
494         Add debugging messages.
495         Make internal methods static.
496         Handle the case where the bus is flushed in the handler.
497         
498         * gst/gstelement.c: (gst_element_get_bus):
499         Fix refcount in _get_bus();
500
501         * gst/gstpipeline.c: (gst_pipeline_change_state),
502         (gst_pipeline_get_clock_func):
503         Clock refcounting fixes.
504         Handle the case where preroll timed out more gracefully.
505         
506         * gst/gstsystemclock.c: (gst_system_clock_dispose):
507         Clean up the internal thread in dispose. This is needed
508         for subclasses that actually get disposed.
509         
510         * gst/schedulers/threadscheduler.c:
511         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
512         (gst_thread_scheduler_dispose):
513         Free thread pool in dispose.
514
515 2005-06-28  Andy Wingo  <wingo@pobox.com>
516
517         * tests/network-clock-utils.scm (debug, print-event): New utils.
518
519         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
520         (*packet-loss*): Unified loss probability.
521         (network-time): Report out-of-band events.
522
523         * tests/plot-data: Add support for out-of-band events. Hack it
524         into this script instead of passing it down the pipe; should fix
525         this later.
526
527 2005-06-28  Wim Taymans  <wim@fluendo.com>
528
529         * docs/gst/gstreamer.types:
530         * docs/gst/tmpl/gstbasesrc.sgml:
531         * docs/gst/tmpl/gstpad.sgml:
532         Docs fixes.
533
534 2005-06-28  Wim Taymans  <wim@fluendo.com>
535
536         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
537         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
538         (gst_proxy_pad_do_fixatecaps):
539         Correctly proxy the check_pull_range function.
540
541 2005-06-28  Andy Wingo  <wingo@pobox.com>
542
543         * tests/network-clock.scm: Removed need for slib.
544         
545 2005-06-28  Wim Taymans  <wim@fluendo.com>
546
547         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
548         (gst_basesink_preroll_queue_flush):
549         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
550         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
551         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
552         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
553         (gst_proxy_pad_set_property):
554         * gst/gstpad.c:
555         * gst/gstpad.h:
556         * gst/gstqueue.c: (gst_queue_init):
557         The deprecated pad loop function is removed now.
558
559 2005-06-28  Andy Wingo  <wingo@pobox.com>
560
561         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
562         New parameters, simulate network packet loss.
563
564         * tests/network-clock-utils.scm: Initialize the RNG.
565
566 2005-06-28  Wim Taymans  <wim@fluendo.com>
567
568         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
569         (gst_basesink_event), (gst_basesink_deactivate):
570         Flushing the preroll queue always needs to unlock the waiters.
571
572 2005-06-28  Edward Hervey  <edward@fluendo.com>
573
574         * gst/gstpipeline.c: (gst_pipeline_send_event): 
575         Wheen a seek was successful on a pipeline, set the stream_time to the
576         seek offset in order to have a synchronized stream_time.
577
578 2005-06-28  Wim Taymans  <wim@fluendo.com>
579
580         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
581         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
582         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
583         (gst_proxy_pad_do_fixatecaps):
584         Call wrapper function instead of just calling the function
585         pointers. This takes care of any locking and whatmore.
586
587 2005-06-28  Wim Taymans  <wim@fluendo.com>
588
589         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
590         (gst_pad_pull_range):
591         * gst/gstpad.h:
592         CONNECTED -> LINKED.
593
594 2005-06-28  Andy Wingo  <wingo@pobox.com>
595
596         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
597         source-munging commit!!!
598
599         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
600         (gst_object_sink): Take gpointer arguments, not GstObject --
601         avoids casts. Like GLib.
602
603         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
604         activate.
605
606 2005-06-27  Andy Wingo  <wingo@pobox.com>
607
608         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
609         remaining buffer.
610
611         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
612         returns a sorted copy of the trace list.
613         (gst_alloc_trace_print_live): New API, only prints traces with
614         live objects. Sort the list.
615         (gst_alloc_trace_print_all): Sort the list.
616         (gst_alloc_trace_print): Align columns.
617
618         * gst/elements/gstttypefindelement.c:
619         * gst/elements/gsttee.c:
620         * gst/base/gstbasesrc.c:
621         * gst/base/gstbasesink.c:
622         * gst/base/gstbasetransform.c:
623         * gst/gstqueue.c: Adapt for pad activation changes.
624
625         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
626         sched.
627         (gst_pipeline_dispose): Drop ref on sched.
628
629         * gst/gstpad.c (gst_pad_init): Set the default activate func.
630         (gst_pad_activate_default): Push mode by default.
631         (pre_activate_switch, post_activate_switch): New stubs, things to
632         do before and after switching activation modes on pads.
633         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
634         the pad's activate function to choose which mode to activate.
635         Shortcut on deactivation and call the right function directly.
636         (gst_pad_activate_pull): New API, (de)activates a pad in pull
637         mode.
638         (gst_pad_activate_push): New API, same for push mode.
639         (gst_pad_set_activate_function) 
640         (gst_pad_set_activatepull_function) 
641         (gst_pad_set_activatepush_function): Setters for new API.
642
643         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
644         Trace all miniobjects.
645         (gst_mini_object_make_writable): Unref the arg if we copy, like
646         gst_caps_make_writable.
647
648         * gst/gstmessage.c (_gst_message_initialize): No trace init.
649
650         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
651         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
652         Adapt for new pad API.
653
654         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
655
656         * gst/gstelement.h:
657         * gst/gstelement.c (gst_element_iterate_src_pads) 
658         (gst_element_iterate_sink_pads): New API functions.
659         
660         * gst/gstelement.c (iterator_fold_with_resync): New utility,
661         should fold into gstiterator.c in some form.
662         (gst_element_pads_activate): Simplified via use of fold and
663         delegation of decisions to gstpad->activate.
664
665         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
666         help in debugging.
667
668         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
669         class once in init, like gstmessage. Didn't run into this issue
670         but it seems correct. Don't initialize a trace, gstminiobject does
671         that.
672
673         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
674         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
675         to the bus.
676         (assert_live_count): New util function, uses alloc traces to check
677         cleanup.
678
679         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
680         To be modified when unlink drops the internal pad.
681
682 2005-06-27  Wim Taymans  <wim@fluendo.com>
683
684         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
685         (gst_bin_change_state):
686         Cleanup the get_state() function a little, make sure it
687         iterates the same set of elements.
688         Added stub iterate_state_order().
689
690 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
691
692         * docs/gst/gstreamer-docs.sgml:
693         * docs/gst/gstreamer-sections.txt:
694         * docs/gst/gstreamer.types:
695         * docs/gst/tmpl/gstbasesink.sgml:
696         * docs/gst/tmpl/gstbasesrc.sgml:
697         * docs/gst/tmpl/gstbasetransform.sgml:
698         * docs/gst/tmpl/gstelement.sgml:
699         * docs/gst/tmpl/gstiterator.sgml:
700         * gst/base/gstbasesrc.c:
701         * gst/base/gstbasesrc.h:
702         * gst/base/gstbasetransform.h:
703         * gst/gstelement.c:
704         * gst/gstiterator.h:
705           adding basetransform and iterator docs
706
707 2005-06-27  Andy Wingo  <wingo@pobox.com>
708
709         * docs/design/part-activation.txt: Notes on how activation should
710         work -- not quite implemented yet.
711
712 2005-06-25  Wim Taymans  <wim@fluendo.com>
713
714         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
715         At least get the chain function correct, needs more
716         fixing.
717
718 2005-06-25  Wim Taymans  <wim@fluendo.com>
719
720         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
721         (gst_basesink_handle_object), (gst_basesink_event),
722         (gst_basesink_do_sync), (gst_basesink_handle_event),
723         (gst_basesink_change_state):
724         * gst/gsttask.h:
725         Right, two problems here: ghostpads don't take locks and
726         glib _rec_mutex_lock_full() with depth==0 still locks.
727         Catch illegal locking and g_warn them.
728
729 2005-06-25  Wim Taymans  <wim@fluendo.com>
730
731         * check/states/sinks.c: (START_TEST), (gst_object_suite):
732         Have to check for completion now...
733
734 2005-06-25  Wim Taymans  <wim@fluendo.com>
735
736         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
737         (gst_basesink_handle_object), (gst_basesink_event),
738         (gst_basesink_do_sync), (gst_basesink_handle_event),
739         (gst_basesink_change_state):
740         * gst/gstpad.h:
741         Unlock STREAM_LOCK whatever the recursion was.
742
743 2005-06-25  Wim Taymans  <wim@fluendo.com>
744
745         * gst/base/gstbasesink.c: (gst_basesink_set_property),
746         (gst_basesink_preroll_queue_empty),
747         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
748         (gst_basesink_event), (gst_basesink_do_sync),
749         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
750         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
751         (gst_basesink_change_state):
752         Reworked the base sink, handle event and buffer serialisation
753         correctly and removed possible deadlock.
754         Handle EOS correctly.
755
756 2005-06-25  Wim Taymans  <wim@fluendo.com>
757
758         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
759         (gst_pipeline_change_state):
760         * tools/gst-launch.c: (check_intr), (event_loop), (main):
761         Allow elements to post EOS in the state change function.
762         Fix up -launch, make it exit the poll loop when the
763         pipeline actually changed state.
764         Fix up warning parsing in -launch.
765
766 2005-06-25  Wim Taymans  <wim@fluendo.com>
767
768         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
769         (gst_tee_sink_activate):
770         Core takes STREAM_LOCK for us now.
771
772 2005-06-25  Wim Taymans  <wim@fluendo.com>
773
774         * gst/gstelement.c: (gst_element_get_state_func),
775         (gst_element_set_state):
776         * gst/gstelement.h:
777         * gst/gstmessage.c: (gst_message_parse_error),
778         (gst_message_parse_warning):
779         Keep track of current target state while performing a state
780         change so that subclasses can do something interesting.
781         Fix parsing of warning/error messages when GError is NULL.
782
783 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
784
785         * docs/gst/Makefile.am:
786         * docs/gst/gstreamer-docs.sgml:
787         * docs/gst/gstreamer-sections.txt:
788         * docs/gst/gstreamer.types:
789         * docs/gst/tmpl/gstbasesink.sgml:
790         * docs/gst/tmpl/gstbasesrc.sgml:
791         * docs/gst/tmpl/gstbin.sgml:
792         * docs/gst/tmpl/gstcompat.sgml:
793         * docs/gst/tmpl/gstfakesink.sgml:
794         * docs/gst/tmpl/gstfakesrc.sgml:
795         * docs/gst/tmpl/gstfilesink.sgml:
796         * docs/gst/tmpl/gstfilesrc.sgml:
797         * docs/gst/tmpl/gstindex.sgml:
798         * docs/manual/appendix-quotes.xml:
799         * gst/base/gstbasesrc.h:
800         * gst/elements/gstfakesrc.h:
801         * gst/gstmessage.h:
802           start pulling in base classes and elements in our docs
803
804 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
805
806         * docs/gst/Makefile.am:
807         * docs/libs/Makefile.am:
808           fixed make distcheck with gtk-doc 1.3
809
810 2005-06-23  Wim Taymans  <wim@fluendo.com>
811
812         * gst/gstelement.c: (gst_element_get_state_func),
813         (gst_element_set_state), (gst_element_change_state):
814         When the state did not change, also report NO_PREROLL
815         when it matters.
816
817 2005-06-23  Wim Taymans  <wim@fluendo.com>
818
819         * gst/gstpad.c: (gst_pad_event_default):
820         * gst/gstqueue.c: (gst_queue_loop):
821         No unsafe task pausing please.
822
823 2005-06-23  Wim Taymans  <wim@fluendo.com>
824
825         * gst/schedulers/threadscheduler.c:
826         (gst_thread_scheduler_task_start),
827         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
828         Ref the task before pushing it on the threadpool. This
829         makes sure that we have a ref when the threadfunction is
830         actually called.
831
832 2005-06-23  Andy Wingo  <wingo@pobox.com>
833
834         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
835         offset is greater than the file's size.
836
837         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
838         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
839         * gst/gstobject.c (gst_object_class_init): Make the class lock
840         recursive. Wim won't let me drop deep_notify. Decodebin works
841         again, whoopdy doo.
842
843         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
844         internal pad, and hacks accordingly. Doesn't do it on the target
845         pad because we change its caps. Probably catches all cases of
846         interest tho.
847         (gst_ghost_pad_set_property): Connect to notify::caps as
848         appropritate.
849
850         * tests/network-clock.scm (plot-simulation): Pipe data to the
851         elite python skript.
852
853         * tests/network-clock-utils.scm (define-parameter): New macro,
854         defines a parameter that can be set via the command line.
855         (set-parameter!, parse-parameter-arguments): Command line args
856         parser.
857
858         * tests/plot-data: Simple matplotlib-based plotter, takes input on
859         stdin.
860
861 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
862
863         * gst/elements/gsttypefindelement.c:
864         (gst_type_find_element_handle_event):
865           Don't restart typefinding on a discont.
866         * gst/gstelement.c: (gst_element_set_state):
867           Debug spelling fix.
868         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
869           Allow changing mode of an active pad.
870           Debug output fixes.
871         * gst/registries/gstlibxmlregistry.c: (load_feature):
872           Don't cast a static pad template to a normal pad template.
873
874 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
875
876         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
877         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
878           remove gst_strtoll completely, since it didn't actually do
879           anything more than what g_ascii_strtoull already does.
880           check for range errors when deserializing
881           do a cast for the unsigned cases; but further fixing needs
882           a decision on what the interpretation of "(int)" and
883           deserialization should be for values that fall outside the
884           type's boundaries (ie, refuse, or interpret as casting)
885
886 2005-06-23  Wim Taymans  <wim@fluendo.com>
887
888         * check/Makefile.am:
889         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
890         * docs/design/part-live-source.txt:
891         * docs/design/part-states.txt:
892         * gst/base/gstbasesrc.c: (gst_basesrc_init),
893         (gst_basesrc_set_live), (gst_basesrc_is_live),
894         (gst_basesrc_get_range), (gst_basesrc_activate),
895         (gst_basesrc_change_state):
896         * gst/base/gstbasesrc.h:
897         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
898         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
899         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
900         * gst/gstelement.c: (gst_element_get_state_func),
901         (gst_element_set_state):
902         * gst/gstelement.h:
903         * gst/gsttypes.h:
904         * tools/gst-launch.c: (event_loop), (main):
905         Added support for live sources and other elements that
906         cannot do preroll.
907         Updated design docs, added live-source design doc.
908         Implemented live source functionality in basesrc
909         Fix error condition in _bin_get_state()
910         Implement live source handling in -launch.
911         Added check for live sources.
912         Fixed case in GstBin where elements were changed state
913         multiple times.
914
915
916 2005-06-23  Andy Wingo  <wingo@pobox.com>
917
918         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
919         borken refcounting.
920
921         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
922         gst_caps_replace takes care of this for us.
923
924         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
925         gst_pad_set_caps on the target, not just its setcaps() function.
926
927         * tests/network-clock.scm: 
928         * tests/network-clock-utils.scm: A network clock simulator.
929         Something of an algorithmic testbed before doing something in C.
930
931 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
932
933         * check/Makefile.am:
934         * check/gst/capslist.h:
935           copy over from 0.8, and add two with bitmasks specified with
936           (int) 0xFF...
937         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
938           add test to parse everything from capslist.h
939         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
940         (main):
941           add test for structure deserialization
942         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
943           add tests for deserialization of strings to int types
944         * gst/gststructure.c: (gst_structure_nth_field_name):
945         * gst/gststructure.h:
946           add a way to get the name of a field referenced by index
947         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
948           instead of checking if the resulting long long lies between
949           min and max, we check if the long long would fit into
950           a number of bytes for the final type.
951           This fixes cases where a string represents 2^32 - 1, which
952           when cast to int would be the (valid) -1, but is bigger than
953           G_MAXINT
954
955 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
956
957         * gst/parse/grammar.y:
958           add a log line for type deserialization
959
960 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
961
962         * check/gst/gstvalue.c: (START_TEST):
963         * gst/gstvalue.c: (gst_value_deserialize):
964           return long long, not int, so gint64 deserialization actually
965           works.  Is there any flag that makes the compiler check this ?
966           Fixes #308559
967
968 2005-06-22  Wim Taymans  <wim@fluendo.com>
969
970         * gst/gstbuffer.h:
971         Added convenience macros for setting buffers in GValue.
972
973 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
974
975         * check/gst/.cvsignore:
976         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
977           add a test deserializing int64, and comment part out because
978           it fails, yay !
979
980 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
981
982         * check/Makefile.am:
983         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
984         * testsuite/Makefile.am:
985         * testsuite/caps/Makefile.am:
986         * testsuite/caps/value_serialize.c:
987         * testsuite/test_gst_init.c:
988           move a value_serialize test over
989
990 2005-06-20  Wim Taymans  <wim@fluendo.com>
991
992         * gst/gstpad.c:
993         Small doc updates.
994         
995         * gst/gstvalue.c: (gst_value_compare_buffer),
996         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
997         (gst_value_compare_flags), (gst_value_serialize_flags),
998         (gst_value_deserialize_flags), (_gst_value_initialize):
999         Fix serialisation of buffers, they are not boxed types anymore
1000
1001 2005-06-20  Wim Taymans  <wim@fluendo.com>
1002
1003         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1004         Testcase to show error in buffer-on-caps serialisation.
1005
1006 2005-06-20  Andy Wingo  <wingo@pobox.com>
1007
1008         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
1009         will be adding to later.
1010
1011         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
1012         if its socks fill with rocks.
1013         (gst_system_clock_obtain): Set the name on object construction.
1014         Avoid double-checked locking.
1015
1016 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
1017
1018         * gst/gsturi.c: (gst_element_make_from_uri):
1019           Fix potential endless loop.
1020
1021 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1022
1023         * check/Makefile.am:
1024           add gsttag
1025         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
1026         (main):
1027           move over from testsuite dir and clean up
1028         * configure.ac:
1029         * gst/gsttag.c:
1030         * testsuite/Makefile.am:
1031         * testsuite/tags/.cvsignore:
1032         * testsuite/tags/Makefile.am:
1033         * testsuite/tags/merge.c:
1034           remove testsuite/tags
1035
1036 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1037
1038         * docs/gst/gstreamer-sections.txt:
1039         * docs/gst/tmpl/gstenumtypes.sgml:
1040         * win32/gstenumtypes.c:
1041           clean up documentation build a little
1042
1043 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1044
1045         * check/gstcheck.h:
1046           add macros for checking refcounts on objects and caps
1047         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
1048           add some more unit tests
1049         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1050         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
1051           fix leaked refcounts (I hope :)) so unittest works
1052         * gst/gstpad.h:
1053           whitespace removal
1054
1055 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1056
1057         * configure.ac: back to HEAD
1058
1059 === release 0.9.1 ===
1060
1061 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1062
1063         * NEWS:
1064         * RELEASE:
1065           updated
1066
1067 2005-06-17  Andy Wingo  <wingo@pobox.com>
1068
1069         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
1070         assert; it's always possible that the pad gets deactivated in
1071         between the checks in gstpad.c and the implementation. Rely on
1072         finish_preroll() to return a FLUSHING or similar instead of on the
1073         assert.
1074         
1075         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
1076         clock and post an EOS message if we come out of finish_preroll in
1077         the playing state.
1078
1079 2005-06-16  David Schleef  <ds@schleef.org>
1080
1081         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1082         (gst_capsfilter_set_property): Allow NULL as possible value
1083         for filter_caps property, indicating GST_CAPS_ANY.
1084
1085 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1086
1087         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
1088           fix debug output
1089         * gst/schedulers/Makefile.am:
1090           use libgst prefix
1091         * gstreamer.spec.in:
1092           fix spec for it
1093
1094 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1095
1096         * gstreamer.spec.in:
1097           clean up
1098
1099 2005-06-08  Andy Wingo  <wingo@pobox.com>
1100
1101         * gst/gstutils.c: RPAD fixes all around.
1102         (gst_element_link_pads): Refcounting fixes.
1103
1104         * tools/gst-inspect.c:
1105         * tools/gst-xmlinspect.c:
1106         * parse/grammar.y:
1107         * gst/base/gsttypefindhelper.c:
1108         * gst/base/gstbasesink.c:
1109         * gst/gstqueue.c: RPAD fixes.
1110
1111         * gst/gstghostpad.h:
1112         * gst/gstghostpad.c: New ghost pad implementation as full proxy
1113         pads. The tricky thing is they provide both source and sink
1114         interfaces, since they proxy the internal pad for the external
1115         pad, and vice versa. Implement with lower-level ProxyPad objects,
1116         with the interior proxy pad as a child of the exterior ghost pad.
1117         Should write a doc on this.
1118         
1119         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
1120         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
1121         gst_object API.
1122         
1123         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
1124         pads are real pads. No ghost pads in this file. Not documenting
1125         the myriad s/RPAD/PAD/ and REALIZE fixes.
1126         (gst_pad_class_init): Add properties for "direction" and
1127         "template". Both are construct-only, so they can't change during
1128         the life of the pad. Fixes properly deriving from GstPad.
1129         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
1130         derived objects, just set properties when creating the objects via
1131         g_object_new.
1132         (gst_pad_get_parent): Implement as a function, return NULL if the
1133         parent is not an element.
1134         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
1135         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
1136         
1137         * gst/gstobject.c (gst_object_class_init): Make name a construct
1138         property. Don't set it in the object init.
1139
1140         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
1141         with UNKNOWN direction.
1142         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
1143         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
1144         (gst_element_remove_pad): Remove ghost-pad special cases.
1145         (gst_element_pads_activate): Remove rpad cruft.
1146
1147         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
1148         catch the pad's-parent-not-an-element case.
1149
1150         * gst/gst.h: Include gstghostpad.h.
1151
1152         * gst/gst.c (init_post): No more real, ghost pads.
1153
1154         * gst/Makefile.am: Add gstghostpad.[ch].
1155
1156         * check/Makefile.am:
1157         * check/gst/gstbin.c:
1158         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
1159         into a bin creates ghost pads, and that the refcounts are right.
1160         Partly moved from gstbin.c.
1161
1162 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1163
1164         * check/gst-libs/.cvsignore:
1165         * check/gst/.cvsignore:
1166         * check/pipelines/.cvsignore:
1167           ignore more
1168         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
1169         (START_TEST), (cleanup_suite), (main):
1170           add some tests related to cleanup after running pipelines
1171
1172 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1173
1174         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
1175           add a testsuite for GstBuffer
1176
1177 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1178
1179         * gst/gstminiobject.h:
1180           add defines for accessing the refcount
1181
1182 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
1183
1184         * Makefile.am: added support for html unit test coverage reports
1185
1186 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
1187
1188         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
1189           Free existing caps if the capsfilter changes. Add a FIXME about
1190           setting those caps on the pads.
1191
1192         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
1193           Before adding a ghost pad to a parent bin, check that there isn't
1194           already one for the element on the bin. Prevents infinite recursion
1195           when using decodebin in parse pipelines. Andy says he'll rewrite the
1196           way this works anyway, so ignore the hack.
1197
1198 2005-06-02  Andy Wingo  <wingo@pobox.com>
1199
1200         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
1201         file size, pass it on to the type find helper.
1202
1203         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
1204         segment_start and segment_end properly according to the seek
1205         method. Segment_end is still a bit flaky because offset can be
1206         negative for CUR and END cases, but it takes -1 as an "unset"
1207         value.
1208
1209 2005-06-02  Wim Taymans  <wim@fluendo.com>
1210
1211         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
1212         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
1213         (gst_basesink_activate):
1214         * gst/base/gstbasesink.h:
1215         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
1216         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
1217         (gst_pad_query), (gst_pad_start_task):
1218         * gst/gstpad.h:
1219         * gst/gstqueue.c: (gst_queue_bufferalloc),
1220         (gst_queue_handle_sink_event), (gst_queue_chain):
1221         Bufferalloc: return GstFlowReturn to more accuratly report
1222         why allocation failed.
1223
1224 2005-06-02  Wim Taymans  <wim@fluendo.com>
1225
1226         * gst/gstpipeline.c: (gst_pipeline_send_event):
1227         Take snapshot of state without blocking.
1228
1229 2005-06-02  Wim Taymans  <wim@fluendo.com>
1230
1231         * docs/design/part-TODO.txt:
1232         * docs/design/part-caps.txt:
1233         * docs/design/part-clocks.txt:
1234         * docs/design/part-negotiation.txt:
1235         * docs/design/part-preroll.txt:
1236         Small doc updates 
1237
1238 2005-05-30  Wim Taymans  <wim@fluendo.com>
1239
1240         * gst/elements/gstidentity.c: (gst_identity_event),
1241         (gst_identity_transform), (gst_identity_get_property):
1242         Protect last_message property as it is accessed from
1243         multiple threads.
1244
1245 2005-05-30  Wim Taymans  <wim@fluendo.com>
1246
1247         * gst/gstelement.c: (gst_element_init),
1248         (gst_element_pads_activate), (gst_element_change_state):
1249         Slicker pad activation code.
1250
1251 2005-05-30  Wim Taymans  <wim@fluendo.com>
1252
1253         * gst/Makefile.am:
1254         * gst/gstelement.h:
1255         * gst/gstelementfactory.h:
1256         * gst/gsttypes.h:
1257         Move elementfactory methods to separate .h file.
1258
1259 2005-05-30  Wim Taymans  <wim@fluendo.com>
1260
1261         * docs/design/part-overview.txt:
1262         * gst/gstsystemclock.h:
1263         Small typo fixes, doc updates.
1264
1265 2005-05-30  Wim Taymans  <wim@fluendo.com>
1266
1267         * gst/gst.c: (gst_init_get_popt_table), (init_post),
1268         (init_popt_callback):
1269         Remove cpu-opt flag.
1270
1271 2005-05-30  Wim Taymans  <wim@fluendo.com>
1272
1273         * gst/gstbuffer.c: (gst_subbuffer_finalize),
1274         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
1275         * gst/gstbuffer.h:
1276         Avoid typechecking in places where not needed.
1277         Added accessor for malloc_data.
1278
1279 2005-05-30  Wim Taymans  <wim@fluendo.com>
1280
1281         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
1282         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
1283         (gst_pad_configure_sink), (gst_pad_configure_src),
1284         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
1285         (gst_pad_start_task):
1286         Propagate errors from _set_caps() in configure_src/sink
1287         functions instead of returning TRUE.
1288         FLUSH events can travel up and downstream
1289
1290
1291 2005-05-30  Wim Taymans  <wim@fluendo.com>
1292
1293         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
1294         (gst_basesink_activate):
1295         Handle EOS in preroll.
1296
1297 2005-05-30  Wim Taymans  <wim@fluendo.com>
1298
1299         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1300         (gst_queue_loop), (gst_queue_handle_src_event):
1301         Remove old pieces of code
1302         Flushing the queue in an upstream event is a very bad idea.
1303
1304 2005-05-26  Andy Wingo  <wingo@pobox.com>
1305
1306         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
1307         gst_value_set_mini_object so as to add a ref on the object (which
1308         will be removed when the value is unset).
1309
1310         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
1311         arg type in ::handoff.
1312
1313         * gst/gstelement.c (gst_element_change_state): Also deactivate
1314         pads in READY->NULL, just in case the element didn't make it to
1315         PAUSED. Wingo tested, Wim approved.
1316
1317 2005-05-26  Wim Taymans  <wim@fluendo.com>
1318
1319         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
1320         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
1321         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
1322         A flushing pad cannot be used to alloc_buffer from.
1323
1324 2005-05-26  Wim Taymans  <wim@fluendo.com>
1325
1326         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
1327         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
1328         (gst_bus_source_dispatch), (gst_bus_source_finalize),
1329         (gst_bus_create_watch), (gst_bus_add_watch_full):
1330         * gst/gstbus.h:
1331         Implement a real GSource and use g_main_context_wakeup() to
1332         signal new messages instead of the socketpair.
1333
1334 2005-05-25  Wim Taymans  <wim@fluendo.com>
1335
1336         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
1337         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
1338         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
1339         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
1340         (gst_pad_send_event), (gst_pad_start_task):
1341         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
1342         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1343         (gst_queue_sink_activate), (gst_queue_src_activate),
1344         (gst_queue_change_state):
1345         * gst/gstqueue.h:
1346         Fix state changes for non sinks. We now change sinks, then elements
1347         with unconnected srcpads, then the rest.
1348         More efficient queue unlocking in flush and state changes.
1349         Set the pad activate mode even if it does not have an activate
1350         function.
1351
1352 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1353
1354         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
1355           Don't go in pull mode for non-seekable sources.
1356         * gst/elements/gsttypefindelement.h:
1357         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1358         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
1359         (free_entry), (stop_typefinding),
1360         (gst_type_find_element_handle_event), (find_peek),
1361         (gst_type_find_element_chain), (do_pull_typefind),
1362         (gst_type_find_element_change_state):
1363           Allow typefinding (w/o seeking) in push-mode, simplified version
1364           of what was in 0.8.
1365         * gst/gstutils.c: (gst_buffer_join):
1366         * gst/gstutils.h:
1367           gst_buffer_join() from 0.8.
1368
1369 2005-05-25  Wim Taymans  <wim@fluendo.com>
1370
1371         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
1372         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
1373         (gst_pad_send_event), (gst_pad_start_task):
1374         Disable attempt at mode switching until it is figured out.
1375
1376 2005-05-25  Wim Taymans  <wim@fluendo.com>
1377
1378         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
1379         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
1380         (gst_basesink_finish_preroll), (gst_basesink_chain),
1381         (gst_basesink_loop), (gst_basesink_activate),
1382         (gst_basesink_change_state):
1383         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
1384         (gst_basesrc_get_range), (gst_basesrc_loop),
1385         (gst_basesrc_activate):
1386         * gst/elements/gsttee.c: (gst_tee_sink_activate):
1387         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
1388         (gst_real_pad_init), (gst_real_pad_set_property),
1389         (gst_real_pad_get_property), (gst_pad_set_active),
1390         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
1391         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
1392         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
1393         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
1394         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1395         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
1396         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
1397         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1398         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
1399         (gst_pad_stop_task):
1400         * gst/gstpad.h:
1401         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1402         (gst_queue_loop), (gst_queue_src_activate):
1403         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
1404         (gst_task_get_state):
1405         * gst/gsttask.h:
1406         * gst/schedulers/threadscheduler.c:
1407         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
1408         Implement gst_pad_pause/start/stop_task(), take STREAM lock
1409         in task function.
1410         Remove ACTIVE pad flag, use FLUSHING everywhere
1411         Added _pad_chain(), _pad_get_range() to call chain/getrange 
1412         functions.
1413         Add locks around IS_FLUSHING when reading.
1414         Take STREAM lock in chain(), get_range() functions so plugins
1415         don't need to take it anymore.
1416         
1417
1418
1419 2005-05-25  Wim Taymans  <wim@fluendo.com>
1420
1421         * tools/gst-launch.c: (event_loop):
1422         Unref message after using its contents instead of
1423         before.
1424
1425 2005-05-24  Wim Taymans  <wim@fluendo.com>
1426
1427         * docs/design/draft-ghostpads.txt:
1428         * docs/design/draft-push-pull.txt:
1429         * docs/design/draft-query.txt:
1430         * docs/design/part-overview.txt:
1431         Docs updates, added general overview doc.
1432
1433 2005-05-21  David Schleef  <ds@schleef.org>
1434
1435         * docs/gst/tmpl/old/GstBin.sgml:
1436         * docs/gst/tmpl/old/GstBuffer.sgml:
1437         * docs/gst/tmpl/old/GstCaps.sgml:
1438         * docs/gst/tmpl/old/GstClock.sgml:
1439         * docs/gst/tmpl/old/GstCompat.sgml:
1440         * docs/gst/tmpl/old/GstData.sgml:
1441         * docs/gst/tmpl/old/GstElement.sgml:
1442         * docs/gst/tmpl/old/GstEvent.sgml:
1443         * docs/gst/tmpl/old/GstIndex.sgml:
1444         * docs/gst/tmpl/old/GstStructure.sgml:
1445         * docs/gst/tmpl/old/GstTag.sgml:
1446         * docs/gst/tmpl/old/cothreads.sgml:
1447         * docs/gst/tmpl/old/cothreads_compat.sgml:
1448         * docs/gst/tmpl/old/gettext.sgml:
1449         * docs/gst/tmpl/old/gobject2gtk.sgml:
1450         * docs/gst/tmpl/old/grammar.tab.sgml:
1451         * docs/gst/tmpl/old/gst-i18n-app.sgml:
1452         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
1453         * docs/gst/tmpl/old/gst_private.sgml:
1454         * docs/gst/tmpl/old/gstaggregator.sgml:
1455         * docs/gst/tmpl/old/gstarch.sgml:
1456         * docs/gst/tmpl/old/gstatomic_impl.sgml:
1457         * docs/gst/tmpl/old/gstbufferstore.sgml:
1458         * docs/gst/tmpl/old/gstdata_private.sgml:
1459         * docs/gst/tmpl/old/gstdisksink.sgml:
1460         * docs/gst/tmpl/old/gstdisksrc.sgml:
1461         * docs/gst/tmpl/old/gstelementfactory.sgml:
1462         * docs/gst/tmpl/old/gstextratypes.sgml:
1463         * docs/gst/tmpl/old/gstfakesink.sgml:
1464         * docs/gst/tmpl/old/gstfakesrc.sgml:
1465         * docs/gst/tmpl/old/gstfdsink.sgml:
1466         * docs/gst/tmpl/old/gstfdsrc.sgml:
1467         * docs/gst/tmpl/old/gstfilesink.sgml:
1468         * docs/gst/tmpl/old/gstfilesrc.sgml:
1469         * docs/gst/tmpl/old/gsthttpsrc.sgml:
1470         * docs/gst/tmpl/old/gstidentity.sgml:
1471         * docs/gst/tmpl/old/gstindexfactory.sgml:
1472         * docs/gst/tmpl/old/gstmarshal.sgml:
1473         * docs/gst/tmpl/old/gstmd5sink.sgml:
1474         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
1475         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
1476         * docs/gst/tmpl/old/gstpadtemplate.sgml:
1477         * docs/gst/tmpl/old/gstpipefilter.sgml:
1478         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
1479         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
1480         * docs/gst/tmpl/old/gstshaper.sgml:
1481         * docs/gst/tmpl/old/gstspider.sgml:
1482         * docs/gst/tmpl/old/gstspideridentity.sgml:
1483         * docs/gst/tmpl/old/gststatistics.sgml:
1484         * docs/gst/tmpl/old/gsttee.sgml:
1485         * docs/gst/tmpl/old/gsttimecache.sgml:
1486         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
1487         * docs/gst/tmpl/old/gstxmlregistry.sgml:
1488         * docs/gst/tmpl/old/gthread-cothreads.sgml:
1489         * docs/gst/tmpl/old/types.sgml:
1490           I didn't intend to add these or check them in.
1491
1492 2005-05-19  David Schleef  <ds@schleef.org>
1493
1494         * configure.ac: Use -no-common everywhere.  In a sane world, it
1495           would be the default in libtool, because without it, you can't
1496           build DLLs on Windows.
1497         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
1498         * docs/gst/gstreamer-sections.txt:
1499         * docs/gst/tmpl/gstcpu.sgml:
1500         * docs/gst/tmpl/gstdata.sgml:
1501         * docs/gst/tmpl/gstthread.sgml:
1502
1503 2005-05-19  David Schleef  <ds@schleef.org>
1504
1505         * gst/gstminiobject.c: (gst_value_set_mini_object),
1506         (gst_value_take_mini_object), (gst_value_get_mini_object):
1507         * gst/gstminiobject.h: Add GValue set/get functions.
1508
1509 2005-05-19  Wim Taymans  <wim@fluendo.com>
1510
1511         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
1512         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
1513         (gst_subbuffer_init), (gst_buffer_is_span_fast):
1514         * gst/gstbuffer.h:
1515         * gst/gstbus.c: (gst_bus_post):
1516         * gst/gstelement.c: (gst_element_get_random_pad):
1517         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
1518         Make subbufer unref the parent in finalize.
1519         some more debugging info.
1520
1521
1522 2005-05-19  Wim Taymans  <wim@fluendo.com>
1523
1524         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1525         (gst_basesink_init), (gst_basesink_finalize),
1526         (gst_basesink_activate), (gst_basesink_change_state):
1527         Don't free preroll queue too early.
1528
1529 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1530
1531         * gst/Makefile.am:
1532         * gst/ROADMAP:
1533           Hi, I'm outdated. Please shoot me.
1534
1535 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1536
1537         * gst/gstpipeline.c: (gst_pipeline_send_event):
1538           Do not access variables after they have been deleted.
1539
1540 2005-05-19  Wim Taymans  <wim@fluendo.com>
1541
1542         * tools/gst-inspect.c: (print_plugin_features):
1543         A plugin feature does unfortunatly not use the
1544         object name yet...
1545
1546 2005-05-18  Wim Taymans  <wim@fluendo.com>
1547
1548         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
1549         Port _span() functions to new subbuffers.
1550
1551 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1552
1553         * gst/gstbin.c: (gst_bin_add_func):
1554           Fix clock settery in bins when adding kids after the clock has
1555           been selected.
1556
1557 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1558
1559         * gst/elements/gstidentity.c: (gst_identity_class_init):
1560           Workaround until signals support GstMiniObject.
1561
1562 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1563
1564         * gst/gstbuffer.c:
1565         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
1566
1567 2005-05-18  Wim Taymans  <wim@fluendo.com>
1568
1569         * gst/base/Makefile.am:
1570         * gst/base/gstadapter.c: (gst_adapter_base_init),
1571         (gst_adapter_class_init), (gst_adapter_init),
1572         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
1573         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
1574         (gst_adapter_flush), (gst_adapter_available),
1575         (gst_adapter_available_fast):
1576         * gst/base/gstadapter.h:
1577         Ported and added adapter to the base classes.
1578
1579 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1580
1581         * gst/gst.c:
1582         * gst/gstmessage.c:
1583           Make sure the class is reffed/unreffed once before threads can be
1584           used.  Fixes #304551.
1585
1586 2005-05-17  Wim Taymans  <wim@fluendo.com>
1587
1588         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
1589         (gst_basesink_chain_unlocked), (gst_basesink_activate):
1590         * gst/gstminiobject.c: (gst_mini_object_get_type),
1591         (gst_mini_object_free):
1592         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
1593         (gst_pad_push), (gst_pad_push_event):
1594         * gst/gstqueue.c: (gst_queue_change_state):
1595         Don't queue buffers in basesink when we are flushing.
1596         Unref buffer when flushing in basesink.
1597         Flush queue when going to READY
1598         Unref buffer when _push() returns an error.
1599         Don't free MiniObject instance when refcount is incremented
1600         in _finalize() so that we can recover objects.
1601
1602 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1603
1604         * docs/manual/advanced-schedulers.xml:
1605         * docs/manual/appendix-checklist.xml:
1606         * docs/pwg/advanced-clock.xml:
1607         * docs/pwg/advanced-interfaces.xml:
1608         * docs/pwg/advanced-request.xml:
1609         * docs/pwg/advanced-types.xml:
1610         * docs/pwg/intro-preface.xml:
1611         * examples/plugins/example.c: (gst_example_get_type),
1612         (gst_example_class_init), (gst_example_chain),
1613         (gst_example_set_property), (gst_example_get_property),
1614         (gst_example_change_state), (plugin_init):
1615         * examples/plugins/example.h:
1616           small doc fixes
1617
1618 2005-05-17  Wim Taymans  <wim@fluendo.com>
1619
1620         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
1621         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
1622         * gst/gstqueue.c: (gst_queue_change_state):
1623         Clear queue when going to READY.
1624         Remove IN_SETCAPS flag too.
1625
1626 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
1627
1628         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
1629           Remove implicit cast from gboolean to GstElementStateReturn;
1630           make sure we still return failure in paused => ready case if
1631           the parent class fails to change state and our own stop 
1632           vfunc succeeds.
1633
1634 2005-05-17  Wim Taymans  <wim@fluendo.com>
1635
1636         * tools/gst-launch.c: (event_loop):
1637         Message was unreffed too soon.
1638
1639 2005-05-16  Andy Wingo  <wingo@pobox.com>
1640
1641         * gst/gstbin.c (sink_iterator_filter): Err... um...
1642
1643         * check/gst/gstbin.c (test_ghost_pads): New test for the
1644         ghosting-if-elements-not-in-same-bin behavior.
1645
1646 2005-05-16  David Schleef  <ds@schleef.org>
1647
1648         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
1649         accessing refcount directly.
1650
1651 2005-05-15  David Schleef  <ds@schleef.org>
1652
1653         * check/Makefile.am: remove GstData checks
1654         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
1655         * gst/Makefile.am: add miniobject, remove data
1656         * gst/gst.h: add miniobject, remove data
1657         * gst/gstdata.c: remove
1658         * gst/gstdata.h: remove
1659         * gst/gstdata_private.h: remove
1660         * gst/gsttypes.h: remove GstEvent and GstMessage
1661         * gst/gstelement.c: (gst_element_post_message): fix for API changes
1662         * gst/gstmarshal.list: change BOXED -> OBJECT
1663
1664         Implement GstMiniObject.
1665         * gst/gstminiobject.c:
1666         * gst/gstminiobject.h:
1667
1668         Modify to be subclasses of GstMiniObject.
1669         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
1670         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
1671         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
1672         (gst_subbuffer_get_type), (gst_subbuffer_init),
1673         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
1674         (gst_buffer_span):
1675         * gst/gstbuffer.h:
1676         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
1677         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
1678         (_gst_event_copy), (gst_event_new):
1679         * gst/gstevent.h:
1680         * gst/gstmessage.c: (_gst_message_initialize),
1681         (gst_message_get_type), (gst_message_class_init),
1682         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
1683         (gst_message_new), (gst_message_new_error),
1684         (gst_message_new_warning), (gst_message_new_tag),
1685         (gst_message_new_state_changed), (gst_message_new_application):
1686         * gst/gstmessage.h:
1687         * gst/gstprobe.c: (gst_probe_perform),
1688         (gst_probe_dispatcher_dispatch):
1689         * gst/gstprobe.h:
1690         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
1691         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
1692         (_gst_query_copy), (gst_query_new):
1693
1694         Update elements for GstData -> GstMiniObject changes
1695         * gst/gstquery.h:
1696         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
1697         (gst_queue_chain), (gst_queue_loop):
1698         * gst/elements/gstbufferstore.c:
1699         (gst_buffer_store_add_buffer_func),
1700         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
1701         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1702         (gst_fakesink_render):
1703         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
1704         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
1705         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
1706         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
1707         (gst_filesrc_create_read):
1708         * gst/elements/gstidentity.c: (gst_identity_class_init):
1709         * gst/elements/gsttypefindelement.c:
1710         (gst_type_find_element_src_event), (free_entry_buffers),
1711         (gst_type_find_element_handle_event):
1712         * libs/gst/dataprotocol/dataprotocol.c:
1713         (gst_dp_header_from_buffer):
1714         * libs/gst/dataprotocol/dataprotocol.h:
1715         * libs/gst/dataprotocol/dp-private.h:
1716
1717 2005-05-15  David Schleef  <ds@schleef.org>
1718
1719         * gst/elements/gstelements.c: Don't include headers that were
1720         just removed.
1721
1722 2005-05-15  David Schleef  <ds@schleef.org>
1723
1724         * gst/elements/Makefile.am: Remove some elements that don't
1725         need to be in the core (or even exist at all).
1726         * gst/elements/gstaggregator.c:
1727         * gst/elements/gstaggregator.h:
1728         * gst/elements/gstmd5sink.c:
1729         * gst/elements/gstmd5sink.h:
1730         * gst/elements/gstmultifilesrc.c:
1731         * gst/elements/gstmultifilesrc.h:
1732         * gst/elements/gstpipefilter.c:
1733         * gst/elements/gstpipefilter.h:
1734         * gst/elements/gstshaper.c:
1735         * gst/elements/gstshaper.h:
1736         * gst/elements/gststatistics.c:
1737         * gst/elements/gststatistics.h:
1738         * po/POTFILES.in: Remove above files.
1739
1740 2005-05-14  Andy Wingo  <wingo@pobox.com>
1741
1742         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
1743         so as to get the refs right.
1744         (sink_iterator_filter): New function, wraps bin_element_is_sink,
1745         unreffing objects that don't pass the filter.
1746
1747         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
1748         gst_element_set_bus.
1749         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
1750         normal cases, this will destroy the bus.
1751
1752         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
1753         object.
1754
1755         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
1756         has no sinks.
1757
1758 2005-05-13  Andy Wingo  <wingo@pobox.com>
1759
1760         * gst/gstutils.c (gst_element_link_pads): Instead of calling
1761         gst_pad_link, call pad_link_maybe_ghosting,
1762         (pad_link_maybe_ghosting): Links pads, making sure that the
1763         elements being linked are in the same bin.
1764         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
1765         Helpers for pad_link_maybe_ghosting.
1766
1767 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1768
1769         * configure.ac:
1770           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
1771
1772 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1773
1774         * docs/design/part-element-source.txt:
1775           Mention GstPushSrc
1776
1777 2005-05-12  Wim Taymans  <wim@fluendo.com>
1778
1779         * gst/base/gstbasesink.c: (gst_basesink_init),
1780         (gst_basesink_activate):
1781         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
1782         (gst_basesrc_is_seekable):
1783         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1784         (bin_element_is_sink), (gst_bin_change_state):
1785         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1786         * gst/gstelement.h:
1787         Identify sinks by their flag to avoid overly complicated
1788         checks (fow now).
1789         Do state changes even for elements not reachable from the
1790         sinks.
1791         BaseSink is a sink now :)
1792         Some more debugging info in the basesrc.
1793
1794
1795 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1796
1797         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
1798           Implement _query on a bin, similar to _send_event.
1799
1800 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1801
1802         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
1803           Discont event offset format should be GST_FORMAT_BYTES,
1804           not GST_FORMAT_TIME.
1805
1806 2005-05-12  Wim Taymans  <wim@fluendo.com>
1807
1808         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
1809         Same fix as Ronald's but without the signal. 
1810
1811 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1812
1813         * gst/gstutils.c: (gst_element_query_position):
1814           No, an element is not a pad.
1815
1816 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1817
1818         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
1819         (gst_bin_get_state):
1820           If a child is removed from a bin while we remove the child from
1821           the bin and while we're retrieving its state, signal this to the
1822           get_state function so we abort the wait (instead of waiting for
1823           a timeout) and can immediately re-iterate over all other elements.
1824
1825 2005-05-12  Wim Taymans  <wim@fluendo.com>
1826
1827         * gst/base/Makefile.am:
1828         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
1829         (gst_basesrc_start):
1830         * gst/base/gstbasesrc.h:
1831         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
1832         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
1833         (gst_pushsrc_init), (gst_pushsrc_create):
1834         * gst/base/gstpushsrc.h:
1835         Added is_seekable to BaseSrc
1836         Added simple PushSrc.
1837
1838 2005-05-11  Wim Taymans  <wim@fluendo.com>
1839
1840         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1841         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1842         (gst_element_link_pads), (gst_element_query_position),
1843         (gst_element_query_convert), (intersect_caps_func),
1844         (gst_pad_query_position), (gst_pad_query_convert):
1845         Fix refcounting in utils function.
1846         No point in trying to activate a pad when it's added, it could
1847         be added from the state change function and then we deadlock, the
1848         element has to decide what to do.
1849
1850 2005-05-10  Andy Wingo  <wingo@pobox.com>
1851
1852         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
1853         *all* the arguments.
1854
1855         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
1856         stream lock if it's a FLUSH_DONE; normal flushes don't get the
1857         lock (according to the docs -- if this is wrong change the docs).
1858
1859         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
1860         flush messages in the NULL state.
1861
1862         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
1863         message immediately and return.
1864         (gst_bus_set_flushing): New function. If a bus is flushing, it
1865         flushes out any queued messages and immediately unrefs new
1866         messages. This is so when an element goes to NULL, all of the
1867         unhandled messages coming from it can be freed, and their
1868         references to the element dropped. In other words: message source
1869         ref considered harmful :P
1870
1871         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
1872         we're finished with it.
1873
1874         * gst/gstmessage.c (gst_message_new_state_changed): 
1875
1876 2005-05-10  Wim Taymans  <wim@fluendo.com>
1877
1878         * gst/gstvalue.c: (gst_value_compare_flags),
1879         (gst_value_serialize_flags), (gst_value_deserialize_flags),
1880         (_gst_value_initialize):
1881         Added flags serialize/deserialize/compare code.
1882
1883 2005-05-09  Andy Wingo  <wingo@pobox.com>
1884
1885         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
1886         Intersect the peer's caps with our caps.
1887
1888 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1889
1890         * gst/base/gsttypefindhelper.c: (helper_find_peek):
1891         * gst/elements/gsttypefindelement.c: (find_peek):
1892           Handle negative offsets better. Fixes decodebin.
1893
1894 2005-05-09  Wim Taymans  <wim@fluendo.com>
1895
1896         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
1897         (gst_base_transform_event):
1898         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
1899         Implement accept_caps.
1900         Fix silly lock/unlock mismatch in base class.
1901
1902 2005-05-09  Wim Taymans  <wim@fluendo.com>
1903
1904         * docs/design/draft-push-pull.txt:
1905         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
1906         * gst/elements/gstfilesink.c: (gst_filesink_init),
1907         (gst_filesink_query):
1908         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1909         (gst_type_find_handle_src_query), (find_element_get_length):
1910         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
1911         * gst/gstelement.h:
1912         * gst/gstmessage.c:
1913         * gst/gstmessage.h:
1914         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
1915         (gst_real_pad_get_caps_unlocked),
1916         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
1917         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1918         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
1919         (gst_real_pad_dispose), (gst_real_pad_finalize),
1920         (gst_pad_load_and_link), (gst_pad_save_thyself),
1921         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
1922         (gst_pad_check_pull_range), (gst_pad_pull_range),
1923         (gst_pad_template_get_type), (gst_pad_template_class_init),
1924         (gst_pad_template_init), (gst_pad_template_dispose),
1925         (name_is_valid), (gst_static_pad_template_get),
1926         (gst_pad_template_new), (gst_static_pad_template_get_caps),
1927         (gst_pad_template_get_caps), (gst_pad_set_element_private),
1928         (gst_pad_get_element_private), (gst_pad_start_task),
1929         (gst_pad_pause_task), (gst_pad_stop_task),
1930         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
1931         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
1932         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
1933         (gst_ghost_pad_new):
1934         * gst/gstpad.h:
1935         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
1936         (gst_query_new_position), (gst_query_set_position),
1937         (gst_query_parse_position), (gst_query_new_convert),
1938         (gst_query_set_convert), (gst_query_parse_convert):
1939         * gst/gstquery.h:
1940         * gst/gstqueryutils.c:
1941         * gst/gstqueryutils.h:
1942         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1943         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1944         (gst_queue_handle_src_query):
1945         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1946         (gst_element_query_position), (gst_element_query_convert),
1947         (intersect_caps_func), (gst_pad_query_position),
1948         (gst_pad_query_convert):
1949         * gst/gstutils.h:
1950         * tools/gst-inspect.c: (print_pad_info):
1951         * tools/gst-xmlinspect.c: (print_element_info):
1952         Remove old query functions. Ported old code.
1953         Added position/convert helper functions to gstutils.
1954         Reordered gstpad.c code, grouping relevant things.
1955         Remove gst_message_new(), always need to speficy a specific
1956         message.
1957
1958
1959 2005-05-09  Andy Wingo  <wingo@pobox.com>
1960
1961         * gst/gstiterator.h: Add some includes.
1962
1963         * gst/gstqueryutils.h: Include more headers.
1964
1965         * gst/gstpad.h:
1966         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
1967         some uses of gst_pad_query.
1968
1969         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
1970         NULL out parameters.
1971         (gst_query_new_position): New proc, allocates a new position
1972         query.
1973
1974         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
1975         gstqueryutils.c to the build.
1976
1977         * gst/gststructure.c (gst_structure_set_valist): Implement with
1978         the generic G_VALUE_COLLECT.
1979         
1980 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
1981
1982         * gst/Makefile.am: (gst_headers):
1983         Added gstqueryutils.h to the list of headers to install, that was
1984         a 'nachty' move wingo :)
1985
1986 2005-05-06  Andy Wingo  <wingo@pobox.com>
1987
1988         * gst/gstquery.h
1989         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
1990         GstData, init a memchunk.
1991         (standard_definitions): Add a few query types, deprecate a few.
1992         (gst_query_get_type): New proc.
1993         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
1994         implementation.
1995         (gst_query_new_application, gst_query_get_structure): New public
1996         procs.
1997
1998         * docs/design/draft-query.txt: Removed LINKS from the query types,
1999         because all the rest can be dispatched to other pads -- seemed
2000         ugly to have a query that couldn't be dispatched. internal_links
2001         is fine as a pad method.
2002
2003         * gst/gstpad.h: Add query2 as a pad method, add the new functions
2004         in gstpad.c, but maintain binary compatibility for the moment.
2005         Will fix before 0.9 is out.
2006
2007         * gst/gstqueryutils.c: 
2008         * gst/gstqueryutils.h: New files, implement 3 methods for each
2009         query type: parse_query, parse_response, and set. Probably need an
2010         allocator as well.
2011
2012         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
2013
2014         * gst/elements/gstfilesink.c (gst_filesink_query2):
2015         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
2016         query_types, and formats methods.
2017
2018         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
2019         (gst_pad_set_query2_function): New functions.
2020         (gst_real_pad_init): Set query2_default as the default query2
2021         function. Basically just dispatches to internally linked pads.
2022
2023         Needs review!
2024         
2025         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
2026         without using the atomic operations. Only one thread can possibly
2027         be accessing the data at this point. Changed so as to avoid
2028         gst_atomic operations.
2029
2030 2005-05-06  Wim Taymans  <wim@fluendo.com>
2031
2032         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
2033         Also set caps if we use the fallback buffer alloc.
2034
2035 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
2036
2037         * docs/gst/Makefile.am:
2038         * docs/gst/gstreamer-docs.sgml:
2039         * docs/gst/gstreamer-sections.txt:
2040         * docs/gst/tmpl/gstatomic.sgml:
2041         * docs/gst/tmpl/gstmemchunk.sgml:
2042         * testsuite/elements/struct_i386.h:
2043         * win32/GStreamer.vcproj:
2044         * win32/Makefile:
2045           Purge GstAtomic stuff from docs and win32 makefiles as well
2046
2047 2005-05-06  Wim Taymans  <wim@fluendo.com>
2048
2049         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
2050         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
2051         * gst/gstpad.c: (gst_pad_peer_get_caps):
2052         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2053         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2054         (gst_queue_src_activate), (gst_queue_change_state):
2055         * gst/gstqueue.h:
2056         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2057         (intersect_caps_func):
2058         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
2059         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
2060         Some fixes for the peer_get_caps() change.
2061
2062 2005-05-06  Wim Taymans  <wim@fluendo.com>
2063
2064         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2065         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
2066         (gst_basesink_activate):
2067         Actually do something with error codes returned from the push
2068         functions.
2069
2070 2005-05-06  Wim Taymans  <wim@fluendo.com>
2071
2072         * docs/design/part-element-sink.txt:
2073         * docs/design/part-element-source.txt:
2074         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2075         (gst_basesink_event), (gst_basesink_activate):
2076         * gst/base/gstbasesink.h:
2077         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
2078         (gst_basesrc_activate):
2079         * gst/base/gstbasesrc.h:
2080         * gst/gstelement.c: (gst_element_pads_activate):
2081         Some more documentation.
2082         Fixed scheduling decision in _pads_activate().
2083
2084 2005-05-05  Andy Wingo  <wingo@pobox.com>
2085
2086         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
2087         the test suite.
2088
2089 2005-05-05  Wim Taymans  <wim@fluendo.com>
2090
2091         * gst/base/Makefile.am:
2092         * gst/base/gstbasesink.h:
2093         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2094         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
2095         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
2096         (gst_collectpads_class_init), (gst_collectpads_init),
2097         (gst_collectpads_finalize), (gst_collectpads_new),
2098         (gst_collectpads_set_function), (gst_collectpads_add_pad),
2099         (find_pad), (gst_collectpads_remove_pad),
2100         (gst_collectpads_is_active), (gst_collectpads_collect),
2101         (gst_collectpads_collect_range), (gst_collectpads_start),
2102         (gst_collectpads_stop), (gst_collectpads_peek),
2103         (gst_collectpads_pop), (gst_collectpads_available),
2104         (gst_collectpads_read), (gst_collectpads_flush),
2105         (gst_collectpads_chain):
2106         * gst/base/gstcollectpads.h:
2107         * gst/elements/Makefile.am:
2108         * gst/elements/gstelements.c:
2109         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2110         (gst_fakesink_get_times), (gst_fakesink_event),
2111         (gst_fakesink_preroll), (gst_fakesink_render):
2112         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2113         (gst_filesink_init), (gst_filesink_set_location),
2114         (gst_filesink_open_file), (gst_filesink_close_file),
2115         (gst_filesink_pad_query), (gst_filesink_event),
2116         (gst_filesink_render), (gst_filesink_change_state):
2117         * gst/elements/gstfilesink.h:
2118         Added object to help in making collect pad based elements.
2119         Ported filesink.
2120         Make event function in sink baseclass return gboolean.
2121
2122 2005-05-05  Wim Taymans  <wim@fluendo.com>
2123
2124         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
2125         (gst_bin_get_by_name):
2126         * gst/gstbuffer.h:
2127         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
2128         (gst_clock_finalize):
2129         * gst/gstdata.c: (gst_data_replace):
2130         * gst/gstdata.h:
2131         * gst/gstelement.c: (gst_element_request_pad),
2132         (gst_element_pads_activate):
2133         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2134         (gst_object_unref):
2135         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2136         (gst_pad_set_checkgetrange_function),
2137         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
2138         (gst_pad_check_pull_range), (gst_pad_pull_range),
2139         (gst_static_pad_template_get_caps), (gst_pad_start_task),
2140         (gst_pad_pause_task), (gst_pad_stop_task):
2141         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2142         (gst_element_request_pad), (gst_pad_proxy_getcaps):
2143         Fix name lookup in GstBin.
2144         Added _data_replace() function and _buffer_replace()
2145         Use finalize method to clean up clock.
2146         Fix refcounting on request pads.
2147         Fix pad schedule mode error.
2148         Some more object refcounting debug info,
2149
2150
2151 2005-05-04  Andy Wingo <wingo@pobox.com>
2152
2153         * check/Makefile.am:
2154         * docs/gst/tmpl/gstatomic.sgml:
2155         * docs/gst/tmpl/gstplugin.sgml:
2156         * gst/base/gstbasesink.c: (gst_basesink_activate):
2157         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
2158         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
2159         (gst_basesrc_query), (gst_basesrc_set_property),
2160         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
2161         (gst_basesrc_activate):
2162         * gst/base/gstbasesrc.h:
2163         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
2164         (gst_base_transform_src_activate):
2165         * gst/elements/gstelements.c:
2166         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2167         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2168         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2169         * gst/elements/gsttypefindelement.c: (find_element_get_length),
2170         (gst_type_find_element_checkgetrange),
2171         (gst_type_find_element_activate):
2172         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
2173         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
2174         (gst_caps_load_thyself):
2175         * gst/gstelement.c: (gst_element_pads_activate),
2176         (gst_element_save_thyself), (gst_element_restore_thyself):
2177         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
2178         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
2179         * gst/gstpad.h:
2180         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
2181         (gst_xml_parse_file), (gst_xml_parse_memory),
2182         (gst_xml_get_element), (gst_xml_make_element):
2183         * gst/indexers/gstfileindex.c: (gst_file_index_load),
2184         (_file_index_id_save_xml), (gst_file_index_commit):
2185         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
2186         (read_enum), (load_pad_template), (load_feature), (load_plugin),
2187         (load_paths):
2188         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
2189         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
2190         * tools/gst-complete.c: (main):
2191         * tools/gst-compprep.c: (main):
2192         * tools/gst-inspect.c: (print_element_properties_info):
2193         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
2194         * tools/gst-xmlinspect.c: (print_element_properties):
2195         GCC 4 fixen.
2196         
2197 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2198
2199         * gst/gstplugin.c: (gst_plugin_check_module),
2200         (gst_plugin_check_file), (gst_plugin_load_file):
2201             apply patch from #172526 to make register work on MacOSX
2202
2203 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2204
2205         * docs/gst/tmpl/gstconfig.sgml:
2206         * gst/gstconfig.h.in:
2207           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
2208         * testsuite/debug/printf_extension.c: (main):
2209           Do not use GST_PTR_FORMAT on pointers to types with
2210           sizeof < sizeof(gpointer).  Fixes test on 64-bit
2211         * testsuite/elements/property.h:
2212           use correct printf format
2213
2214 2005-05-02  Wim Taymans  <wim@fluendo.com>
2215
2216         * docs/design/draft-push-pull.txt:
2217         * docs/design/draft-query.txt:
2218         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
2219         (gst_basesrc_start):
2220         Added draft for new query API.
2221         Added draft for better selecting scheduling methods.
2222         Make basesrc ignore length if the subclass does not support
2223         it.
2224
2225 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2226
2227         * gst/Makefile.am:
2228           possible fixes for automake-1.5 - _LIBADD is reserved
2229
2230 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2231
2232         * docs/faq/Makefile.am:
2233         * docs/manual/Makefile.am:
2234         * docs/manuals.mak:
2235         * docs/pwg/Makefile.am:
2236         * gst/Makefile.am:
2237           possible fixes for automake-1.5
2238
2239 2005-04-28  Wim Taymans  <wim@fluendo.com>
2240
2241         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2242         (gst_basesink_pad_getcaps), (gst_basesink_init),
2243         (gst_basesink_do_sync):
2244         * gst/gstclock.c: (gst_clock_entry_new):
2245         * gst/gstevent.c: (gst_event_discont_get_value):
2246         * gst/gstpipeline.c: (pipeline_bus_handler),
2247         (gst_pipeline_change_state):
2248         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2249         Better debugging of clocking info.
2250         Allow NULL values when getting discont values.
2251
2252 2005-04-27  Wim Taymans  <wim@fluendo.com>
2253
2254         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
2255         * check/gst/gstpad.c: (gst_pad_suite):
2256         Increase timeout for checks.
2257
2258 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2259
2260         * check/Makefile.am:
2261           fix the broken rule for cleanup.  Apparently this rule is
2262           only needed on FC2, so maybe this warrants further autotool
2263           inspection.
2264
2265 2005-04-26  Wim Taymans  <wim@fluendo.com>
2266
2267         * gst/gsttrashstack.h:
2268         Ooohh. a nasty one! After having a failed pop() from the stack,
2269         it's possible that the stack is empty. In that case, don't
2270         follow the NULL pointer.
2271
2272 2005-04-25  Wim Taymans  <wim@fluendo.com>
2273
2274         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2275         (gst_pad_set_checkgetrange_function),
2276         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
2277         (gst_pad_check_pull_range), (gst_pad_pull_range),
2278         (gst_static_pad_template_get_caps), (gst_pad_start_task),
2279         (gst_pad_pause_task), (gst_pad_stop_task):
2280         * gst/gstplugin.c: (gst_plugin_load):
2281         * gst/gstplugin.h:
2282         Remove gst_library_load as it does more harm than good with
2283         the new g_module flags.
2284         Revert bogus caps template check in pad linking, pad caps
2285         are important when linking not the template, which is more
2286         general than the current caps.
2287
2288 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2289
2290         * gst/autoplug/.cvsignore:
2291         * gst/autoplug/Makefile.am:
2292         * gst/autoplug/gstsearchfuncs.c:
2293         * gst/autoplug/gstsearchfuncs.h:
2294         * gst/autoplug/gstspider.c:
2295         * gst/autoplug/gstspider.h:
2296         * gst/autoplug/gstspideridentity.c:
2297         * gst/autoplug/gstspideridentity.h:
2298         * gst/autoplug/spidertest.c:
2299           Die, spider, die.
2300
2301 2005-04-25  Wim Taymans  <wim@fluendo.com>
2302
2303         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2304         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
2305         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
2306         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
2307         * gst/gstpad.h:
2308         Added stubs for unimplemented functions. 
2309
2310 2005-04-24  David Schleef  <ds@schleef.org>
2311
2312         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
2313         please fix.
2314
2315 2005-04-24  David Schleef  <ds@schleef.org>
2316
2317         Convert everything from GstAtomicInt to g_atomic_int_*, and
2318         remove gstatomic.
2319         * gst/Makefile.am:
2320         * gst/gstatomic.c:
2321         * gst/gstatomic.h:
2322         * gst/gstatomic_impl.h:
2323         * gst/gstbuffer.c:
2324         * gst/gstcaps.c:
2325         * gst/gstcaps.h:
2326         * gst/gstclock.c:
2327         * gst/gstclock.h:
2328         * gst/gstdata.c:
2329         * gst/gstdata.h:
2330         * gst/gstdata_private.h:
2331         * gst/gstevent.c:
2332         * gst/gstinfo.c:
2333         * gst/gstinfo.h:
2334         * gst/gstmessage.c:
2335         * gst/gstobject.c:
2336         * gst/gstobject.h:
2337         * gst/gststructure.c:
2338         * gst/gststructure.h:
2339         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
2340         * gst/gstutils.h:
2341
2342 2005-04-24  David Schleef  <ds@schleef.org>
2343
2344         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
2345         make the regressions tests work.  Remove some code that is no
2346         longer true.
2347         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
2348         Disable warning for pads without templates.
2349
2350 2005-04-24  David Schleef  <ds@schleef.org>
2351
2352         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
2353         functions that handle filtered links.
2354         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
2355         removed functions.
2356         * gst/gstutils.c: Fix/remove utility functions that handle
2357         filtered caps.
2358         * gst/gstutils.h:
2359         * gst/gstvalue.c: Add serialization/deserialization of caps
2360         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
2361         requires fixing so that the filter caps notation creates
2362         a capsfilter element and sets the filter_caps property.  I
2363         think everyone probably wants to keep the shorthand notation.
2364         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
2365         * docs/gst/tmpl/gstpad.sgml:
2366
2367         * gst/elements/gstelements.c: Register capsfilter element.
2368         * gst/Makefile.am: fix spacing
2369         * docs/random/ds/0.9-suggested-changes: random
2370
2371 2005-04-23  David Schleef  <ds@schleef.org>
2372
2373         * gst/elements/Makefile.am:
2374         * gst/elements/gstcapsfilter.c: New element that acts like an
2375         identity, but filters caps.  Will eventually replace filtered
2376         caps in pad linking.
2377         * gst/gstutils.c: (gst_element_create_all_pads): New function
2378         to create all the ALWAYS pads that are registered with an
2379         element class.  This functionality should eventually be
2380         merged in with GstElement initialization.
2381         * gst/gstutils.h:
2382         * testsuite/trigger/README: part of trigger test code that should
2383         have been checked in a long time ago.
2384
2385 2005-04-23  David Schleef  <ds@schleef.org>
2386
2387         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
2388         needed with new versions of libtool (nobody will confirm this),
2389         and hard to carry around.
2390         * gst/autoplug/Makefile.am:
2391         * gst/base/Makefile.am:
2392         * gst/elements/Makefile.am:
2393         * gst/indexers/Makefile.am:
2394         * gst/schedulers/Makefile.am:
2395         * libs/gst/bytestream/Makefile.am:
2396         * libs/gst/control/Makefile.am:
2397         * libs/gst/dataprotocol/Makefile.am:
2398         * libs/gst/getbits/Makefile.am:
2399
2400 2005-04-21  Wim Taymans  <wim@fluendo.com>
2401
2402         * docs/design/draft-push-pull.txt:
2403         * docs/design/part-MT-refcounting.txt:
2404         * docs/design/part-TODO.txt:
2405         * docs/design/part-caps.txt:
2406         * docs/design/part-events.txt:
2407         * docs/design/part-gstbus.txt:
2408         * docs/design/part-gstpipeline.txt:
2409         * docs/design/part-messages.txt:
2410         * docs/design/part-push-pull.txt:
2411         * docs/design/part-query.txt:
2412         Some more docs.
2413
2414 2005-04-21  Wim Taymans  <wim@fluendo.com>
2415
2416         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
2417         (gst_message_new), (gst_message_new_error),
2418         (gst_message_new_warning), (gst_message_new_tag),
2419         (gst_message_new_state_changed), (gst_message_new_application),
2420         (gst_message_get_structure):
2421         * gst/gstmessage.h:
2422         * gst/gststructure.c: (gst_structure_set_parent_refcount),
2423         (gst_structure_copy_conditional):
2424         Use parent refcount in GstMessage to ensure GstStructure
2425         consistency.
2426         Cleaned up headers a bit.
2427         
2428
2429 2005-04-20  Wim Taymans  <wim@fluendo.com>
2430
2431         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2432         (gst_basesink_pad_getcaps), (gst_basesink_init),
2433         (gst_basesink_chain_unlocked):
2434         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
2435         (gst_type_find_helper):
2436         * gst/elements/gsttypefindelement.c:
2437         (gst_type_find_element_have_type), (gst_type_find_element_init),
2438         (stop_typefinding), (gst_type_find_element_handle_event),
2439         (find_suggest), (gst_type_find_element_chain),
2440         (gst_type_find_element_checkgetrange),
2441         (gst_type_find_element_getrange), (do_typefind),
2442         (gst_type_find_element_activate):
2443         * gst/gstbuffer.c: (_gst_buffer_sub_free),
2444         (gst_buffer_default_free), (gst_buffer_default_copy),
2445         (gst_buffer_set_caps):
2446         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
2447         (gst_caps_replace):
2448         * gst/gstmessage.c: (gst_message_new),
2449         (gst_message_new_state_changed):
2450         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2451         (gst_pad_set_checkgetrange_function),
2452         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
2453         (gst_pad_set_caps), (gst_pad_check_pull_range),
2454         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
2455         * gst/gstpad.h:
2456         * gst/gsttypefind.c: (gst_type_find_register):
2457         Make gst_caps_replace() work like other _replace() functions.
2458         Use _caps_replace() where possible.
2459         Make sure _message_new() initialises its field.
2460         Add gst_static_pad_template_get_caps()
2461
2462
2463 2005-04-18  Andy Wingo  <wingo@pobox.com>
2464
2465         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
2466         on the peer, not the pad. I think that was a typo. Pass an extra
2467         arg to see if random access is possible. Activate the pads as
2468         PULL_RANGE if possible.
2469
2470         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
2471
2472         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
2473         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
2474         to PROP_....
2475
2476 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2477
2478         * docs/faq/using.xml:
2479           Add note on gstreamer-properties (#154996).
2480
2481 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2482
2483         * docs/random/bbb/optional-properties:
2484           Some analysis on optional properties.
2485
2486 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2487
2488         * docs/gst/tmpl/gstelementfactory.sgml:
2489         * gst/gstelement.h:
2490         * gst/gstelementfactory.c: (gst_element_factory_init),
2491         (gst_element_factory_cleanup), (gst_element_register),
2492         (__gst_element_factory_add_static_pad_template),
2493         (gst_element_factory_get_static_pad_templates),
2494         (gst_element_factory_can_src_caps),
2495         (gst_element_factory_can_sink_caps):
2496         * gst/registries/Makefile.am:
2497         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
2498         (gst_xml_registry_class_init), (gst_xml_registry_init),
2499         (gst_xml_registry_new), (gst_xml_registry_set_property),
2500         (gst_xml_registry_get_property), (get_time), (make_dir),
2501         (gst_xml_registry_get_perms_func),
2502         (plugin_times_older_than_recurse), (plugin_times_older_than),
2503         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
2504         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
2505         (add_to_char_array), (read_string), (read_uint), (read_enum),
2506         (load_pad_template), (load_feature), (load_plugin), (load_paths),
2507         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
2508         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
2509         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
2510         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
2511         (gst_xml_registry_rebuild):
2512         * gst/registries/gstlibxmlregistry.h:
2513         * tools/gst-compprep.c: (main):
2514         * tools/gst-inspect.c: (print_pad_templates_info):
2515         * tools/gst-xmlinspect.c: (print_element_info):
2516           Use libxml2 for registry parsing, use staticpadtemplates in
2517           elementfactories. Makes gst_init() +/- 10x faster.
2518
2519 2005-04-12  Wim Taymans  <wim@fluendo.com>
2520
2521         * gst/base/Makefile.am:
2522         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2523         (gst_basesink_pad_getcaps), (gst_basesink_init),
2524         (gst_basesink_event), (gst_basesink_change_state):
2525         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2526         (gst_basesrc_init), (gst_basesrc_query),
2527         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
2528         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
2529         (gst_basesrc_check_get_range), (gst_basesrc_loop),
2530         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
2531         (gst_basesrc_stop), (gst_basesrc_activate),
2532         (gst_basesrc_change_state):
2533         * gst/base/gsttypefindhelper.c: (helper_find_peek),
2534         (helper_find_suggest), (gst_type_find_helper):
2535         * gst/base/gsttypefindhelper.h:
2536         * gst/elements/Makefile.am:
2537         * gst/elements/gstelements.c:
2538         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2539         (gst_fakesink_get_times), (gst_fakesink_event),
2540         (gst_fakesink_preroll), (gst_fakesink_render):
2541         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2542         (gst_fakesrc_init), (gst_fakesrc_event_handler),
2543         (gst_fakesrc_get_property), (gst_fakesrc_create),
2544         (gst_fakesrc_start), (gst_fakesrc_stop):
2545         * gst/elements/gstfakesrc.h:
2546         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
2547         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
2548         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
2549         (gst_filesrc_create_read), (gst_filesrc_create),
2550         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
2551         (gst_filesrc_start):
2552         * gst/elements/gsttypefindelement.c:
2553         (gst_type_find_element_have_type), (gst_type_find_element_init),
2554         (start_typefinding), (stop_typefinding), (push_buffer_store),
2555         (gst_type_find_element_handle_event),
2556         (gst_type_find_element_chain),
2557         (gst_type_find_element_checkgetrange),
2558         (gst_type_find_element_getrange), (do_typefind),
2559         (gst_type_find_element_activate),
2560         (gst_type_find_element_change_state):
2561         * gst/elements/gsttypefindelement.h:
2562         * gst/gstpipeline.c: (pipeline_bus_handler):
2563         Added typefind helper.
2564         Small preroll fix in the base sink.
2565         Disable typefind code in basesrc.
2566         Crude port of typefindelement.
2567         Fakesrc cleanups.
2568
2569
2570 2005-04-11  Wim Taymans  <wim@fluendo.com>
2571
2572         * check/gst/gstbus.c: (gstbus_suite):
2573         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
2574         * check/gstcheck.h:
2575           Fix up the timeout so that the test does not fail.
2576
2577 2005-04-06  Wim Taymans  <wim@fluendo.com>
2578
2579         * gst/base/README:
2580         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2581         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
2582         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
2583         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
2584         (gst_basesrc_check_get_range), (gst_basesrc_loop),
2585         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
2586         (gst_basesrc_stop), (gst_basesrc_activate),
2587         (gst_basesrc_change_state), (basesrc_find_peek),
2588         (basesrc_find_suggest), (gst_basesrc_type_find):
2589         * gst/base/gstbasesrc.h:
2590         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
2591         (gst_filesrc_class_init), (gst_filesrc_init),
2592         (gst_filesrc_finalize), (gst_filesrc_set_location),
2593         (gst_filesrc_set_property), (gst_filesrc_get_property),
2594         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
2595         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
2596         (gst_filesrc_create_read), (gst_filesrc_create),
2597         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
2598         * gst/elements/gstfilesrc.h:
2599         * gst/gstelement.c: (gst_element_get_state_func),
2600         (gst_element_lost_state), (gst_element_pads_activate):
2601         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2602         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
2603         (gst_pad_pull_range):
2604         * gst/gstpad.h:
2605         More work on the generic source base class, implement seeking,
2606         query.
2607         Make filesrc extend the base source class.
2608         Added gst_pad_set_checkgetrange_function to GstPad.
2609
2610 2005-04-06  Andy Wingo  <wingo@pobox.com>
2611
2612         * pkgconfig/gstreamer-base.pc.in:
2613         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
2614
2615         * pkgconfig/Makefile.am:
2616         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
2617
2618 2005-04-04  Wim Taymans  <wim@fluendo.com>
2619
2620         * gst/base/Makefile.am:
2621         * gst/base/README:
2622         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2623         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2624         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2625         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
2626         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2627         (gst_basesrc_base_init), (gst_basesrc_class_init),
2628         (gst_basesrc_init), (gst_basesrc_get_formats),
2629         (gst_basesrc_get_query_types), (gst_basesrc_query),
2630         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
2631         (gst_basesrc_set_property), (gst_basesrc_get_property),
2632         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
2633         (gst_basesrc_loop), (gst_basesrc_activate),
2634         (gst_basesrc_change_state):
2635         * gst/base/gstbasesrc.h:
2636         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
2637         (gst_fakesrc_class_init), (gst_fakesrc_init),
2638         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
2639         (gst_fakesrc_get_property), (gst_fakesrc_create):
2640         * gst/elements/gstfakesrc.h:
2641         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
2642         (gst_filesrc_open_file), (gst_filesrc_loop),
2643         (gst_filesrc_activate), (filesrc_find_peek),
2644         (gst_filesrc_type_find):
2645         Made base source class, make fakesrc extend it.
2646         Add comments to basesink class.
2647         Some filesrc cleanup.
2648
2649 2005-03-31  David Schleef  <ds@schleef.org>
2650
2651         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
2652         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
2653         expected to link against libgstreamer.
2654         * gst/base/Makefile.am: link against libgstreamer
2655         * gst/elements/Makefile.am: same
2656
2657 2005-03-31  Andy Wingo  <wingo@pobox.com>
2658
2659         * tests/instantiate/Makefile.am:
2660         * tests/instantiate/caps.c: Add test to test speed of caps copy
2661         and free.
2662
2663         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
2664         GMemChunk to be fair.
2665
2666         * gst/gsttrashstack.h: Remove warning about using the fallback
2667         trash stack implementation, it's still faster than malloc.
2668
2669 2005-03-30  Andy Wingo  <wingo@pobox.com>
2670
2671         * tests/complexity.c: Add a copyright.
2672
2673 2005-03-31  Wim Taymans  <wim@fluendo.com>
2674
2675         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
2676         (gst_base_transform_class_init), (gst_base_transform_init),
2677         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
2678         (gst_base_transform_get_property),
2679         (gst_base_transform_sink_activate),
2680         (gst_base_transform_src_activate),
2681         (gst_base_transform_change_state):
2682         * gst/base/gstbasetransform.h:
2683         * gst/elements/gstidentity.c: (gst_identity_class_init),
2684         (gst_identity_event), (gst_identity_check_perfect),
2685         (gst_identity_transform), (gst_identity_start),
2686         (gst_identity_stop):
2687         Added start/stop methods to transform base class so subclasses 
2688         don't need to deal with state changes even.
2689
2690 2005-03-31  Wim Taymans  <wim@fluendo.com>
2691
2692         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
2693         (gst_event_new_discontinuous), (gst_event_discont_get_value):
2694         * gst/gstevent.h:
2695         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2696         (gst_pad_pull_range):
2697         Added rate to the discont event to prepare for variable speed
2698         and reverse playback.
2699
2700 2005-03-29  David Schleef  <ds@schleef.org>
2701
2702         * configure.ac:
2703         * testsuite/trigger/Makefile.am:
2704         * testsuite/trigger/trigger.c: A little example program to show
2705         how trigger-based elements can work.
2706
2707 2005-03-29  Wim Taymans  <wim@fluendo.com>
2708
2709         * gst/base/Makefile.am:
2710         * gst/base/README:
2711         * gst/base/gstbasesink.c: (gst_basesink_get_type),
2712         (gst_basesink_base_init), (gst_basesink_class_init),
2713         (gst_basesink_pad_getcaps), (gst_basesink_init),
2714         (gst_basesink_activate), (gst_basesink_change_state):
2715         * gst/base/gstbasesink.h:
2716         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2717         (gst_base_transform_base_init), (gst_base_transform_finalize),
2718         (gst_base_transform_class_init), (gst_base_transform_init),
2719         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
2720         (gst_base_transform_event), (gst_base_transform_getrange),
2721         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
2722         (gst_base_transform_set_property),
2723         (gst_base_transform_get_property),
2724         (gst_base_transform_sink_activate),
2725         (gst_base_transform_src_activate),
2726         (gst_base_transform_change_state):
2727         * gst/base/gstbasetransform.h:
2728         * gst/elements/gstidentity.c: (gst_identity_finalize),
2729         (gst_identity_class_init), (gst_identity_init),
2730         (gst_identity_event), (gst_identity_check_perfect),
2731         (gst_identity_transform), (gst_identity_set_property),
2732         (gst_identity_get_property), (gst_identity_change_state):
2733         * gst/elements/gstidentity.h:
2734         * gst/gstelement.c: (gst_element_get_state_func),
2735         (gst_element_lost_state), (gst_element_pads_activate):
2736         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2737         (gst_pad_check_pull_range), (gst_pad_pull_range):
2738         * gst/gstpad.h:
2739         Simplify pad activation.
2740         Added function to check if pull_range can be performed.
2741         Error out when pulling inactive or flushing pads.
2742         Removed const from refcounted types as it does not make sense.
2743         Simplify pad templates in basesink
2744         Added base class for simple 1-to-1 transforms.
2745         Make identity subclass the base transform.
2746
2747 2005-03-29  Andy Wingo  <wingo@pobox.com>
2748
2749         * docs/libs/gstreamer-libs-overrides.txt: 
2750         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
2751         really don't understand what's going on, but like whatever. I want
2752         green buildbot!
2753
2754         * docs/gst/Makefile.am:
2755         * docs/libs/Makefile.am: Dist the overrides files.
2756
2757         * check/Makefile.am (clean-local): Remove .libs directories.
2758
2759         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
2760         elements to EXTRA_DIST, so po/ files are happy.
2761
2762         * po/POTFILES.in: Er, remove it here.
2763
2764         * po/POTFILES: Remove gstspider.c.
2765
2766         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
2767
2768         * docs/libs/gstreamer-libs-docs.sgml: 
2769         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
2770         bytestream.
2771
2772         * tests/complexity.c (main): Set the length of the preroll queue
2773         on the sinks to prevent a lockup.
2774
2775         * libs/gst/dataprotocol/Makefile.am: 
2776         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
2777         the same as the one in check/gst-libs/gdp.c.
2778
2779         * po/, docs/gst/: Commit automatic changes to docs and po files.
2780
2781         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
2782         the versioned libgstbase.
2783
2784         * check/Makefile.am: Depend on an unversioned gst-register, seems
2785         to make autoconf happier.
2786
2787         * gst/base/Makefile.am: Make libgstbase a versioned lib.
2788
2789 2005-03-28  Wim Taymans  <wim@fluendo.com>
2790
2791         * configure.ac:
2792         * docs/design/part-gstelement.txt:
2793         * docs/design/part-negotiation.txt:
2794         * docs/design/part-preroll.txt:
2795         * docs/design/part-scheduling.txt:
2796         * docs/design/part-states.txt:
2797         * gst/Makefile.am:
2798         * gst/base/Makefile.am:
2799         * gst/base/README:
2800         * gst/base/gstbasesink.c: (gst_basesink_get_template),
2801         (gst_basesink_base_init), (gst_basesink_class_init),
2802         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2803         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2804         (gst_basesink_set_pad_functions),
2805         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
2806         (gst_basesink_set_property), (gst_basesink_get_property),
2807         (gst_base_sink_get_template), (gst_base_sink_get_caps),
2808         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
2809         (gst_basesink_preroll_queue_push),
2810         (gst_basesink_preroll_queue_empty),
2811         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
2812         (gst_basesink_event), (gst_basesink_get_times),
2813         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
2814         (gst_basesink_chain_unlocked), (gst_basesink_chain),
2815         (gst_basesink_loop), (gst_basesink_activate),
2816         (gst_basesink_change_state):
2817         * gst/base/gstbasesink.h:
2818         * gst/elements/Makefile.am:
2819         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
2820         (gst_fakesink_class_init), (gst_fakesink_init),
2821         (gst_fakesink_set_property), (gst_fakesink_get_property),
2822         (gst_fakesink_get_times), (gst_fakesink_event),
2823         (gst_fakesink_preroll), (gst_fakesink_render),
2824         (gst_fakesink_change_state):
2825         * gst/elements/gstfakesink.h:
2826         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2827         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
2828         * gst/gstelement.c: (gst_element_add_pad),
2829         (gst_element_get_state_func), (gst_element_abort_state),
2830         (gst_element_commit_state), (gst_element_lost_state),
2831         (gst_element_set_state), (gst_element_pads_activate):
2832         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
2833         * gst/gstpipeline.c: (gst_pipeline_send_event),
2834         (gst_pipeline_change_state):
2835         Added state change code.
2836         Added/updated docs.
2837         Added sink base class, make fakesink extend the base class.
2838         Small cleanups in GstPipeline.
2839
2840 2005-03-26  David Schleef  <ds@schleef.org>
2841
2842         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
2843         is broken and should be implemented in a different library.
2844         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
2845         * gst/gst.h: remove gstcpu.h
2846         * gst/gstcpu.c: remove
2847         * gst/gstcpu.h: remove
2848         * gst/Makefile.am.future: Remove this file.  It's ancient.
2849
2850 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2851
2852         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2853         (gst_bin_send_event):
2854           Add default event/set_manager handlers. The set_manager handler
2855           takes care that the manager is distributed over kids that were
2856           already in the bin before the manager was set. The event handler
2857           is a utility virtual function that sends the event over all sinks,
2858           so that gst_element_send_event (bin, event); has the expected
2859           behaviour.
2860         * gst/gstpad.c: (gst_pad_event_default):
2861           Re-install default event handling for discontinuities, so that
2862           seeking works without requiring hacks in applications or extra
2863           code in sinks.
2864         * gst/gstpipeline.c: (gst_pipeline_class_init),
2865         (gst_pipeline_send_event):
2866           Half hack, half utility: set a pipeline to PAUSED for seek events,
2867           since that is the only way we can guarantee a/v sync. Means that
2868           you can do gst_element_seek (pipeline, method, pos); on a pipeline
2869           and it "just works".
2870
2871 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2872
2873         * gst/gstpipeline.c: (gst_pipeline_use_clock):
2874           Lock/unlock mismatch.
2875
2876 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2877
2878         * docs/faq/gst-uninstalled:
2879           add gst-plugins-base
2880         * docs/gst/Makefile.am:
2881           don't error out until docs are fixed
2882         * docs/gst/gstreamer.types:
2883           remove thread
2884
2885 2005-03-22  Wim Taymans  <wim@fluendo.com>
2886
2887         * check/Makefile.am:
2888         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
2889         * gst/gststructure.c: (gst_structure_set_valist),
2890         (gst_structure_copy_conditional):
2891         Activated more tests.
2892         Added message test.
2893         Added G_TYPE_POINTER to GstStructure.
2894         
2895
2896 2005-03-22  Wim Taymans  <wim@fluendo.com>
2897
2898         * docs/design/part-TODO.txt:
2899         * docs/design/part-events.txt:
2900         * docs/design/part-gstbin.txt:
2901         * docs/design/part-gstbus.txt:
2902         * docs/design/part-gstpipeline.txt:
2903         * docs/design/part-messages.txt:
2904         * gst/gstbus.c:
2905         * gst/gstmessage.c:
2906         Docs updates
2907
2908 2005-03-21  Wim Taymans  <wim@fluendo.com>
2909
2910         * gst/gstbus.c: (gst_bus_post):
2911         Fix copy-and-paste error.
2912
2913 2005-03-21  Wim Taymans  <wim@fluendo.com>
2914
2915         * check/Makefile.am:
2916         * gst/Makefile.am:
2917         * gst/elements/Makefile.am:
2918         * gst/elements/gstelements.c:
2919         * gst/elements/gstfakesink.c: (gst_fakesink_init),
2920         (gst_fakesink_event), (gst_fakesink_chain):
2921         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2922         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
2923         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
2924         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
2925         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2926         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
2927         (gst_fakesrc_loop), (gst_fakesrc_activate),
2928         (gst_fakesrc_change_state):
2929         * gst/elements/gstfakesrc.h:
2930         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
2931         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
2932         (gst_filesrc_open_file), (gst_filesrc_loop),
2933         (gst_filesrc_activate), (gst_filesrc_change_state),
2934         (filesrc_find_peek), (filesrc_find_suggest),
2935         (gst_filesrc_type_find):
2936         * gst/elements/gstidentity.c: (gst_identity_finalize),
2937         (gst_identity_class_init), (gst_identity_init),
2938         (gst_identity_proxy_getcaps), (identity_queue_push),
2939         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
2940         (gst_identity_getrange), (gst_identity_chain),
2941         (gst_identity_sink_loop), (gst_identity_src_loop),
2942         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
2943         (gst_identity_set_property), (gst_identity_get_property),
2944         (gst_identity_change_state):
2945         * gst/elements/gstidentity.h:
2946         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2947         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
2948         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
2949         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
2950         (gst_tee_sink_activate):
2951         * gst/elements/gsttee.h:
2952         * gst/gst.c: (gst_register_core_elements), (init_post):
2953         * gst/gst.h:
2954         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
2955         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
2956         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
2957         (gst_bin_change_state):
2958         * gst/gstbin.h:
2959         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
2960         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
2961         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
2962         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
2963         (gst_bus_set_sync_handler), (gst_bus_create_watch),
2964         (bus_watch_callback), (bus_watch_destroy),
2965         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
2966         (poll_timeout), (gst_bus_poll):
2967         * gst/gstbus.h:
2968         * gst/gstcaps.h:
2969         * gst/gstdata.h:
2970         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2971         (gst_element_post_message), (gst_element_message_full),
2972         (gst_element_get_state_func), (gst_element_get_state),
2973         (gst_element_abort_state), (gst_element_commit_state),
2974         (gst_element_lost_state), (gst_element_set_state),
2975         (gst_element_pads_activate), (gst_element_change_state),
2976         (gst_element_dispose), (gst_element_set_manager_func),
2977         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
2978         (gst_element_set_manager), (gst_element_get_manager),
2979         (gst_element_set_bus), (gst_element_get_bus),
2980         (gst_element_set_scheduler), (gst_element_get_scheduler):
2981         * gst/gstelement.h:
2982         * gst/gstevent.c: (gst_event_new_segment_seek),
2983         (gst_event_new_flush):
2984         * gst/gstevent.h:
2985         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
2986         (_gst_message_free), (gst_message_get_type), (gst_message_new),
2987         (gst_message_new_eos), (gst_message_new_error),
2988         (gst_message_new_warning), (gst_message_new_tag),
2989         (gst_message_new_state_changed), (gst_message_new_application),
2990         (gst_message_get_structure), (gst_message_parse_tag),
2991         (gst_message_parse_state_changed), (gst_message_parse_error),
2992         (gst_message_parse_warning):
2993         * gst/gstmessage.h:
2994         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
2995         (gst_real_pad_set_property), (gst_pad_set_active),
2996         (gst_pad_is_active), (gst_pad_set_blocked_async),
2997         (gst_pad_set_blocked), (gst_pad_is_blocked),
2998         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
2999         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
3000         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3001         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
3002         (gst_pad_link_filtered), (gst_pad_relink_filtered),
3003         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
3004         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
3005         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
3006         (gst_pad_set_caps), (gst_pad_configure_sink),
3007         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
3008         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
3009         (gst_real_pad_dispose), (gst_real_pad_finalize),
3010         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
3011         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3012         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
3013         * gst/gstpad.h:
3014         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
3015         (pipeline_bus_handler), (gst_pipeline_change_state),
3016         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
3017         * gst/gstpipeline.h:
3018         * gst/gstprobe.h:
3019         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3020         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
3021         (gst_queue_link_src), (gst_queue_bufferalloc),
3022         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3023         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
3024         (gst_queue_loop), (gst_queue_handle_src_event),
3025         (gst_queue_handle_src_query), (gst_queue_src_activate),
3026         (gst_queue_change_state):
3027         * gst/gstqueue.h:
3028         * gst/gstscheduler.c: (gst_scheduler_init),
3029         (gst_scheduler_dispose), (gst_scheduler_create_task),
3030         (gst_scheduler_factory_create):
3031         * gst/gstscheduler.h:
3032         * gst/gststructure.c: (gst_structure_get_type),
3033         (gst_structure_copy_conditional):
3034         * gst/gststructure.h:
3035         * gst/gsttaginterface.h:
3036         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
3037         (gst_task_init), (gst_task_dispose), (gst_task_create),
3038         (gst_task_get_state), (gst_task_start), (gst_task_stop),
3039         (gst_task_pause):
3040         * gst/gsttask.h:
3041         * gst/gstthread.c:
3042         * gst/gstthread.h:
3043         * gst/gsttypes.h:
3044         * gst/schedulers/Makefile.am:
3045         * gst/schedulers/cothreads_compat.h:
3046         * gst/schedulers/entryscheduler.c:
3047         * gst/schedulers/faircothreads.c:
3048         * gst/schedulers/faircothreads.h:
3049         * gst/schedulers/fairscheduler.c:
3050         * gst/schedulers/gstbasicscheduler.c:
3051         * gst/schedulers/gstoptimalscheduler.c:
3052         * gst/schedulers/gthread-cothreads.h:
3053         * gst/schedulers/threadscheduler.c:
3054         (gst_thread_scheduler_task_get_type),
3055         (gst_thread_scheduler_task_class_init),
3056         (gst_thread_scheduler_task_init),
3057         (gst_thread_scheduler_task_start),
3058         (gst_thread_scheduler_task_stop),
3059         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
3060         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
3061         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
3062         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
3063         (plugin_init):
3064         * libs/gst/Makefile.am:
3065         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
3066         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
3067         (gst_file_pad_parent_set):
3068         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3069         (gst_dp_event_from_packet):
3070         * tests/complexity.c: (main):
3071         * tests/mass_elements.c: (main):
3072         * testsuite/states/locked.c: (message_received), (main):
3073         * testsuite/states/parent.c: (main):
3074         * tools/gst-inspect.c: (print_element_flag_info),
3075         (print_implementation_info), (print_pad_info):
3076         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
3077         (main):
3078         * tools/gst-md5sum.c: (event_loop), (main):
3079         * tools/gst-typefind.c: (main):
3080         * tools/gst-xmlinspect.c: (print_element_info):
3081         Next big merge.
3082         Added GstBus for mainloop integration.
3083         Added GstMessage for sending notifications on the bus.
3084         Added GstTask as an abstraction for pipeline entry points.
3085         Removed GstThread.
3086         Removed Schedulers.
3087         Simplified GstQueue for multithreaded core.
3088         Made _link threadsafe, removed old capsnego.
3089         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
3090         Added pad blocking functions.
3091         Reworked scheduling functions in GstPad to prepare for
3092         scheduling updates soon.
3093         Moved events out of data stream.
3094         Simplified GstEvent types.
3095         Added return values to push/pull.
3096         Removed clocking from GstElement.
3097         Added prototypes for state change function for next merge.
3098         Removed iterate from bins and state change management.
3099         Fixed some elements, disabled others for now.
3100         Fixed -inspect and -launch.
3101         Added check for GstBus.
3102
3103 2005-03-10  Wim Taymans  <wim@fluendo.com>
3104
3105         * docs/design/part-MT-refcounting.txt:
3106         * docs/design/part-clocks.txt:
3107         * docs/design/part-gstelement.txt:
3108         * docs/design/part-gstobject.txt:
3109         * docs/design/part-standards.txt:
3110         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3111         (gst_bin_remove_func), (gst_bin_remove):
3112         * gst/gstbin.h:
3113         * gst/gstbuffer.c:
3114         * gst/gstcaps.h:
3115         * testsuite/clock/clock1.c: (main):
3116         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
3117         (main):
3118         * testsuite/dlopen/loadgst.c: (do_test):
3119         * testsuite/refcounting/bin.c: (add_remove_test1),
3120         (add_remove_test2), (main):
3121         * testsuite/refcounting/element.c: (main):
3122         * testsuite/refcounting/element_pad.c: (main):
3123         * testsuite/refcounting/pad.c: (main):
3124         * tools/gst-launch.c: (sigint_handler_sighandler):
3125         * tools/gst-typefind.c: (main):
3126         Doc updates.
3127         Added doc about clock.
3128         removed gst_bin_iterate_recurse_up(), marked methods
3129         for removal.
3130         Fix more testsuites.
3131
3132 2005-03-09  Wim Taymans  <wim@fluendo.com>
3133
3134         * gst/gstpad.c: (gst_pad_get_direction),
3135         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
3136         (gst_pad_collect_valist):
3137         * testsuite/bins/interface.c: (main):
3138         * testsuite/caps/audioscale.c: (test_caps):
3139         * testsuite/caps/caps.c: (test1), (test2), (test3):
3140         * testsuite/caps/deserialize.c: (main):
3141         * testsuite/caps/enumcaps.c: (main):
3142         * testsuite/caps/filtercaps.c: (main):
3143         * testsuite/caps/intersect2.c: (main):
3144         * testsuite/caps/random.c: (main):
3145         * testsuite/caps/renegotiate.c: (my_fixate), (main):
3146         * testsuite/caps/sets.c: (check_caps):
3147         * testsuite/caps/simplify.c: (check_caps), (main):
3148         * testsuite/caps/subtract.c: (check_caps):
3149         Fix _pad_get_direction wrt ghostpads.
3150         Fix caps testsuite.
3151
3152 2005-03-09  Wim Taymans  <wim@fluendo.com>
3153
3154         * check/Makefile.am:
3155         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
3156         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
3157         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
3158         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
3159         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
3160         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
3161         (gst_bin_remove), (gst_bin_iterate_recurse_up),
3162         (bin_element_is_sink), (gst_bin_iterate_sinks),
3163         (gst_bin_iterate_all_by_interface):
3164         * gst/gstbin.h:
3165         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
3166         (gst_element_change_state), (gst_element_dispose),
3167         (gst_element_finalize), (gst_element_set_loop_function):
3168         * gst/gstelement.h:
3169         * gst/gstiterator.c: (find_custom_fold_func):
3170         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
3171         (gst_pad_collectv), (gst_pad_collect_valist),
3172         (gst_pad_template_new):
3173         * gst/gstpipeline.c: (gst_pipeline_class_init),
3174         (gst_pipeline_dispose), (gst_pipeline_set_property),
3175         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
3176         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
3177         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
3178         * gst/gstutils.h:
3179         * gst/schedulers/entryscheduler.c:
3180         * gst/schedulers/gstbasicscheduler.c:
3181         (gst_basic_scheduler_cothreaded_chain),
3182         (gst_basic_scheduler_chain_add_element):
3183         * testsuite/bins/interface.c: (main):
3184         Added GstBin test.
3185         Added GstSystemClock test.
3186         Implemented clock distribution code in GstBin.
3187         Implemented iterate sinks method for future use.
3188         Rearranged gstelement.h
3189         Fix GstIterator comparison bug.
3190         Moved some code to GstPipeline, mostly clocking related.
3191
3192 2005-03-09  Wim Taymans  <wim@fluendo.com>
3193
3194         * configure.ac:
3195         * gst/gst_private.h:
3196         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3197         (gst_bin_remove_func), (gst_bin_remove),
3198         (gst_bin_get_by_name_recurse_up):
3199         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
3200         (gst_clock_id_compare_func), (gst_clock_id_wait),
3201         (gst_clock_id_wait_async), (gst_clock_init),
3202         (gst_clock_adjust_unlocked), (gst_clock_get_time):
3203         * gst/gstelement.h:
3204         * gst/gstinfo.c: (_gst_debug_init):
3205         * gst/gstobject.h:
3206         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
3207         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
3208         * gst/gstpad.h:
3209         Bump version number, we're now 0.9.0
3210         Add future debugging category.
3211         Fix NULL _unref() in _get_by_name_recurse_up
3212         Rearrange gstpad.h.
3213         Update some docs.
3214
3215 2005-03-08  Wim Taymans  <wim@fluendo.com>
3216
3217         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
3218         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
3219         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3220         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
3221         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
3222         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
3223         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
3224         * gst/elements/gstidentity.c: (gst_identity_class_init):
3225         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
3226         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
3227         * gst/elements/gstshaper.c: (gst_shaper_class_init):
3228         * gst/elements/gststatistics.c: (gst_statistics_class_init):
3229         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
3230         (gst_tee_link):
3231         * gst/gstelement.c: (gst_element_class_init),
3232         (gst_element_base_class_init), (gst_element_init),
3233         (gst_element_get_random_pad), (gst_element_wait_state_change),
3234         (gst_element_change_state), (gst_element_dispose),
3235         (gst_element_finalize), (gst_element_set_loop_function):
3236         * gst/gstelement.h:
3237         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
3238         * gst/gstthread.c: (gst_thread_class_init),
3239         (gst_thread_release_children_locks), (gst_thread_change_state):
3240         * gst/schedulers/gstbasicscheduler.c:
3241         (gst_basic_scheduler_loopfunc_wrapper),
3242         (gst_basic_scheduler_chain_wrapper),
3243         (gst_basic_scheduler_src_wrapper),
3244         (gst_basic_scheduler_remove_element):
3245         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3246         Remove threadsafe properties. Fix elements because GObject
3247         complains when installing a property before declaring a
3248         set/get_property handler.
3249         Rearrange gstelement.h file, use STATE macros for state locks.
3250         Free mutexes in the finalize method instead of dispose.
3251
3252 2005-03-08  Wim Taymans  <wim@fluendo.com>
3253
3254         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3255         * gst/gstthread.c: (gst_thread_release_children_locks):
3256         Added parentage check.
3257         Fix build og GstThread again.
3258
3259 2005-03-08  Wim Taymans  <wim@fluendo.com>
3260
3261         * docs/design/part-MT-refcounting.txt:
3262         * docs/design/part-conventions.txt:
3263         * docs/design/part-gstobject.txt:
3264         * docs/design/part-relations.txt:
3265         * docs/design/part-standards.txt:
3266         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3267         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
3268         (gst_bin_get_by_name), (gst_bin_get_by_interface),
3269         (gst_bin_iterate_all_by_interface):
3270         * gst/gstbuffer.h:
3271         * gst/gstclock.h:
3272         * gst/gstelement.c: (gst_element_class_init),
3273         (gst_element_change_state), (gst_element_set_loop_function):
3274         * gst/gstelement.h:
3275         * gst/gstiterator.c:
3276         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
3277         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
3278         (gst_object_dispatch_properties_changed), (gst_object_set_name),
3279         (gst_object_set_parent), (gst_object_unparent),
3280         (gst_object_check_uniqueness):
3281         * gst/gstobject.h:
3282         Docs updates, clean up some headers.
3283
3284 2005-03-07  Wim Taymans  <wim@fluendo.com>
3285
3286         * check/.cvsignore:
3287         * check/Makefile.am:
3288         * check/gst-libs/.cvsignore:
3289         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
3290         * check/gst/.cvsignore:
3291         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
3292         (START_TEST), (gstbus_suite), (main):
3293         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
3294         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
3295         (gst_data_suite), (main):
3296         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
3297         (add_fold_func), (gstiterator_suite), (main):
3298         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
3299         (thread_name_object), (thread_name_object_default),
3300         (gst_object_name_compare), (gst_object_suite), (main):
3301         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
3302         (gst_pad_suite), (main):
3303         * check/gstcheck.c: (gst_check_log_message_func),
3304         (gst_check_log_critical_func), (gst_check_init):
3305         * check/gstcheck.h:
3306         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
3307         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
3308         Added checks.
3309
3310 2005-03-07  Wim Taymans  <wim@fluendo.com>
3311
3312         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
3313         (gst_list_iterator_next), (gst_list_iterator_resync),
3314         (gst_list_iterator_free), (gst_iterator_new_list),
3315         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
3316         (gst_iterator_free), (gst_iterator_push), (filter_next),
3317         (filter_resync), (filter_uninit), (filter_free),
3318         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
3319         (gst_iterator_foreach), (find_custom_fold_func),
3320         (gst_iterator_find_custom):
3321         * gst/gstiterator.h:
3322         Added missing files.
3323
3324 2005-03-07  Wim Taymans  <wim@fluendo.com>
3325
3326         * Makefile.am:
3327         * configure.ac:
3328         * docs/design/part-MT-refcounting.txt:
3329         * docs/design/part-conventions.txt:
3330         * docs/design/part-gstobject.txt:
3331         * docs/design/part-relations.txt:
3332         * examples/mixer/mixer.c: (main):
3333         * examples/thread/thread.c: (eos), (main):
3334         * gst/Makefile.am:
3335         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
3336         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
3337         (gst_spider_plug_from_srcpad):
3338         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
3339         (gst_spider_identity_change_state),
3340         (gst_spider_identity_sink_loop_type_finding):
3341         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
3342         * gst/elements/gstidentity.c: (gst_identity_init):
3343         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
3344         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
3345         * gst/elements/gsttypefindelement.c: (free_entry):
3346         * gst/gst.c:
3347         * gst/gst.h:
3348         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
3349         (gst_bin_set_clock_func), (gst_bin_auto_clock),
3350         (gst_bin_set_index), (gst_bin_set_element_sched),
3351         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
3352         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
3353         (gst_bin_iterate_elements), (iterate_child_recurse),
3354         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
3355         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
3356         (compare_interface), (gst_bin_get_by_interface),
3357         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
3358         * gst/gstbin.h:
3359         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
3360         (gst_buffer_default_free), (gst_buffer_default_copy),
3361         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
3362         (gst_buffer_create_sub):
3363         * gst/gstbuffer.h:
3364         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
3365         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
3366         (gst_caps_unref), (gst_static_caps_get),
3367         (gst_caps_remove_and_get_structure), (gst_caps_append),
3368         (gst_caps_append_structure), (gst_caps_remove_structure),
3369         (gst_caps_copy_nth), (gst_caps_set_simple),
3370         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
3371         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
3372         (gst_caps_structure_intersect_field), (gst_caps_intersect),
3373         (gst_caps_structure_subtract_field), (gst_caps_subtract),
3374         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
3375         (gst_caps_structure_figure_out_union),
3376         (gst_caps_switch_structures), (gst_caps_do_simplify),
3377         (gst_caps_replace), (gst_caps_from_string),
3378         (gst_caps_copy_conditional):
3379         * gst/gstcaps.h:
3380         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
3381         (_gst_clock_id_free), (gst_clock_id_unref),
3382         (gst_clock_id_compare_func), (gst_clock_id_wait),
3383         (gst_clock_id_wait_async), (gst_clock_class_init),
3384         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
3385         (gst_clock_get_time), (gst_clock_set_time_adjust),
3386         (gst_clock_set_property), (gst_clock_get_property):
3387         * gst/gstclock.h:
3388         * gst/gstcompat.h:
3389         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
3390         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
3391         * gst/gstdata.h:
3392         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
3393         (gst_element_requires_clock), (gst_element_provides_clock),
3394         (gst_element_set_clock), (gst_element_clock_wait),
3395         (gst_element_wait), (gst_element_set_time_delay),
3396         (gst_element_is_indexable), (gst_element_add_pad),
3397         (gst_element_add_ghost_pad), (gst_element_remove_pad),
3398         (pad_compare_name), (gst_element_get_static_pad),
3399         (gst_element_request_pad), (gst_element_get_request_pad),
3400         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
3401         (gst_element_class_get_pad_template_list),
3402         (gst_element_class_get_pad_template), (gst_element_error_func),
3403         (gst_element_get_random_pad), (gst_element_get_event_masks),
3404         (gst_element_send_event), (gst_element_seek),
3405         (gst_element_get_query_types), (gst_element_query),
3406         (gst_element_get_formats), (gst_element_convert),
3407         (gst_element_is_locked_state), (gst_element_set_locked_state),
3408         (gst_element_sync_state_with_parent), (gst_element_change_state),
3409         (gst_element_finalize), (gst_element_yield),
3410         (gst_element_interrupt), (gst_element_set_scheduler),
3411         (gst_element_get_scheduler), (gst_element_set_loop_function):
3412         * gst/gstelement.h:
3413         * gst/gstevent.h:
3414         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
3415         (gst_format_get_by_nick), (gst_format_get_details),
3416         (gst_format_iterate_definitions):
3417         * gst/gstformat.h:
3418         * gst/gstindex.c: (gst_index_gtype_resolver):
3419         * gst/gstinfo.c:
3420         * gst/gstinfo.h:
3421         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
3422         (gst_mem_chunk_free):
3423         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3424         (gst_object_ref), (gst_object_unref), (gst_object_sink),
3425         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
3426         (gst_object_dispatch_properties_changed),
3427         (gst_object_set_name_default), (gst_object_set_name),
3428         (gst_object_get_name), (gst_object_set_name_prefix),
3429         (gst_object_get_name_prefix), (gst_object_set_parent),
3430         (gst_object_get_parent), (gst_object_unparent),
3431         (gst_object_check_uniqueness), (gst_object_save_thyself),
3432         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
3433         (gst_object_set_property), (gst_object_get_property),
3434         (gst_object_get_path_string):
3435         * gst/gstobject.h:
3436         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3437         (gst_real_pad_init), (gst_real_pad_get_property),
3438         (gst_pad_custom_new), (gst_pad_get_direction),
3439         (gst_pad_set_active), (gst_pad_is_active),
3440         (gst_pad_set_event_function), (gst_pad_is_linked),
3441         (gst_pad_link_free), (gst_pad_link_intersect),
3442         (gst_pad_link_fixate), (gst_pad_set_caps),
3443         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
3444         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
3445         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
3446         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
3447         (gst_pad_get_caps), (gst_pad_peer_get_caps),
3448         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
3449         (gst_pad_realize), (gst_pad_get_allowed_caps),
3450         (gst_real_pad_dispose), (gst_real_pad_finalize),
3451         (gst_pad_collectv), (gst_pad_collect_valist),
3452         (gst_pad_template_dispose), (gst_pad_template_new),
3453         (gst_pad_get_internal_links):
3454         * gst/gstpad.h:
3455         * gst/gstpipeline.c: (gst_pipeline_dispose),
3456         (gst_pipeline_change_state):
3457         * gst/gstpipeline.h:
3458         * gst/gstplugin.c:
3459         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
3460         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
3461         * gst/gstpluginfeature.h:
3462         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3463         * gst/gstquery.c: (_gst_query_type_initialize),
3464         (gst_query_type_register), (gst_query_type_get_by_nick),
3465         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
3466         * gst/gstquery.h:
3467         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
3468         * gst/gstscheduler.c: (gst_scheduler_add_element),
3469         (gst_scheduler_factory_create):
3470         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3471         (gst_structure_free), (gst_structure_set_name),
3472         (gst_structure_id_set_value), (gst_structure_set_value),
3473         (gst_structure_set_valist), (gst_structure_remove_field),
3474         (gst_structure_remove_fields),
3475         (gst_structure_remove_fields_valist),
3476         (gst_structure_remove_all_fields), (gst_structure_foreach),
3477         (gst_structure_map_in_place),
3478         (gst_caps_structure_fixate_field_nearest_int),
3479         (gst_caps_structure_fixate_field_nearest_double):
3480         * gst/gststructure.h:
3481         * gst/gstsystemclock.c: (gst_system_clock_class_init),
3482         (gst_system_clock_init), (gst_system_clock_dispose),
3483         (gst_system_clock_async_thread),
3484         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
3485         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3486         * gst/gstsystemclock.h:
3487         * gst/gsttag.c: (gst_tag_list_add_value_internal),
3488         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
3489         * gst/gsttaginterface.c:
3490         * gst/gstthread.c: (gst_thread_dispose),
3491         (gst_thread_release_children_locks), (gst_thread_change_state),
3492         (gst_thread_main_loop):
3493         * gst/gsttrashstack.h:
3494         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
3495         * gst/gsttypes.h:
3496         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3497         (gst_element_request_pad), (gst_element_get_pad_from_template),
3498         (gst_element_request_compatible_pad),
3499         (gst_element_get_compatible_pad_filtered),
3500         (gst_element_get_compatible_pad), (gst_element_state_get_name),
3501         (gst_element_link_pads_filtered), (gst_element_link_filtered),
3502         (gst_element_link_many), (gst_element_link),
3503         (gst_element_link_pads), (gst_element_unlink_pads),
3504         (gst_element_unlink_many), (gst_element_unlink),
3505         (gst_pad_can_link_filtered), (gst_pad_can_link),
3506         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
3507         (gst_object_default_error), (gst_bin_add_many),
3508         (gst_bin_remove_many), (gst_element_populate_std_props),
3509         (gst_element_class_install_std_props), (gst_buffer_merge),
3510         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
3511         (link_fold_func), (gst_pad_proxy_setcaps):
3512         * gst/gstutils.h:
3513         * gst/gstvalue.c: (gst_value_deserialize_string):
3514         * gst/parse/grammar.y:
3515         * gst/schedulers/gstbasicscheduler.c:
3516         (gst_basic_scheduler_cothreaded_chain),
3517         (gst_basic_scheduler_chain_recursive_add),
3518         (gst_basic_scheduler_pad_link):
3519         * gst/schedulers/gstoptimalscheduler.c:
3520         (get_group_schedule_function),
3521         (gst_opt_scheduler_state_transition),
3522         (gst_opt_scheduler_add_element), (element_get_reachables_func):
3523         * libs/gst/bytestream/bytestream.c:
3524         * libs/gst/dataprotocol/dataprotocol.c:
3525         (gst_dp_header_from_buffer):
3526         * po/nb.po:
3527         * po/ru.po:
3528         * tests/threadstate/threadstate2.c: (eos):
3529         * tools/gst-compprep.c: (main):
3530         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
3531         (print_pad_info), (print_children_info):
3532         * tools/gst-launch.c: (idle_func), (main):
3533         * tools/gst-md5sum.c: (idle_func), (main):
3534         * tools/gst-xmlinspect.c: (print_element_info):
3535         First THREADED backport attempt, focusing on adding locks and
3536         making sure the API is threadsafe. Needs more work. More docs
3537         follow this week.
3538
3539 2005-02-24  Andy Wingo  <wingo@pobox.com>
3540
3541         * tests/bench-complexity.scm:
3542         * tests/complexity.gnuplot: New files, good for running complexity
3543         benchmarks.
3544
3545         * tests/Makefile.am:
3546         * tests/complexity.c: New test, sets up N elements, at each level
3547         teeing into M streams per element. Eeeenteresting.
3548
3549         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
3550         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
3551         running bench-mass_elements.scm.
3552
3553         * tests/bench-mass_elements.scm: New script, runs mass_elements
3554         for various numbers of identities, outputting the results to a
3555         file. Requires guile 1.6. Just for testing.
3556
3557 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3558
3559         * gst/schedulers/fairscheduler.c:
3560           compile with debug disabled
3561
3562 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3563
3564         * configure.ac:
3565           hunting season on 0.9 is now OPEN
3566
3567 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
3568
3569         * docs/libs/tmpl/gstcontrol.sgml:
3570         * docs/libs/tmpl/gstdparam.sgml:
3571         * docs/libs/tmpl/gstdplinint.sgml:
3572         * docs/libs/tmpl/gstdpman.sgml:
3573         * docs/libs/tmpl/gstdpsmooth.sgml:
3574         * docs/libs/tmpl/gstunitconvert.sgml:
3575           more docs for the state of dparams
3576
3577 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3578
3579         * gst/gstelementfactory.c: (gst_element_factory_create):
3580         * gst/gstobject.c: (gst_object_init),
3581         (gst_object_set_name_default), (gst_object_set_name):
3582           name objects by default, not in gst_element_factory_create. Allows
3583           using elements created with g_object_new. (fixes #167283)
3584
3585 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3586
3587         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
3588           make the time that debugging functions print relative to when
3589           gst_init was called
3590
3591 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
3592
3593         * gst/gsttaginterface.c:
3594           Fix inline docs: tag setter vararg functions are NULL-terminated,
3595           GST_TAG_INVALID doesn't exist any more.
3596
3597 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3598
3599         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
3600         Allocate the 1 byte more memory that was forgotten!!!!!
3601         fixes memory corruption on 64bit platforms
3602
3603 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
3604
3605         * docs/pwg/building-pads.xml:
3606         * docs/pwg/intro-basics.xml:
3607           fixed a few typos, relabeled introductionary list of types
3608         * docs/random/ensonic/dparams.txt:
3609           more notes abut dparam changes
3610         * libs/gst/control/dparam.c: (gst_dparam_attach):
3611         * libs/gst/control/dparammanager.c:
3612         * libs/gst/control/dparammanager.h:
3613           - many comments and notes on dparam implementation
3614           - new dparams are were not initialized to the default value
3615             from param spec
3616
3617 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3618
3619         submitted by: Peter Astakhov
3620
3621         * po/LINGUAS:
3622         * po/ru.po:
3623           adding Russian translation
3624
3625 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3626
3627         * configure.ac:
3628         * docs/gst/Makefile.am:
3629         * docs/libs/Makefile.am:
3630           make sure popt is added to gtk-doc flags.  Fixes #147782.
3631
3632 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3633
3634         * docs/faq/using.xml:
3635           Fix typo in FAQ (artssink => artsdsink)
3636
3637 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3638
3639         * tools/gst-launch.1.in:
3640           Fix typo (#166699).
3641
3642 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
3643
3644         * docs/faq/using.xml:
3645           Add -v argument to fakesrc/fakesink gst-launch line,
3646           so that the promised output will actually show up.
3647
3648 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3649
3650         * gst/gstthread.c: (gst_thread_change_state):
3651           Implement state-change error handling (#166073).
3652
3653 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3654
3655         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3656           Release interrupt after handling (#166250).
3657
3658 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3659
3660         * configure.ac:
3661           back to HEAD
3662
3663 === release 0.8.9 ===
3664
3665 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3666
3667         * NEWS:
3668         * RELEASE:
3669         * configure.ac:
3670           releasing 0.8.9, "Like Eating Glass"
3671
3672 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3673
3674         submitted by: Clytie Siddall
3675
3676         * po/vi.po: Added Vietnamese translation
3677
3678 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3679
3680         patch by: Tim Philipp-Müller
3681
3682         * configure.ac:
3683         * gst/gstpad.c:
3684           unref data when probe function returns FALSE.  Fixes #166362
3685
3686 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3687
3688         * gst/gst.c: (gst_init_get_popt_table):
3689           Fix typo (#166269).
3690
3691 2005-02-04  Andy Wingo  <wingo@pobox.com>
3692
3693         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
3694         the debugging on whether the caps are compatible.
3695
3696 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3697
3698         * docs/manual/basics-elements.xml:
3699           Fix two typos.
3700
3701 2005-02-02  Wim Taymans  <wim@fluendo.com>
3702
3703         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
3704         (schedule_chain), (get_invalid_call), (chain_invalid_call),
3705         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
3706         Remove some FIXMEs after analysing and commenting why they
3707         are not issues.
3708
3709 2005-02-02  Wim Taymans  <wim@fluendo.com>
3710
3711         * gst/schedulers/gstoptimalscheduler.c:
3712         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
3713         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
3714         (get_invalid_call), (chain_invalid_call),
3715         (get_group_schedule_function), (loop_group_schedule_function),
3716         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
3717         (gst_opt_scheduler_state_transition),
3718         (gst_opt_scheduler_add_element),
3719         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
3720         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
3721         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
3722         (gst_opt_scheduler_show):
3723         Added lock to protect scheduler data structures.
3724
3725 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3726
3727         * testsuite/threads/threadi.c: (cb_data):
3728           Fix buglet in test.
3729
3730 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3731
3732         * testsuite/threads/Makefile.am:
3733         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
3734           On Wim's request, split the test in three separately-compiled
3735           tests that each test a very specific bug. Two of them still fail,
3736           will create bugs for those. threadi.c indicates why they fail.
3737
3738 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3739
3740         * gst/schedulers/gstoptimalscheduler.c:
3741         (get_group_schedule_function):
3742           Try to work with the threading mess that queue_link is.
3743
3744 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3745
3746         * gst/gstbin.c: (gst_bin_remove_func):
3747           Explicitely make an element release locks in a group when being
3748           remove from a bin.
3749         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3750           If there's no scheduler, always return immediately (similar to
3751           gst_element_interrupt).
3752
3753 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3754
3755         * gst/gstbin.c: (gst_bin_child_state_change_func):
3756           Remove a piece of code that could never be reached.
3757         * docs/gst/gstreamer-sections.txt:
3758         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
3759         (gst_pad_call_get_function):
3760         * gst/gstpad.h:
3761         * testsuite/pad/Makefile.am:
3762           Fix #150546, enable tests.
3763
3764 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3765
3766         * docs/pwg/advanced-types.xml:
3767           Fix description for buffer-frames=0.
3768         * docs/gst/tmpl/gstbin.sgml:
3769         * gst/gstbin.c: (gst_bin_child_state_change_func),
3770         (gst_bin_change_state), (gst_bin_change_state_norecurse):
3771         * gst/gstbin.h:
3772         * testsuite/threads/Makefile.am:
3773         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
3774         (cb_state), (cb_play), (main):
3775           Fix non-recursive state changes to *really* change the state
3776           of the object, and not just call parent_class->state_change.
3777           Fix a lot of lockups caused by this. Fixes #132775. Add test
3778           for the problem. Also enable test to show #142588 (fixed).
3779         * gst/gstthread.c: (gst_thread_change_state),
3780         (gst_thread_child_state_change):
3781           Don't exit the thread if we go to NULL and are inside thread
3782           context. Instead, return control to the main thread context
3783           and exit from there.
3784         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
3785           Don't unset virtual functions, since those may still be used.
3786           That's not necessarily correct, but suffices for now.
3787         * configure.ac:
3788         * testsuite/Makefile.am:
3789         * testsuite/pad/Makefile.am:
3790         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
3791         (gst_test_sink_base_init), (gst_test_sink_chain),
3792         (gst_test_sink_init), (main):
3793         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
3794         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
3795         (main):
3796         * testsuite/pad/link.c: (gst_test_element_class_init),
3797         (gst_test_element_base_init), (gst_test_src_get),
3798         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
3799         (gst_test_filter_loop), (gst_test_filter_init),
3800         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
3801         (cb_error), (main):
3802           Add tests to show #150546. Pass, but should fail (currently
3803           disabled from the testsuite).
3804         * gst/gstscheduler.c: (gst_scheduler_dispose):
3805           Dereference child schedulers on dispose (#94464).
3806         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3807           Fix typo.
3808         * testsuite/threads/thread.c: (main):
3809           Add more debug.
3810
3811 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3812
3813         * gst/gstpad.c: (gst_pad_push):
3814           Oops, revert previous commit, broke testsuite...
3815
3816 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3817
3818         * gst/gstpad.c: (gst_pad_push):
3819           Add check that the pad on which the push is performed is not a
3820           get-based pad (#150546).
3821
3822 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3823
3824         * gst/elements/gsttypefindelement.c:
3825         (gst_type_find_element_handle_event):
3826           Fix buffer pushing if stream EOSes during typefinding.
3827
3828 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
3829
3830         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3831
3832         * gst/gstvalue.c: (gst_string_wrap):
3833           Allow NULL-strings as argument (#165365).
3834
3835 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
3836
3837         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3838
3839         * gst/schedulers/faircothreads.c:
3840         (gst_fair_scheduler_cothread_queue_show):
3841           Fix build without debug enabled.
3842
3843 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
3844
3845         * docs/gst/gstreamer-sections.txt:
3846         * docs/libs/gstreamer-libs-docs.sgml:
3847         * docs/libs/gstreamer-libs-sections.txt:
3848         * docs/libs/tmpl/gstcontrol.sgml:
3849         * docs/libs/tmpl/gstdparam.sgml:
3850         * docs/libs/tmpl/gstdplinint.sgml:
3851         * docs/libs/tmpl/gstdpman.sgml:
3852         * docs/libs/tmpl/gstdpsmooth.sgml:
3853         * docs/libs/tmpl/gstputbits.sgml:
3854         * docs/libs/tmpl/gstunitconvert.sgml:
3855         * libs/gst/control/dparam.c:
3856         * libs/gst/control/dparam.h:
3857         * libs/gst/control/dparammanager.c:
3858         (gst_dpman_add_required_dparam_callback),
3859         (gst_dpman_add_required_dparam_direct),
3860         (gst_dpman_add_required_dparam_array),
3861         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
3862         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
3863         (gst_dpman_get_manager)
3864           restructured DParam docs
3865
3866 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
3867
3868         * gst-element-check.m4:
3869           Only check for gst-inspect if we haven't already
3870           found it in previous element check runs
3871
3872 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
3873
3874         * docs/gst/Makefile.am:
3875         * docs/libs/Makefile.am:
3876           fixed install rules to treat style.css as optional
3877
3878 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
3879
3880         * docs/gst/Makefile.am:
3881         * docs/libs/Makefile.am:
3882           install style.css along with docs
3883         * docs/gst/tmpl/gstbin.sgml:
3884         * docs/gst/tmpl/gstclock.sgml:
3885         * docs/gst/tmpl/gstdata.sgml:
3886         * docs/gst/tmpl/gstelement.sgml:
3887         * gst/gstbin.h:
3888         * gst/gstelement.c: (gst_element_class_init):
3889         * gst/gstelement.h:
3890           fixing incomplete docs
3891
3892 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3893
3894         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
3895           Don't unref seek event twice when fflush() fails
3896           
3897 2005-01-22  David Schleef  <ds@schleef.org>
3898
3899         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
3900
3901 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
3902
3903         * docs/gst/Makefile.am:
3904         * docs/libs/Makefile.am:
3905           added params for deprecation guards
3906         * gst/gst.c:
3907         * gst/gst.h:
3908         * gst/gsterror.c: (_gst_resource_errors_init),
3909         (_gst_stream_errors_init):
3910         * gst/gsterror.h:
3911           documented some more enums
3912
3913 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3914         * gst/autoplug/gstspideridentity.c:
3915         Cosmetic fix - spider_find_peek should be static
3916         * gst/parse/parse.l:
3917         Applying fix for #164261
3918
3919 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
3920
3921         * docs/gst/gstreamer-sections.txt:
3922         * docs/gst/tmpl/gstplugin.sgml:
3923         * docs/libs/gstreamer-libs-sections.txt:
3924         * docs/libs/tmpl/gstcontrol.sgml:
3925         * gst/gstbuffer.h:
3926         * gst/gsttag.h:
3927         * gst/gstvalue.c:
3928           added docs for the TAG defines
3929
3930 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3931
3932         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3933           Only unref entry if there is an entry.
3934
3935 2005-01-17  Wim Taymans  <wim@fluendo.com>
3936
3937         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3938         (remove_from_group), (schedule_group), (normalize_group),
3939         (gst_opt_scheduler_iterate):
3940         Also ref/unref decoupled elements before iterating the
3941         group since they are not added to the list of elements.
3942
3943 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3944
3945         * docs/manual/highlevel-components.xml:
3946           Add subtitle/streamselection as new features to playbin.
3947
3948 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3949
3950         * docs/manual/manual.xml:
3951           Re-enable dataaccess docs (oops).
3952
3953 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3954
3955         * docs/pwg/advanced-types.xml:
3956         * docs/random/mimetypes:
3957           Add documentation on libsndfile types (#163309), by Steve Baker
3958           <steve@stevebaker.org>.
3959         * gst/gstelement.c: (gst_element_release_request_pad):
3960           If an element has no explicit function, just remove the pad.
3961
3962 2005-01-17  Luca Ognibene  <luogni@tin.it>
3963
3964         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3965
3966         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
3967           Fix memleak (#163801).
3968
3969 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3970
3971         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
3972           I think this is actually more correct...
3973
3974 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3975
3976         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3977           Another workaround for memory access while destroyed in callback.
3978           Please, someone with refcount knowledge, have a look at this.
3979
3980 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3981
3982         * docs/faq/faq.xml:
3983         * docs/faq/legal.xml:
3984           move the legal Q&A here
3985
3986 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3987
3988         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
3989         (gst_tee_request_new_pad):
3990           Fix negotiation.
3991
3992 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3993
3994         * docs/random/omega/caps2:
3995         * testsuite/caps/caps_strings:
3996           replace framerate aproximations by their real value
3997           (24000/1001, 30000/1001, 60000/1001)
3998           Partially fixes bug #164049
3999
4000 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4001
4002         * docs/gst/Makefile.am:
4003           don't fail on the stupid GstPoptOption
4004
4005 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4006
4007         * gst/gstpad.h:
4008         * gst/gstprobe.c:
4009           allow probes to work on ghost pads by realizing the pad
4010           probe debugging
4011
4012 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4013
4014         * docs/gst/gstreamer-sections.txt:
4015         * docs/gst/tmpl/gstpad.sgml:
4016         * gst/gstpad.c: (gst_pad_set_active_recursive):
4017         * gst/gstpad.h:
4018           Add gst_pad_set_active_recursive().
4019
4020 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4021
4022         * docs/random/release:
4023           updates
4024         * gst/gst_private.h:
4025         * gst/gstinfo.c:
4026         * gst/gstobject.c:
4027           move deep_notify logging to a new category
4028         * gst/gstprobe.c:
4029         * gst/gstprobe.h:
4030           add stuff so bindings can wrap probes
4031
4032 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4033
4034         * gst/gstplugin.c: (gst_plugin_load):
4035           Fix plugin loading if plugin/lib was already loaded. Fixes
4036           #163383
4037
4038 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
4039
4040         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4041
4042         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
4043           Protect plugin loading by a mutex so it's threadsafe. Fixes
4044           #163234.
4045
4046 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4047
4048         * gst/gstevent.c: (_gst_event_copy):
4049           Reference source object when copying events, since it'll be
4050           dereferenced on event dereferencing as well.
4051
4052 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4053
4054         * docs/gst/gstreamer-sections.txt:
4055         * docs/gst/tmpl/gstevent.sgml:
4056         * gst/gstevent.c: (gst_event_new_filler_stamped),
4057         (gst_event_filler_get_duration):
4058         * gst/gstevent.h:
4059           Add two new functions for filler events (which are used to
4060           synchronize streams if one of them is not having any data
4061           for a while) without interrupting the actual data-stream.
4062           Basically a no-op.
4063         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4064         (gst_queue_link_sink), (gst_queue_link_src),
4065         (gst_queue_change_state):
4066           Allow for renegotiation while filled. Required for stream
4067           switching while playing.
4068
4069 2005-01-08  Benjamin Otte  <otte@gnome.org>
4070
4071         * gst/gstelement.c: (gst_element_link_many):
4072           fix up g_return_if_fail's
4073         * po/LINGUAS:
4074         * po/de.po:
4075           add German translation, that was somehow not included
4076
4077 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4078
4079         * docs/random/mimetypes:
4080           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
4081           do not add them to riff-lib as they are not common
4082
4083 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4084
4085         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4086           Check for existence of probe after performing the probe before
4087           re-accessing it to prevent segfaults caused by removal of the
4088           probe in the callback.
4089
4090 2005-01-05  David Schleef  <ds@schleef.org>
4091
4092         * testsuite/registry/Makefile.am:
4093         * testsuite/registry/gst-print-formats.c:
4094         (print_pad_templates_info), (print_element_list),
4095         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
4096         (g_list_uniqify), (get_pad_templates_info),
4097         (get_element_mime_list), (print_mime_list), (main): A little
4098         program that looks through the registry to find elements of
4099         a given type.  Not particularly interesting as a test, except
4100         that there's no other test covering the same area.
4101
4102 2005-01-05  David Schleef  <ds@schleef.org>
4103
4104         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
4105         (fault_handler_sigaction), (fault_spin),
4106         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
4107         in signal.h-type signal handlers by not calling forbidden functions,
4108         including gst_element_set_state().
4109
4110 2005-01-05  David Schleef  <ds@schleef.org>
4111
4112         * gst/gstvalue.h: Mark _gst_reserved[] as private
4113
4114 2005-01-05  David Schleef  <ds@schleef.org>
4115
4116         * gst/gstvalue.c: Fix doc build problem.
4117
4118 2005-01-05  David Schleef  <ds@schleef.org>
4119
4120         * gst/gstvalue.c: Add some documentation
4121
4122 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
4123
4124         * docs/README:
4125           another shell oneliner for empty return value docs
4126         * gst/gstcaps.c:
4127         * gst/gstvalue.c:
4128         * libs/gst/control/dparam.c:
4129           more doc fixes (parameters and return values)
4130
4131 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
4132
4133         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4134
4135         * gst/gstregistry.h:
4136         * gst/registries/gstxmlregistry.c:
4137           Fix macro's for Mingw (fixes #162276).
4138
4139 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
4140
4141         * docs/README:
4142           quick shell oneliner to find undocumented members
4143         * docs/gst/tmpl/gstplugin.sgml:
4144         * docs/gst/tmpl/gstscheduler.sgml:
4145         * docs/gst/tmpl/gstthread.sgml:
4146           more enumtypes cleanup
4147         * gst/gsterror.h:
4148           activated documentation comments, now someone needs to document
4149           the enums :(
4150
4151 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4152
4153         * docs/manual/manual.xml:
4154           Add dataaccess part (doh!).
4155
4156 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4157
4158         * docs/manual/advanced-autoplugging.xml:
4159           Fix typo (intiate -> initiate).
4160
4161 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4162
4163         * docs/random/bbb/streamselection:
4164           Add some notes on how to handle multi-subtitle/-audio streams.
4165
4166 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
4167
4168         * docs/gst/gstreamer-docs.sgml:
4169         * docs/gst/gstreamer-sections.txt:
4170         * docs/gst/tmpl/gstenumtypes.sgml:
4171         * docs/gst/tmpl/gsterror.sgml:
4172         * docs/gst/tmpl/gstevent.sgml:
4173         * docs/gst/tmpl/gstpad.sgml:
4174         * docs/gst/tmpl/gstpadtemplate.sgml:
4175         * docs/gst/tmpl/gstthread.sgml:
4176           removed gstenumtypes section from docs and put all the enums into
4177           their sections
4178
4179 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4180
4181         * gst/gstplugin.c:
4182           document gst_library_load a bit more (riff special case + return
4183           value if already loaded)
4184         * testsuite/bytestream/filepadsink.c:
4185           plugin name is 'gstbytestream', not 'bytestream'
4186
4187 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4188
4189         * docs/random/bbb/subtitles:
4190           Add some first mind rumblings on proper subtitle support.
4191
4192 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4193
4194         * po/ca.po:
4195         * po/sv.po:
4196           updated translations
4197
4198 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4199
4200         * docs/manual/advanced-dataaccess.xml:
4201           Add section on how to use fakesrc/fakesink/identity in your
4202           application, plus section on how to embed plugins. Also mention
4203           probes.
4204         * docs/manual/appendix-checklist.xml:
4205         * docs/manual/appendix-debugging.xml:
4206         * docs/manual/appendix-gnome.xml:
4207         * docs/manual/appendix-integration.xml:
4208           Debug -> checklist, GNOME -> integration, add sections on Linux,
4209           KDE integration and add other things useful for application
4210           development.
4211         * docs/manual/manual.xml:
4212           Remove some fixmes, update some file pointers.
4213         * docs/pwg/appendix-checklist.xml:
4214           Fix typo.
4215         * docs/pwg/building-boiler.xml:
4216           Remove ugly header and add commented fixme.
4217         * docs/pwg/pwg.xml:
4218           Add fixme.
4219         * examples/manual/Makefile.am:
4220           Add example for added docs.
4221
4222 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4223
4224         * configure.ac:
4225           back to HEAD
4226
4227 === release 0.8.8 ===
4228
4229 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4230
4231         * NEWS:
4232         * RELEASE:
4233         * configure.ac:
4234           Releasing 0.8.8, "I'll Take Care Of You"
4235
4236 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4237
4238         * configure.ac:
4239           second prerelease
4240
4241 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4242
4243         patch by: Wim Taymans
4244
4245         * gst/gstbin.c:
4246           Fix for #159852 - make iterate emission threadsafe
4247
4248 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4249
4250         * docs/faq/cvs.xml:
4251           notes about new fdo account request
4252
4253 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
4254
4255         * docs/gst/gstreamer-docs.sgml:
4256         * docs/gst/tmpl/gstenumtypes.sgml:
4257         * docs/gst/tmpl/gstplugin.sgml:
4258         * docs/libs/gstreamer-libs-docs.sgml:
4259           Added missing short docs. Added ids for navigation.
4260
4261 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4262
4263         * docs/manual/advanced-autoplugging.xml:
4264         * docs/manual/advanced-schedulers.xml:
4265         * docs/manual/advanced-threads.xml:
4266           Rewrites. Remove cothreads, go a bit into opt specifically,
4267           document threads and their gotchas, and do some technical stuff
4268           on autoplugging plus add some working examples. Fixes #157395.
4269         * examples/manual/Makefile.am:
4270           Add typefind/autoplugger example (one that actually works).
4271           Remove queue example since it's a duplicate of the thread one.
4272
4273 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4274
4275         * gst/gstvalue.c: (gst_value_deserialize_string):
4276           use deprecated g_value_set_string_take_ownership to keep compatible
4277           with glib 2.2
4278
4279 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4280
4281         * gst/gstvalue.c: (gst_value_deserialize_string):
4282           revert last patch, only dom a g_utf8_validate now before accepting
4283           the string - caps parsing strips " from strings so we can't rely on
4284           them
4285         * testsuite/caps/value_serialize.c: (test_string_deserialization):
4286           disable a test that tested the above and comment it
4287
4288 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
4289
4290         Patch reviewed by David Schleef  <ds@schleef.org>
4291
4292         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
4293         bug #153882)
4294         * win32/gstenumtypes.h: same
4295
4296 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4297
4298         * gst/gstpad.c: (gst_pad_query):
4299           Do query on realized pad, similar to how convert/send_event handle
4300           this. Also makes sense, since this pad belongs to the function to
4301           which this query will be sent. Fixes #158163.
4302
4303 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
4304
4305         * docs/manual/appendix-programs.xml: fix pipeline to actually work
4306
4307 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4308
4309         * docs/faq/general.xml: fix pipeline to actually work
4310
4311 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4312
4313         * gst/gstvalue.c: (gst_value_deserialize_string):
4314           check that a simple string that gets deserialized does not contain
4315           invalid characters
4316         * testsuite/caps/value_serialize.c: (test_string_deserialization):
4317           remove a test that tested a wring behaviour
4318
4319 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
4320
4321         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4322
4323         * docs/manual/intro-motivation.xml:
4324           Fix typos.
4325
4326 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
4327
4328         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4329
4330         * docs/gst/tmpl/gstprobe.sgml:
4331           Fix documentation of probe callback - it is supposed to return
4332           FALSE, not TRUE, to remove data from the stream (#159087).
4333
4334 2004-12-16  Daniel Gazard  <dany42@free.fr>
4335
4336         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4337
4338         * gst/gstelementfactory.c: (gst_element_factory_create):
4339           Fix compile failure if compiling without libxml2 support (#149936).
4340
4341 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4342
4343         * docs/manual/advanced-autoplugging.xml:
4344         * docs/manual/highlevel-components.xml:
4345           Move spider from autoplugging to components. Autoplugging is for
4346           internals, not for solutions. ;-).
4347
4348 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4349
4350         * docs/random/ds/0.9-suggested-changes:
4351           Make note on device/location/uri property names.
4352
4353 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4354
4355         * docs/manual/advanced-autoplugging.xml:
4356         * docs/manual/advanced-clocks.xml:
4357         * docs/manual/advanced-interfaces.xml:
4358         * docs/manual/advanced-metadata.xml:
4359         * docs/manual/advanced-position.xml:
4360         * docs/manual/advanced-schedulers.xml:
4361         * docs/manual/advanced-threads.xml:
4362         * docs/manual/appendix-gnome.xml:
4363         * docs/manual/appendix-programs.xml:
4364         * docs/manual/appendix-quotes.xml:
4365         * docs/manual/autoplugging.xml:
4366         * docs/manual/basics-bins.xml:
4367         * docs/manual/basics-data.xml:
4368         * docs/manual/basics-elements.xml:
4369         * docs/manual/basics-helloworld.xml:
4370         * docs/manual/basics-init.xml:
4371         * docs/manual/basics-pads.xml:
4372         * docs/manual/basics-plugins.xml:
4373         * docs/manual/bins-api.xml:
4374         * docs/manual/bins.xml:
4375         * docs/manual/buffers-api.xml:
4376         * docs/manual/buffers.xml:
4377         * docs/manual/clocks.xml:
4378         * docs/manual/components.xml:
4379         * docs/manual/cothreads.xml:
4380         * docs/manual/debugging.xml:
4381         * docs/manual/dparams-app.xml:
4382         * docs/manual/dynamic.xml:
4383         * docs/manual/elements-api.xml:
4384         * docs/manual/elements.xml:
4385         * docs/manual/factories.xml:
4386         * docs/manual/gnome.xml:
4387         * docs/manual/goals.xml:
4388         * docs/manual/helloworld.xml:
4389         * docs/manual/helloworld2.xml:
4390         * docs/manual/highlevel-components.xml:
4391         * docs/manual/highlevel-xml.xml:
4392         * docs/manual/init-api.xml:
4393         * docs/manual/intro-basics.xml:
4394         * docs/manual/intro-motivation.xml:
4395         * docs/manual/intro-preface.xml:
4396         * docs/manual/intro.xml:
4397         * docs/manual/links-api.xml:
4398         * docs/manual/links.xml:
4399         * docs/manual/manual.xml:
4400         * docs/manual/motivation.xml:
4401         * docs/manual/pads-api.xml:
4402         * docs/manual/pads.xml:
4403         * docs/manual/plugins-api.xml:
4404         * docs/manual/plugins.xml:
4405         * docs/manual/programs.xml:
4406         * docs/manual/queues.xml:
4407         * docs/manual/quotes.xml:
4408         * docs/manual/schedulers.xml:
4409         * docs/manual/states-api.xml:
4410         * docs/manual/states.xml:
4411         * docs/manual/threads.xml:
4412         * docs/manual/typedetection.xml:
4413         * docs/manual/win32.xml:
4414         * docs/manual/xml.xml:
4415           Try 2. This time, include a short preface as a "general
4416           introduction", also add code blocks around all code samples
4417           so they get compiled. We still need a way to tell readers
4418           the filename of the code sample. In some cases, don't show
4419           all code in the documentation, but do include it in the generated
4420           code. This allows for focussing on specific bits in the docs,
4421           while still having a full test application available.
4422         * examples/manual/Makefile.am:
4423           Fix up examples for new ADM. Add several of the new examples that
4424           were either added or were missing from the build system.
4425         * examples/manual/extract.pl:
4426           Allow nameless blocks.
4427
4428 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4429
4430         * docs/manual/elements-api.xml:
4431         * docs/manual/helloworld.xml:
4432         * examples/manual/extract.pl:
4433           fix last example.  Add example of adding code blocks that are not
4434           shown in docbook output.
4435
4436 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4437
4438         * docs/manual/dynamic.xml:
4439         * docs/manual/elements-api.xml:
4440         * docs/manual/gnome.xml:
4441         * docs/manual/helloworld2.xml:
4442         * docs/manual/init-api.xml:
4443         * docs/manual/queues.xml:
4444         * docs/manual/threads.xml:
4445         * docs/manual/xml.xml:
4446         * examples/manual/extract.pl:
4447           Make it possible to extract example code from separate blocks.
4448           Should make Ronald happy.
4449
4450 2004-12-15  Wim Taymans  <wim@fluendo.com>
4451
4452         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4453         (remove_from_group), (group_elements_set_visited),
4454         (normalize_group), (gst_opt_scheduler_iterate):
4455         Fix bug where a flag was not updated on a decoupled entry point 
4456         because we were just checking the group element list and decoupled
4457         elements are not in that list..
4458
4459 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4460
4461         * docs/manual/advanced-autoplugging.xml:
4462         * docs/manual/advanced-clocks.xml:
4463         * docs/manual/advanced-dparams.xml:
4464         * docs/manual/advanced-interfaces.xml:
4465         * docs/manual/advanced-metadata.xml:
4466         * docs/manual/advanced-position.xml:
4467         * docs/manual/advanced-schedulers.xml:
4468         * docs/manual/advanced-threads.xml:
4469         * docs/manual/appendix-debugging.xml:
4470         * docs/manual/appendix-gnome.xml:
4471         * docs/manual/appendix-programs.xml:
4472         * docs/manual/appendix-quotes.xml:
4473         * docs/manual/appendix-win32.xml:
4474         * docs/manual/autoplugging.xml:
4475         * docs/manual/basics-bins.xml:
4476         * docs/manual/basics-data.xml:
4477         * docs/manual/basics-elements.xml:
4478         * docs/manual/basics-helloworld.xml:
4479         * docs/manual/basics-init.xml:
4480         * docs/manual/basics-pads.xml:
4481         * docs/manual/basics-plugins.xml:
4482         * docs/manual/bins-api.xml:
4483         * docs/manual/bins.xml:
4484         * docs/manual/buffers-api.xml:
4485         * docs/manual/buffers.xml:
4486         * docs/manual/clocks.xml:
4487         * docs/manual/components.xml:
4488         * docs/manual/cothreads.xml:
4489         * docs/manual/debugging.xml:
4490         * docs/manual/dparams-app.xml:
4491         * docs/manual/dynamic.xml:
4492         * docs/manual/elements-api.xml:
4493         * docs/manual/elements.xml:
4494         * docs/manual/factories.xml:
4495         * docs/manual/gnome.xml:
4496         * docs/manual/goals.xml:
4497         * docs/manual/helloworld.xml:
4498         * docs/manual/helloworld2.xml:
4499         * docs/manual/highlevel-components.xml:
4500         * docs/manual/highlevel-xml.xml:
4501         * docs/manual/init-api.xml:
4502         * docs/manual/intro-motivation.xml:
4503         * docs/manual/intro-preface.xml:
4504         * docs/manual/intro.xml:
4505         * docs/manual/links-api.xml:
4506         * docs/manual/links.xml:
4507         * docs/manual/manual.xml:
4508         * docs/manual/motivation.xml:
4509         * docs/manual/pads-api.xml:
4510         * docs/manual/pads.xml:
4511         * docs/manual/plugins-api.xml:
4512         * docs/manual/plugins.xml:
4513         * docs/manual/programs.xml:
4514         * docs/manual/queues.xml:
4515         * docs/manual/quotes.xml:
4516         * docs/manual/schedulers.xml:
4517         * docs/manual/states-api.xml:
4518         * docs/manual/states.xml:
4519         * docs/manual/threads.xml:
4520         * docs/manual/typedetection.xml:
4521         * docs/manual/win32.xml:
4522         * docs/manual/xml.xml:
4523           First try at rewriting the ADM. Needs lotsamore work, but some
4524           parts might already be somewhat useful.
4525         * docs/pwg/advanced-interfaces.xml:
4526           Remove properties interface, it never actually existed (except for
4527           on my HD...).
4528
4529 2004-12-13  David Schleef  <ds@schleef.org>
4530
4531         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
4532         be NULL (bug #160220).
4533
4534 2004-12-13  David Schleef  <ds@schleef.org>
4535
4536         * configure.ac: remove all mmx stuff, because it's not used.
4537         * docs/random/ds/0.9-suggested-changes: additional notes
4538         * include/Makefile.am: we don't use these anymore
4539         * include/mmx.h: remove
4540         * include/sse.h: remove
4541
4542 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4543
4544         * docs/random/mimetypes:
4545           Add FOURCC code for h264 codec (VSSH)
4546           Add alternate FOURCC codes for h263 related codecs
4547
4548 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
4549
4550         * docs/manual/programs.xml:
4551           Added more gst-launch examples.
4552
4553 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4554
4555         * gst/gstqueue.c: (gst_queue_handle_src_query):
4556           Check for availability again.
4557
4558 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4559
4560         * gst/gstcaps.c: (gst_caps_compare_structures):
4561           Simple caps go first. This has the nice side-effect of fixing an
4562           obscure warning.
4563
4564 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4565
4566         * gst/gstversion.h.in:
4567           Protect header.
4568
4569 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4570
4571         * gst/schedulers/gstoptimalscheduler.c:
4572         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
4573         (gst_opt_scheduler_get_wrapper):
4574           When we're recursing into a chain run, only run the directly
4575           related group, not all queued ones. This will fix a possible
4576           deadlock in chains with more than two groups.
4577
4578 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4579
4580         * autogen.sh:
4581           remove patch if autopoint fails
4582
4583 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4584
4585         * docs/gst/gstreamer-sections.txt:
4586           Document Thomas' addition, fix build, make Luis the sheriff happy.
4587
4588 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4589
4590         * gst/gstplugin.c:
4591         * gst/gstplugin.h:
4592           add accessor for version field
4593
4594 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4595
4596         submitted by: Luca Ferretti <elle.uca@infinito.it>
4597
4598         * po/LINGUAS:
4599         * po/it.po:
4600           New tranlation added: Italian
4601
4602 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4603
4604         * gst/gstpad.c: (gst_pad_is_negotiated),
4605         (gst_pad_get_negotiated_caps):
4606           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
4607           it doesn't actually check the contents), so be sure to hand it
4608           a RealPad else we'll crash.
4609
4610 2004-12-03  Wim Taymans  <wim@fluendo.com>
4611
4612         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4613         (gst_queue_link), (gst_queue_handle_src_query):
4614         Reverted to 1.110 until this makes the testsuite and various
4615         apps work.
4616
4617 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
4618
4619         * docs/upload.mak: fix included CVS conflict strings
4620
4621 2004-12-01  William Jon McCann  <mccann@jhu.edu>
4622
4623         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4624
4625         * gst/gstelement.c: (gst_element_error_full):
4626           Use g_error_new_literal because error text may have
4627           percentage signs in it. Fixes #160019.
4628
4629 2004-12-01  Benjamin Otte  <otte@gnome.org>
4630
4631         * gst/elements/gstbufferstore.c:
4632         (gst_buffer_store_add_buffer_func):
4633           don't try to make subbuffers bigger than they can be. (fixes
4634           #159970)
4635
4636 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4637
4638         * docs/gst/gstreamer-sections.txt:
4639         * docs/gst/tmpl/gstvalue.sgml:
4640           Add new function to docs to fix build.
4641
4642 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4643
4644         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
4645         * gst/gstpad.c: (_gst_pad_default_fixate_value),
4646         (_gst_pad_default_fixate_foreach):
4647         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
4648         * gst/gstvalue.h:
4649           Deprecate _type_is_fixed, use _value_is_fixed instead, since
4650           in some cases (arrays), the fixedness depends on the content.
4651         * gst/gstqueue.c: (gst_queue_handle_src_query):
4652           Check for availability before doing something.
4653
4654 2004-11-29  Wim Taymans  <wim@fluendo.com>
4655
4656         * testsuite/threads/Makefile.am:
4657         * testsuite/threads/signals.c: (gst_test_get_type),
4658         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
4659         (gst_test_set_property), (gst_test_get_property),
4660         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
4661         (gst_test_do_prop), (run_thread), (main):
4662         Added a bunch of testcases that show threadsafety bugs in glib.
4663
4664 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
4665
4666         * docs/manual/programs.xml:
4667           Added a first batch of gst-launch examples, as provided by Ronald
4668           and others from the devel-mlist
4669
4670 2004-11-28  Benjamin Otte  <otte@gnome.org>
4671
4672         * gst/gstelement.c: (gst_element_negotiate_pads):
4673           simplify
4674         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
4675         (gst_value_serialize_string), (gst_value_deserialize_string):
4676           add unwrapping of previously wrapped strings. Fix bug in wrapping
4677           while at it.
4678         * testsuite/caps/value_serialize.c: (test1),
4679         (test_string_serialization), (test_string_deserialization), (main):
4680           add tests for string (de)serialization
4681
4682 2004-11-26  Wim Taymans  <wim@fluendo.com>
4683
4684         * testsuite/threads/159566.c: (object_deep_notify), (main):
4685         * testsuite/threads/Makefile.am:
4686         Added testsuite to show bug #159566
4687
4688 2004-11-25  Wim Taymans  <wim@fluendo.com>
4689
4690         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
4691         (gst_thread_child_state_change), (gst_thread_main_loop):
4692         Ref the thread object in the GThread mainloop. Break out of the
4693         thread mainloop if it holds the last ref. This properly exits
4694         the threads when disposing the thread from its own context. It
4695         also avoids possible deadlocks in the dispose function.
4696
4697 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
4698
4699         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
4700         it is necessary to wait.
4701
4702 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4703
4704         * docs/pwg/building-boiler.xml:
4705           Make description somewhat clearer.
4706
4707 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4708
4709         * docs/upload.mak:
4710           Apparently docs changed location on FDO's server.
4711
4712 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4713
4714         * docs/pwg/appendix-checklist.xml:
4715           Add some random notes on things to check when writing an element.
4716           This list can be extended as people see fit.
4717
4718 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
4719
4720         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
4721         (gst_queue_link_src): Allow for renegotiating the caps of the sink
4722         pad. The queue will now wait until it is empty and forward the new
4723         caps to the source.
4724         * gst/gstbin.c (gst_bin_set_element_sched)
4725         (gst_bin_unset_element_sched): Make sure that all elements and
4726         links are registered and unregistered with the scheduler exactly
4727         once. This elaborates on a fix by Benjamin Otte, but
4728         guarantees that decoupled elements are also registered.
4729
4730 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4731
4732         * docs/manual/quotes.xml:
4733           add a quote
4734         * configure.ac:
4735         * gst/gst.c:
4736         * gst/gstinfo.c:
4737           add LIBDIR and move init message higher up so it's at the start
4738
4739 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4740
4741         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
4742         * gstreamer.spec.in: add fair
4743
4744 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4745
4746         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4747         * gst/elements/gstidentity.c: (gst_identity_class_init):
4748           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
4749           <teuf@gnome.org> (#157263).
4750         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4751         (gst_type_find_handle_src_query):
4752           Subtract size of internally stored data from position queries.
4753
4754 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
4755
4756         * gst/schedulers/fairscheduler.c:
4757         * gst/schedulers/faircothreads.c:
4758         * gst/schedulers/faircothreads.h:
4759         New cothread based scheduler: Fair scheduler.
4760         * gst/schedulers/gthread-cothreads.h: 
4761         Add the standard #if around the whole file.
4762         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
4763         compilation of the functions defined in this file. This is
4764         necessary to be able to use this file as a normal header.
4765         * gst/schedulers/Makefile.am: Add compiling support for fair
4766         scheduler.
4767         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
4768         scheduler cothreads layer from documentation generation.
4769
4770 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4771
4772         * gst/autoplug/gstspideridentity.c:
4773         (gst_spider_identity_sink_loop_type_finding):
4774           Don't crash if that function is not implemented.
4775
4776 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4777
4778         * docs/pwg/advanced-types.xml:
4779           Another typo.
4780
4781 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4782
4783         * docs/pwg/intro-preface.xml:
4784           Hm, ok, so the brackets weren't really useful...
4785         * docs/pwg/other-ntoone.xml:
4786           Fix embarassing typo.
4787
4788 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4789
4790         * docs/pwg/intro-preface.xml:
4791           Rewrite preface.
4792
4793 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4794
4795         * docs/pwg/advanced-scheduling.xml:
4796         * docs/pwg/advanced-tagging.xml:
4797         * docs/pwg/advanced-types.xml:
4798         * docs/pwg/building-boiler.xml:
4799         * docs/pwg/building-chainfn.xml:
4800         * docs/pwg/building-signals.xml:
4801         * docs/pwg/building-state.xml:
4802         * docs/pwg/building-testapp.xml:
4803         * docs/pwg/intro-basics.xml:
4804         * docs/pwg/other-manager.xml:
4805         * docs/pwg/other-source.xml:
4806           Typo fixes.
4807         * docs/pwg/other-manager.xml:
4808           Add some first content. No example code yet.
4809         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4810           Remove double newlines.
4811
4812 2004-11-04  Wim Taymans  <wim@fluendo.com>
4813
4814         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4815         (remove_from_group), (normalize_group), (group_migrate_connected),
4816         (gst_opt_scheduler_iterate):
4817         * testsuite/schedulers/.cvsignore:
4818         * testsuite/schedulers/Makefile.am:
4819         * testsuite/schedulers/queue_link.c: (main):
4820         Added testcase for scheduler segfault.
4821         Fix scheduler segfault when removing a decoupled
4822         entry point as the last element from a group.
4823
4824 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4825
4826         * gst/gstmarshal.list: add missing marshaller, fixes build
4827
4828 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4829
4830         * docs/random/signal: added notes about using BOXED for GstBuffer
4831         signal marshallers, not POINTER
4832
4833 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4834
4835         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4836         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
4837         POINTER=>BOXED changes to marshal GstBuffers
4838
4839 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4840
4841         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
4842         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
4843
4844 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
4845
4846         * docs/gst/gstreamer-sections.txt:
4847         * docs/gst/tmpl/gstcaps.sgml:
4848         * docs/gst/tmpl/gsterror.sgml:
4849         * docs/gst/tmpl/gstinfo.sgml:
4850         * docs/gst/tmpl/gstmacros.sgml:
4851         * docs/gst/tmpl/gstutils.sgml:
4852         * docs/random/ensonic/interfaces.txt:
4853         * gst/gstinfo.h:
4854           added some more docs, removed two obsolete defines
4855
4856 2004-11-02  Kjartan Maraas <as at gnome.org>
4857
4858         reviewed by: Wim Taymans, Ronald Bultje.
4859
4860         * gst/cothreads.c: (cothread_create):
4861         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4862         (gst_bin_child_state_change_func):
4863         * gst/gstbuffer.c: (gst_buffer_span):
4864         * gst/gstelement.c: (gst_element_get_index),
4865         (gst_element_get_event_masks), (gst_element_get_query_types),
4866         (gst_element_get_formats):
4867         * gst/gsterror.c: (_gst_core_errors_init),
4868         (_gst_library_errors_init), (_gst_resource_errors_init),
4869         (_gst_stream_errors_init):
4870         * gst/gstobject.c: (gst_object_default_deep_notify):
4871         * gst/gstpad.c: (gst_pad_get_event_masks),
4872         (gst_pad_get_internal_links_default):
4873         * gst/gstplugin.c: (gst_plugin_register_func),
4874         (gst_plugin_get_module):
4875         * gst/gststructure.c: (gst_structure_get_string),
4876         (gst_structure_get_abbrs), (gst_structure_from_abbr),
4877         (gst_structure_to_abbr):
4878         * gst/gstutils.c: (gst_print_element_args):
4879         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4880         (setup_group_scheduler), (gst_opt_scheduler_iterate):
4881         Aplied part of patch #157127: Cleanup of issues reported by 
4882         sparse.
4883         Also do not try to use cothreads when there is no cothread
4884         context yet.
4885
4886 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
4887
4888         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4889         (gst_opt_scheduler_iterate):
4890         Applied patch #154061. Running a pipeline in which an element 
4891         calls GST_ELEMENT_ERROR in the chain function, the opt 
4892         scheduler doesn't unref the chain so it never gets freed.
4893
4894 2004-11-02  Wim Taymans  <wim@fluendo.com>
4895
4896         * gst/gststructure.c: (gst_structure_get_abbrs),
4897         (gst_structure_from_abbr), (gst_structure_to_abbr):
4898         Remove that ugly if-then thing in the code that converts
4899         between strings and types.
4900
4901 2004-11-02  Wim Taymans  <wim@fluendo.com>
4902
4903         * gst/gstscheduler.c: (gst_scheduler_add_element),
4904         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
4905         Aplied clock distribution patch, this should fix bug
4906         #148787.
4907
4908 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4909
4910         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
4911
4912         * po/LINGUAS:
4913         * po/nb.po:
4914           Added Norwegian Bokmaal translation
4915
4916 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4917
4918         * tools/gst-inspect.c: (print_signal_info):
4919           print signal arguments as pointers if they are
4920
4921 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
4922
4923         * docs/pwg/building-boiler.xml:
4924           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
4925
4926 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4927
4928         * gst/parse/parse.l:
4929         * testsuite/parse/parse1.c: (main):
4930         Since parse can do 'element name=a:b' make 'a:b.' work as
4931         well. 
4932         Added testcase to verify fix.
4933
4934 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4935
4936         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
4937         Use the realpad when printing the direction.
4938         Add extra \n when printing extensions of typefind factories.
4939
4940 2004-10-13  David Schleef  <ds@schleef.org>
4941
4942         * examples/manual/Makefile.am: $< isn't portable in Makefile
4943         rules.
4944
4945 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
4946
4947         * docs/gst/tmpl/gstobject.sgml:
4948         * docs/gst/tmpl/gstplugin.sgml:
4949         * docs/gst/tmpl/gstpluginfeature.sgml:
4950         * docs/gst/tmpl/gstregistry.sgml:
4951         * docs/gst/tmpl/gstversion.sgml:
4952         * gst/gstbin.c:
4953           more api documentation
4954         * gst/gstplugin.c: (gst_plugin_register_func),
4955         (gst_plugin_check_file), (gst_plugin_load_file):
4956           better error signaling and logging
4957
4958 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4959
4960         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
4961           Subtract current queue contents from position queries.
4962
4963 2004-10-11  Johan Dahlin  <johan@gnome.org>
4964
4965         * gst/gsturi.c (gst_uri_get_location): unescape string
4966         (gst_uri_construct): escape string.
4967
4968 2004-10-11  Benjamin Otte  <otte@gnome.org>
4969
4970         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
4971         (gst_pad_try_set_caps_nonfixed):
4972           allow renegotiation of unconnected pads (as inside spider). Simply
4973           return OK if unconnected - mimic try_set_caps there.
4974
4975 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4976
4977         * gst/gstbin.c: (gst_bin_sync_children_state):
4978           Add missing break.
4979
4980 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4981
4982         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
4983         Set element to EOS before sending EOS event
4984
4985 2004-10-08  Wim Taymans  <wim at fluendo dot com>
4986
4987         * gst/elements/gsttypefindelement.c:
4988         (gst_type_find_element_handle_event):
4989         Handle EOS events when doing the transition from
4990         typefind to data passing. This should fix the
4991         infinite loops in short files.
4992
4993 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4994
4995         * gst/gstthread.c: (gst_thread_change_state),
4996         (gst_thread_child_state_change):
4997         Make sure no iteration happens while performing
4998         the state change as it could mess up the internal
4999         consistency of the thread state.
5000
5001 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5002
5003         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
5004         (gst_thread_change_state), (gst_thread_child_state_change):
5005         Do not try to grab the iterate lock in the state change method
5006         when we are in the same thread as the iterate or else we
5007         could deadlock. Some other cleanups.
5008
5009 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5010
5011         * configure.ac:
5012           bump nano to cvs
5013
5014 === release 0.8.7 ===
5015
5016 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5017
5018         * configure.ac:
5019         * NEWS:
5020         * RELEASE:
5021         * configure.ac:
5022           releasing 0.8.7, "A Cruise"
5023
5024 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5025
5026         * docs/random/mimetypes:
5027         Add an entry for Sony ATRAC3 audio format with mime-type
5028         used by rmdemux et riff-read
5029
5030 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5031
5032         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5033         Push the buffer store instead of clearing it in case that
5034         the stream is not seekable.
5035
5036 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5037
5038         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
5039         (gst_thread_main_loop):
5040         Lock the iteration and the state change so that automatic
5041         negotiation and fixation does not happen at the same time
5042         as the in stream negotiation.
5043
5044 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5045
5046         * configure.ac:
5047           bump nano to cvs
5048
5049 === release 0.8.6 ===
5050
5051 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5052
5053         * configure.ac:
5054         * NEWS:
5055         * RELEASE:
5056         * configure.ac:
5057           releasing 0.8.6, "Narc"
5058
5059 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5060
5061         * configure.ac:
5062           prerel bump
5063
5064 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5065
5066         patch by: Steve Lhomme
5067
5068         * gst/elements/gstfakesrc.c:
5069         * gst/elements/gstidentity.c:
5070         * gst/gstthread.c:
5071           Fix for #153881
5072
5073 2004-10-01  Wim Taymans  <wim at fluendo dot com>
5074
5075         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5076         Fix threadsafety of the crc checking function.
5077
5078 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5079
5080         patch by: Ronald Bultje
5081
5082         * gst/elements/gsttypefindelement.c: (stop_typefinding),
5083         (gst_type_find_element_handle_event),
5084         (gst_type_find_element_chain):
5085         * gst/elements/gsttypefindelement.h:
5086          #153657.
5087          Filter out discont event from seekable sources when typefind
5088          asks them to seek.  Fixes typefind with demuxers for
5089          avi, asf and matroska.
5090
5091 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5092
5093         * docs/gst/gstreamer-sections.txt:
5094         * gst/gstcaps.c:
5095         * gst/gstcaps.h:
5096         * gst/gstpad.c:
5097           Revert preferred caps: (#147789)
5098
5099 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
5100
5101         * win32/dirent.c:
5102           fix a memory leak
5103
5104 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5105
5106         * configure.ac:
5107           bump for prerelease
5108
5109 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5110
5111         * docs/Makefile.am:
5112         * docs/manual/elements-api.xml:
5113           restructure so that common stuff is shown first
5114         * docs/manual/init-api.xml:
5115           convert to examples
5116         * docs/manual/manual.xml:
5117         * docs/manuals.mak:
5118         * docs/url.entities:
5119           link to API on the website, possibly override later in build
5120         * examples/manual/.cvsignore:
5121           ignore more
5122         * examples/manual/Makefile.am:
5123           add more examples
5124         * examples/manual/extract.pl:
5125           error out on failure
5126
5127 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5128
5129         * docs/gst/tmpl/gstthread.sgml:
5130         * docs/manual/init-api.xml:
5131         * examples/manual/Makefile.am:
5132           convert two code bits to examples
5133
5134 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5135
5136         * gst/gstelement.c: (gst_element_change_state):
5137           Well, actually, I was about to remove this insane assert when
5138           I noticed Wim already did that. A warning is nice so we can
5139           fix actual ugs (using --g-fatal-warnings and backtraces), so
5140           I added that instead.
5141
5142 2004-09-06  Wim Taymans  <wim@fluendo.com>
5143
5144         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
5145         (gst_element_threadsafe_properties_post_run),
5146         (gst_element_set_state), (gst_element_change_state):
5147         Added extra refcounting around various places. 
5148
5149 2004-09-06  Wim Taymans  <wim@fluendo.com>
5150
5151         * gst/gstpad.c: (gst_pad_link_call_link_functions):
5152         Fix debug info.
5153
5154 2004-09-06  Wim Taymans  <wim@fluendo.com>
5155
5156         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5157         (remove_from_group):
5158         Some more debug info.
5159
5160 2004-09-03  Wim Taymans  <wim@fluendo.com>
5161
5162         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5163         (gst_fakesrc_init), (gst_fakesrc_set_clock),
5164         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5165         (gst_fakesrc_get), (gst_fakesrc_change_state):
5166         * gst/elements/gstfakesrc.h:
5167         * gst/elements/gstidentity.c: (gst_identity_class_init),
5168         (gst_identity_init), (gst_identity_chain),
5169         (gst_identity_set_property), (gst_identity_get_property),
5170         (gst_identity_change_state):
5171         * gst/elements/gstidentity.h:
5172         Added datarate properties to limit the datarate.
5173
5174 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5175
5176         * gst/autoplug/gstspider.c: (plugin_init):
5177           don't set a rank. We don't want to autoplug by inserting spiders.
5178
5179 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5180
5181         * gst/autoplug/gstspider.c: (gst_spider_class_init),
5182         (gst_spider_identity_plug):
5183           add a template for spider's sink
5184         * gst/gst.c: (gst_register_core_elements):
5185           queue's rank should be NULL, we don't want spider to add it.
5186
5187 2004-08-18  David Schleef  <ds@schleef.org>
5188
5189         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
5190         * docs/libs/Makefile.am: same
5191         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
5192         * docs/random/ds/0.9-planning: random additions
5193         * docs/random/ds/0.9-suggested-changes: same
5194         * gst/gstxml.h: remove vestigal GstXMLNs definition
5195
5196         Preferred caps: (#147789)
5197         * docs/gst/gstreamer-sections.txt: Add symbols
5198         * docs/gst/tmpl/gstcaps.sgml: Add symbols
5199         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
5200         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
5201         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
5202         (gst_caps_get_preferred), (gst_caps_set_preferred),
5203         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
5204         (gst_caps_use_preferred): Handle caps preferences
5205         * gst/gstcaps.h: Add caps preferences
5206         * gst/gstpad.c: (gst_pad_link_get_preferred),
5207         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
5208         (gst_pad_renegotiate), (gst_pad_guess_preferred),
5209         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
5210         negotiation.
5211
5212 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5213
5214         * gst/autoplug/gstspideridentity.c:
5215         (gst_spider_identity_request_new_pad):
5216         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
5217         (gst_aggregator_init):
5218         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
5219         (gst_fakesink_init):
5220         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
5221         (gst_fakesrc_init):
5222         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
5223         (gst_fdsink_init):
5224         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
5225         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
5226         (gst_filesink_init):
5227         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
5228         (gst_filesrc_init):
5229         * gst/elements/gstidentity.c: (gst_identity_base_init),
5230         (gst_identity_init):
5231         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
5232         (gst_multifilesrc_init):
5233         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
5234         (gst_pipefilter_init):
5235         * gst/elements/gststatistics.c: (gst_statistics_base_init),
5236         (gst_statistics_init):
5237         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
5238         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
5239           s/gst_pad_new/&_from_template/
5240           register pad templates in the base_init function
5241           add static pad template definitions
5242
5243 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5244
5245         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
5246         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
5247         * testsuite/refcounting/pad.c: (main):
5248         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
5249           s/gst_pad_new/&_from_template/
5250           prepare deprecation of gst_pad_new
5251
5252 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5253
5254         patch by: Luca Ognibene <skaboy81@virgilio.it>
5255
5256         * gst/gstcaps.c:
5257         * gst/gstelement.c:
5258         * gst/gstpad.c:
5259         * gst/gstxml.c:
5260           fix memleaks.  Fixes #150001
5261
5262 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5263
5264         * docs/random/ds/0.9-suggested-changes:
5265           add notes - mostly about pad templates
5266
5267 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
5268
5269         * win32/GStreamer.vcproj:
5270           temporary locale files are .gmo not .mo
5271
5272 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5273
5274         * configure.ac: bump nano to cvs
5275
5276 === release 0.8.5 ===
5277
5278 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5279
5280         * configure.ac:
5281           releasing 0.8.5, "Stuttgart"
5282         * NEWS:
5283         * RELEASE:
5284         * configure.ac:
5285         * docs/random/release:
5286           updates for release
5287
5288 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5289
5290         patch by: Wim Taymans (wim@fluendo.com)
5291
5292         * gst/gstbuffer.c:
5293         * gst/gstindex.h:
5294         * libs/gst/dataprotocol/dataprotocol.c:
5295           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
5296
5297 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5298
5299         * Makefile.am:
5300         * win32/MANIFEST:
5301           add win32 dir to the build.  Fixes #149981.
5302
5303 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5304
5305         * configure.ac:
5306           bump libtool versioning
5307         * gst/gststructure.c:
5308           mark function as static
5309         * po/af.po:
5310         * po/az.po:
5311         * po/ca.po:
5312         * po/cs.po:
5313         * po/en_GB.po:
5314         * po/fr.po:
5315         * po/nl.po:
5316         * po/sq.po:
5317         * po/sr.po:
5318         * po/sv.po:
5319         * po/tr.po:
5320         * po/uk.po:
5321           translations update
5322         * win32/README.txt:
5323           trademark protection
5324
5325 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5326
5327         * configure.ac:
5328           fix GST_ORIGIN
5329           set GST_PACKAGE to source, and distinguish between release and other
5330         * tools/gst-inspect.c:
5331           print out plugin an element factory is part of so we see this info
5332
5333 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5334
5335         * docs/gst/gstreamer-sections.txt:
5336         * docs/gst/tmpl/gstbuffer.sgml:
5337         * docs/gst/tmpl/gstschedulerfactory.sgml:
5338           reorder docs a little, make GstBuffer's more sensible.
5339         * gst/gstbuffer.h:
5340           API: added GST_BUFFER_FLAG_DELTA_UNIT
5341         * gst/gstscheduler.c:
5342           comment API addition
5343
5344 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5345
5346         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
5347           work with non-regular files that can be mmapped (like /dev/zero)
5348         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
5349           get rid of typefinds that require a seek when we can't seek instead
5350           of trying them over and over again
5351         * tools/gst-launch.c: (idle_func), (error_cb), (main):
5352           return non-zero failure value when the pipeline was interrupted or
5353           an error occurred
5354
5355 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
5356
5357         * win32/config.h:
5358         * win32/GStreamer.vcproj:
5359           compile and install the locales
5360
5361 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
5362
5363         * gst/gstvalue.c:
5364           fix a possible memory leak under Windows
5365
5366 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
5367
5368         * win32/GStreamer.vcproj:
5369           fix a memory leak that occured under Windows
5370         * win32/gstreamer.def:
5371           add gst_scheduler_register
5372
5373 2004-08-11  Benjamin Otte  <otte@gnome.org>
5374
5375         * docs/gst/gstreamer-sections.txt:
5376         * gst/gstscheduler.c: (gst_scheduler_register):
5377         * gst/gstscheduler.h:
5378           API:
5379           add gst_scheduler_register shortcut similar to gst_element_register
5380         * gst/schedulers/entryscheduler.c: (plugin_init):
5381         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
5382         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
5383           use it
5384
5385 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
5386
5387         * gst/gstvalue.h:
5388           fix a memory leak that occured under Windows
5389
5390 2004-08-10  Colin Walters  <walters@redhat.com>
5391
5392         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
5393         Don't use O_EXCL to open temporary registry.  It will prevent
5394         registry creation if a temporary one already exists, which
5395         is unnecessary.
5396
5397 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
5398
5399         * docs/gst/gstreamer-sections.txt:
5400         * docs/gst/tmpl/gstvalue.sgml:
5401           remove some valuable stuff from the documentation due to the use of GST_EXPORT
5402
5403 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
5404
5405         * win32/gstbytestream.vcproj:
5406         * win32/gstelements.vcproj:
5407         * win32/gstgetbits.vcproj:
5408         * win32/gst-inspect.vcproj:
5409         * win32/gst-launch.vcproj:
5410         * win32/gstoptimalscheduler.vcproj:
5411         * win32/GStreamer.vcproj:
5412         * win32/gst-register.vcproj:
5413         * win32/gstspider.vcproj:
5414           update the include and lib dirs to fit standard libraries as
5415           described in the Win32 manual
5416
5417 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
5418
5419         * win32/config.h:
5420         * win32/gstversion.h:
5421           enable NLS again, push the version number for the coming 0.8.5 release
5422
5423 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
5424
5425         * gst/gstvalue.h:
5426           export gst_type_XXX for windows DLLs
5427
5428 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5429
5430         * docs/faq/gst-uninstalled:
5431           fix PKG_CONFIG_PATH and PYTHONPATH
5432         * gst/schedulers/Makefile.am:
5433           cleanup
5434         * libs/gst/bytestream/bytestream.c:
5435           remove newline
5436         * po/LINGUAS:
5437         * po/sq.po:
5438           adding Albanian translation (Laurent Dhima)
5439         * po/cs.po:
5440           updated
5441
5442 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5443
5444         * po/ca.po:
5445         * po/sv.po:
5446           updated translations
5447
5448 2004-08-04  Benjamin Otte  <otte@gnome.org>
5449
5450         * tests/mass_elements.c: (main):
5451           allow specifying src and sink element explicitly, so I can test
5452           videotestsrc instead of fakesrc
5453
5454 2004-08-04  Benjamin Otte  <otte@gnome.org>
5455
5456         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
5457         (gst_structure_id_empty_new), (gst_structure_empty_new),
5458         (gst_structure_copy):
5459           add gst_structure_id_empty_new_with_size to allow preallocating
5460           value array sizes. Use this in gst_structure_copy to get rid of
5461           reallocs.
5462           don't do quark=>string=>quark when copying structures
5463
5464 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
5465
5466         * docs/manual/win32.xml:
5467         * win32/README.txt:
5468           update documentation with the clean version of dependencies
5469
5470 2004-08-03  Benjamin Otte  <otte@gnome.org>
5471
5472         * gst/schedulers/entryscheduler.c:
5473         (gst_entry_scheduler_remove_element):
5474           fix for GST_DISABLE_DEBUG
5475         * tools/gst-launch.c: (print_tag):
5476           fixes for G_DISABLE_ASSERT
5477
5478 2004-08-03  Benjamin Otte  <otte@gnome.org>
5479
5480         * gst/gst.c: (gst_register_core_elements):
5481           fix for G_DISABLE_ASSERT
5482         * gst/gstinfo.c: (__gst_in_valgrind):
5483           add for GST_DISABLE_DEBUG
5484
5485 2004-08-03  Benjamin Otte  <otte@gnome.org>
5486
5487         * gst/parse/parse.l:
5488           fix for G_DISABLE_ASSERT
5489
5490 2004-08-03  Wim Taymans  <wim@fluendo.com>
5491
5492         * gst/gstbin.c: (gst_bin_get_type),
5493         (gst_bin_child_state_change_func):
5494         * gst/gstthread.c: (gst_thread_change_state):
5495         Backported some debug logging from a reverted patch
5496         Don't try to destroy the thread twice. Added some more
5497         debugging in GstThread. Unlock and signal even if we
5498         are in the thread context.
5499
5500 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5501
5502         * po/uk.po:
5503           updated translation
5504
5505 2004-07-30  David Schleef  <ds@schleef.org>
5506
5507         * gst/gstatomic_impl.h: Enable atomic code for x86_64
5508
5509 2004-07-29  David Schleef  <ds@schleef.org>
5510
5511         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
5512         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
5513
5514 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5515
5516         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5517         (gst_bin_add_func), (gst_bin_remove_func),
5518         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
5519         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
5520         (gst_bin_change_state_norecurse), (gst_bin_dispose),
5521         (gst_bin_sync_children_state):
5522         * gst/gstbin.h:
5523         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
5524         (gst_thread_change_state):
5525         * testsuite/states/Makefile.am:
5526           revert state change patches as agreed so we can rework them
5527           gradually
5528
5529 2004-07-29  Benjamin Otte  <otte@gnome.org>
5530
5531         * libs/gst/control/Makefile.am:
5532           link to libgstreamer (fixes Debian bug 262019, see
5533           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
5534
5535 2004-07-29  Wim Taymans  <wim@fluendo.com>
5536
5537         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
5538         (check_from_fraction_convert), (transform_test), (main):
5539         Make the test less pedantic about float roundoff errors.
5540
5541 2004-07-29  Benjamin Otte  <otte@gnome.org>
5542
5543         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
5544         (gst_filesrc_srcpad_event):
5545           make seek events to before start/after end of file not fail, but
5546           seek to start/end instead
5547         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
5548           add more output
5549
5550 2004-07-29  Benjamin Otte  <otte@gnome.org>
5551
5552         * gst/gstpad.c: (gst_pad_set_explicit_caps):
5553           check that caps are fixed
5554         * gst/gstpad.c: (gst_pad_template_new):
5555           don't try to simplify caps, costs too much time on gst_init
5556         * gst/gstplugin.c: (gst_plugin_add_feature):
5557           G_ERROR if features are added twice
5558         * gst/gsttypefind.c: (gst_type_find_register):
5559         * gst/gstelementfactory.c: (gst_element_register):
5560           don't add features twice
5561         * docs/random/ds/0.9-suggested-changes:
5562           add note about possible gst_init optimization
5563
5564 2004-07-28  David Schleef  <ds@schleef.org>
5565
5566         * testsuite/elements/Makefile.am:
5567         * testsuite/elements/struct_i386.h:
5568         * testsuite/elements/struct_size.c: (main):  A little test
5569         to keep distcheck from working if someone changes a structure
5570         size accidentally.
5571
5572 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5573
5574         * docs/libs/Makefile.am:
5575         * docs/libs/gstreamer-libs-docs.sgml:
5576         * docs/libs/gstreamer-libs-sections.txt:
5577         * docs/libs/tmpl/gstbytestream.sgml:
5578         * docs/libs/tmpl/gstcontrol.sgml:
5579         * docs/libs/tmpl/gstdataprotocol.sgml:
5580         * docs/libs/tmpl/gstgetbits.sgml:
5581         * libs/gst/bytestream/Makefile.am:
5582         * libs/gst/bytestream/bytestream.c:
5583         * libs/gst/bytestream/bytestream.h:
5584         * libs/gst/control/Makefile.am:
5585         * libs/gst/dataprotocol/Makefile.am:
5586         * libs/gst/getbits/Makefile.am:
5587         * libs/gst/getbits/getbits.h:
5588           various doc and style fixes, adding bytestream to libs docs.
5589
5590 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5591
5592         * docs/gst/gstreamer-docs.sgml:
5593         * docs/libs/Makefile.am:
5594         * docs/libs/gstreamer-libs-docs.sgml:
5595         * docs/libs/gstreamer-libs-sections.txt:
5596         * libs/gst/control/dparam.c:
5597           more doc fixes.  gst-libs docs now build the same way as gst.
5598
5599 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5600
5601         * configure.ac:
5602         * testsuite/Makefile.am:
5603         * testsuite/bins/Makefile.am:
5604         * testsuite/caps/Makefile.am:
5605         * testsuite/cleanup/Makefile.am:
5606         * testsuite/clock/Makefile.am:
5607         * testsuite/debug/Makefile.am:
5608         * testsuite/dlopen/Makefile.am:
5609         * testsuite/dynparams/Makefile.am:
5610         * testsuite/elements/.cvsignore:
5611         * testsuite/elements/Makefile.am:
5612         * testsuite/enumcaps/Makefile.am:
5613         * testsuite/enumcaps/enumcaps.c:
5614         * testsuite/ghostpads/Makefile.am:
5615         * testsuite/indexers/Makefile.am:
5616         * testsuite/negotiation/Makefile.am:
5617         * testsuite/parse/Makefile.am:
5618         * testsuite/plugin/Makefile.am:
5619         * testsuite/refcounting/Makefile.am:
5620         * testsuite/schedulers/.cvsignore:
5621         * testsuite/states/Makefile.am:
5622         * testsuite/tags/Makefile.am:
5623         * testsuite/threads/Makefile.am:
5624           fold enumcaps into caps dir
5625           clean up Makefile.am's for testsuite
5626
5627 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5628
5629         * docs/gst/Makefile.am:
5630         * docs/libs/Makefile.am:
5631           clean up docs build.  Fixes needless rebuilding of template files.
5632
5633 2004-07-28  Wim Taymans  <wim@fluendo.com>
5634
5635         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
5636         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
5637         Make sure that a bin state change tries to keep the children
5638         in sync. 
5639         Added debug logging to the thread.
5640
5641 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5642
5643         * win32/GStreamer.vcproj:
5644         * win32/gstreamer.def:
5645           more exports for the plugins
5646
5647 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5648
5649         * win32/gstgetbits.vcproj:
5650         * win32/gstgetbits.def:
5651         * win32/msvc71.sln:
5652           add support for the getbits plugin
5653
5654 2004-07-27  Wim Taymans  <wim@fluendo.com>
5655
5656         * gst/gstvalue.c: (gst_value_transform_double_fraction),
5657         (gst_value_transform_fraction_double), (_gst_value_initialize):
5658         * testsuite/caps/Makefile.am:
5659         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
5660         (check_from_fraction_convert), (transform_test), (main):
5661         Added transform functions between double and fraction.
5662         Added testcase to verify transforms
5663
5664 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5665
5666         * win32/GStreamer.vcproj:
5667           rename GStreamer-0.8.lib to libgstreamer.lib
5668
5669 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5670
5671         * win32/gstelements.vcproj:
5672         * win32/gstoptimalscheduler.vcproj:
5673           fixes for the Release build
5674
5675 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5676
5677         * win32/config.h:
5678           update the version number
5679
5680 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5681
5682         * win32/GStreamer.vcproj:
5683           add gstinterface to the build
5684
5685 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5686
5687         * win32/gstreamer.def:
5688           add many definitions needed by plugins,
5689           GST_CAT_DEFAULT only available in the Debug build ?
5690
5691 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5692
5693         * gst/gstelement.c: (gst_element_set_eos_recursive):
5694           various whitespace fixes.
5695           doc fix, fixes #148497
5696
5697 2004-07-25  Benjamin Otte  <otte@gnome.org>
5698
5699         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
5700           don't delay links on the sink elements, it causes unnegotiated
5701           links.
5702         * gst/elements/gsttypefindelement.c:
5703         (gst_type_find_element_base_init):
5704           add our padtemplates, we indeed do have some.
5705         * gst/elements/gsttypefindelement.c:
5706         (gst_type_find_element_handle_event),
5707         (gst_type_find_element_chain):
5708           don't push data when typefinding failed.
5709         * gst/gstpad.c: (gst_pad_link_fixate):
5710           check that no fixate function returns empty caps.
5711         * gst/gstpad.c: (gst_pad_push):
5712           check that the link is negotiated before data gets pushed.
5713         * tools/gst-register.c: (main):
5714           don't assert (fixes #148283)
5715
5716 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5717
5718         * docs/gst/gstreamer-sections.txt:
5719         * docs/gst/tmpl/gstconfig.sgml:
5720           add GST_PLUGIN_EXPORT definition
5721
5722 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5723
5724         * gst/gstplugin.h:
5725         * gst/gstconfig.h.in:
5726         * win32/gstconfig.h:
5727         * win32/gstelements.def:
5728         * win32/gstelements.vcproj:
5729         * win32/gstoptimalscheduler.def:
5730         * win32/gstoptimalscheduler.vcproj:
5731         * win32/gstspider.def:
5732         * win32/gstspider.vcproj:
5733           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
5734
5735 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5736
5737         * docs/gst/gstreamer-sections.txt:
5738           remove GST_CAT_DEFAULT because the type has changed
5739
5740 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5741
5742         * win32/gstbytestream.vcproj:
5743         * win32/gstelements.vcproj:
5744         * win32/gst-inspect.vcproj:
5745         * win32/gst-launch.vcproj:
5746         * win32/gstoptimalscheduler.vcproj:
5747         * win32/GStreamer.vcproj:
5748         * win32/gst-register.vcproj:
5749         * win32/gstspider.vcproj:
5750         * win32/msvc71.sln:
5751           Copy the files where needed after building, The testsuite will be
5752           built separately
5753
5754 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5755
5756         * win32/config.h:
5757         * win32/README.txt:
5758         * docs/manual/win32.xml:
5759         Fixed the plugin and GStreamer location
5760
5761 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5762
5763         * win32/gstreamer.def:
5764         More exports for the plugins
5765
5766 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5767
5768         * gst/gstinfo.h:
5769         Marc was right, we need to export literally GST_CAT_DEFAULT
5770
5771 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5772
5773         * win32/config.h:
5774         NLS crashes in gettext, disabled until this is solved
5775
5776 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5777
5778         * win32/gst-inspect.vcproj:
5779         * win32/gst-launch.vcproj:
5780         Should use NLS when available
5781
5782 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5783
5784         * gst/registries/gstxmlregistry.c:
5785         removing the file doesn't seem to be a good idea on Linux
5786
5787 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5788
5789         * gst/registries/gstxmlregistry.c:
5790         Remove the registry before renaming the tempfile (needed for Windows)
5791
5792 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5793
5794         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
5795         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
5796         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
5797         * gst/elements/gstmultifilesrc.h:
5798         Added newmedia property so it generates newmedia events between each
5799         file when property is set, as well as fixed eos handling
5800
5801 2004-07-22  David Schleef  <ds@schleef.org>
5802
5803         * gst/gststructure.c: (gst_structure_id_empty_new),
5804         (gst_structure_empty_new):  Set type field correctly.
5805         * gst/gststructure.h: Check type field correctly.
5806         * testsuite/caps/Makefile.am:
5807         * testsuite/caps/structure.c: (test1), (main): Add a very small
5808         test for structures.
5809
5810 2004-07-22  David Schleef  <ds@schleef.org>
5811
5812         * docs/random/ds/0.9-suggested-changes: more comments
5813         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
5814
5815 2004-07-22  Benjamin Otte  <otte@gnome.org>
5816
5817         * gst/gstelementfactory.c: (gst_element_register):
5818           set the factory in the class struct, so gst_element_get_factory
5819           actually works
5820         * gst/parse/grammar.y:
5821           set element to playing when it gets unlocked as we can't rely on the
5822           bin state - all elements in the bin state might still be locked in
5823           NULL)
5824
5825 2004-07-22  Benjamin Otte  <otte@gnome.org>
5826
5827         * gst/gstelement.c: (gst_element_set_state_func):
5828           make this a static function
5829
5830 2004-07-22  Wim Taymans  <wim@fluendo.com>
5831
5832         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
5833         (gst_opt_scheduler_pad_link):
5834         fix 147894-2 and the group_link problem.
5835
5836 2004-07-22  Wim Taymans  <wim@fluendo.com>
5837
5838         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5839         (handoff_identity), (main):
5840         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5841         (handoff_identity), (main):
5842         * testsuite/schedulers/Makefile.am:
5843         * testsuite/schedulers/group_link.c: (main):
5844         Show bug in scheduler when linking chain and loop based element 
5845         where the chain based element was not yet in a group.
5846
5847 2004-07-21  Benjamin Otte  <otte@gnome.org>
5848
5849         * gst/.cvsignore:
5850         * gst/autoplug/.cvsignore:
5851         * gst/elements/.cvsignore:
5852         * gst/indexers/.cvsignore:
5853         * libs/gst/bytestream/.cvsignore:
5854         * libs/gst/control/.cvsignore:
5855         * libs/gst/getbits/.cvsignore:
5856         * testsuite/states/.cvsignore:
5857         * testsuite/threads/.cvsignore:
5858           keep this up to date, since I seem to be the only one who cares
5859           about not missing files on commits (editor's note: no you don't,
5860           but feel free to change them at the time you add stuff instead
5861           of later on)
5862
5863 2004-07-21  Benjamin Otte  <otte@gnome.org>
5864
5865         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5866         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
5867         (gst_bin_child_state_change_func), (set_kid_state_func),
5868         (gst_bin_set_state), (gst_bin_change_state_norecurse):
5869           make state changes work correctly and reentrant (so removing
5870           elements from bins during state changes of bins doesn't cause
5871           segfaults or even wrong states)
5872           add debugging category and debugging output to print children states
5873         * gst/gstbin.c: (gst_bin_dispose): 
5874           add some assertion checks
5875         * gst/gstbin.h:
5876         * gst/gstbin.c: (gst_bin_sync_children_state):
5877           deprecate this function - it just does gst_bin_set_state (bin,
5878           GST_STATE (bin)) 
5879         * testsuite/threads/queue.c: (main):
5880           don't use gst_bin_sync_children_state anymore
5881         * testsuite/states/Makefile.am:
5882         * testsuite/states/bin.c:
5883           test that the state changes of bins work as expected
5884         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
5885           some adjustments to change states correctly, too
5886         * gst/gstthread.c: (gst_thread_change_state):
5887           don't enable/disable "threadsafe" properties, they're unused and
5888           cause random segfaults
5889         * testsuite/threads/Makefile.am:
5890           the queue check randomly passes now, ignore it
5891
5892 2004-07-21  Benjamin Otte  <otte@gnome.org>
5893
5894         * gst/gstpad.c:
5895           check if data is NULL before outputting debug info. (fixes #145100)
5896
5897 2004-07-21  Benjamin Otte  <otte@gnome.org>
5898
5899         * gst/schedulers/entryscheduler.c:
5900         (gst_entry_scheduler_loop_wrapper),
5901         (gst_entry_scheduler_chain_wrapper),
5902         (gst_entry_scheduler_get_wrapper):
5903           reset the state when the cothread starts, so we don't get assertion
5904           failures on restarting of cothreads
5905
5906 2004-07-20  Benjamin Otte  <otte@gnome.org>
5907
5908         * gst/gstelement.c: (gst_element_link_pads_filtered):
5909           use correct sinkpad, if only sinkpad is specified, but not srcpad
5910           (fixes #147889)
5911         * gst/gstelement.c: (gst_element_set_state_func),
5912         (gst_element_change_state): ref/unref the element, signal handlers
5913         could get rid of the element otherwise
5914
5915 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5916
5917         * docs/random/ds/0.9-suggested-changes:
5918           Make note about renaming fixed-list to array.
5919         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
5920         (_gst_value_initialize):
5921           Add array intersections.
5922         * testsuite/caps/intersect2.c: (main):
5923           Add test for array intersections.
5924
5925 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5926
5927         * configure.ac: back to cvs
5928
5929 === release 0.8.4 ===
5930
5931 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5932
5933         * configure.ac:
5934           releasing 0.8.4, "Paella"
5935           bump libtool versioning
5936
5937 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5938
5939         * po/LINGUAS:
5940         * po/ca.po:
5941           adding Catalan translation (Jordi Mallach)
5942
5943 2004-07-20  Wim Taymans  <wim@fluendo.com>
5944
5945         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5946         (handoff_identity), (main):
5947         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5948         (handoff_identity), (main):
5949         * testsuite/schedulers/Makefile.am:
5950         Added failing testcase for variant of #147894
5951
5952 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5953
5954         patch by: David Moore
5955
5956         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5957         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
5958         (group_migrate_connected):
5959         * testsuite/schedulers/Makefile.am:
5960           fix for #142813 (Deadlock in optimal scheduler)
5961
5962 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5963
5964         patch by: Wim Taymans
5965
5966         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5967         (gst_opt_scheduler_schedule_run_queue),
5968         (gst_opt_scheduler_get_wrapper), (get_group),
5969         (group_migrate_connected):
5970         * testsuite/schedulers/Makefile.am:
5971           fix for #147819 (Add some checks in the opt scheduler)
5972
5973 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5974
5975         patch by: Benjamin Otte
5976
5977         * gst/gstelementfactory.c: (__gst_element_details_set):
5978           fix for #147929: running gst-register in non-utf8 locale can cause
5979           invalid registry
5980
5981 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5982
5983         patch by: Wim Taymans
5984
5985         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
5986         (group_has_element), (element_get_reachables_func),
5987         (group_migrate_connected):
5988           fix for #147894 (opt scheduler decoupled elements mismanagement)
5989         * testsuite/schedulers/Makefile.am:
5990           testsuite app now passes
5991
5992 2004-07-19  Wim Taymans  <wim@fluendo.com>
5993
5994         * testsuite/schedulers/147819.c: (handoff_identity1),
5995         (handoff_identity2), (main):
5996         * testsuite/schedulers/Makefile.am:
5997         Added testcase for bug 147819
5998
5999 2004-07-19  Wim Taymans  <wim@fluendo.com>
6000
6001         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6002         (handoff_identity), (main):
6003         * testsuite/schedulers/Makefile.am:
6004         Added testcase for bug 147894
6005
6006 2004-07-16  Wim Taymans  <wim@fluendo.com>
6007
6008         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
6009         * testsuite/schedulers/142183.c: (handoff_identity), (main):
6010         * testsuite/schedulers/Makefile.am:
6011         Added testsuite for bug 142183 in its two incarnations. Refcount
6012         is not increased for scheduled elements and threadsafe properties
6013         mutexes are not properly unlocked.
6014
6015 2004-07-16  Wim Taymans  <wim@fluendo.com>
6016
6017         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
6018         (create_chain), (destroy_chain), (create_group), (destroy_group),
6019         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
6020         (group_dec_link), (gst_opt_scheduler_pad_link),
6021         (group_inc_links_for_element), (group_migrate_connected):
6022         Call group_inc_link with the proper src->sink ordering -- 
6023         break this, and we break sort_chain. patch from wingo for bug
6024         147713.
6025         Partially revert patch 1.89. When adding a loop based element to 
6026         the scheduler, the links to other groups are automatically followed
6027         and incremented. This should not happen because the bin will call
6028         pad_link explicitly for those connection, resulting in them counted 
6029         twice. Results in assertion failure on pipeline cleanup.
6030
6031 2004-07-16  Wim Taymans  <wim@fluendo.com>
6032
6033         * testsuite/schedulers/143777-2.c: (main):
6034         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
6035         (main):
6036         * testsuite/schedulers/Makefile.am:
6037         Added cleanup code to testcase 143777-2.
6038         Added testcase to show bug 147713, does not really show the
6039         deadlock as I can't figure out how to trigger it, but it does
6040         demonstrate bad ordering in the scheduler.
6041
6042 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6043
6044         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6045           change strndup to g_strndup.  Fixes #147707
6046
6047 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6048
6049         * po/af.po:
6050         * po/az.po:
6051         * po/cs.po:
6052         * po/en_GB.po:
6053         * po/fr.po:
6054         * po/nl.po:
6055         * po/sr.po:
6056         * po/sv.po:
6057         * po/tr.po:
6058         * po/uk.po:
6059           updated translations
6060
6061 2004-07-16  Benjamin Otte  <otte@gnome.org>
6062
6063         * gst/gstvalue.c: (gst_greatest_common_divisor):
6064           use ints and return ints, fractions only use ints, too, so this
6065           avoids accidently casting multiplications to unsigned
6066         (gst_value_lcopy_fraction): it's ints, not uint32
6067         (gst_value_set_fraction): disallow minint, multiplying and negation
6068           are broken with it
6069         (gst_value_fraction_multiply): fix to make large numbers work and get
6070         rid of the assumption that the multiplication of two ints fits an
6071         int64 - dunno if that's true for all systems
6072         * testsuite/caps/Makefile.am:
6073         * testsuite/caps/fraction-multiply-and-zero.c:
6074         (check_multiplication), (check_equal), (zero_test), (main):
6075           add tests for all the stuff above
6076         * testsuite/caps/value_compare.c: (test1):
6077           fix comment
6078         * tests/.cvsignore:
6079         * testsuite/caps/.cvsignore:
6080         * testsuite/debug/.cvsignore:
6081         * testsuite/dlopen/.cvsignore:
6082         * testsuite/states/.cvsignore:
6083           get up to date
6084
6085 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6086
6087         * docs/manual/bins-api.xml:
6088         * docs/manual/factories.xml:
6089         * docs/manual/helloworld.xml:
6090         * docs/manual/links-api.xml: 
6091           fixes for out of date info, incorrect info and grammar
6092
6093 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6094
6095         * docs/manual/pads.xml:
6096         * docs/manual/pads-api.xml: grammar fix
6097
6098 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6099
6100         * docs/manual/pads-api.xml: typo + grammar fix
6101
6102 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6103
6104         * docs/gst/gstreamer-sections.txt:
6105           add new symbols
6106         * docs/gst/tmpl/gstelement.sgml:
6107         * docs/gst/tmpl/gstpad.sgml:
6108         * docs/gst/tmpl/gsttypes.sgml:
6109         * docs/gst/tmpl/gstvalue.sgml:
6110           update docs
6111         * gst/gststructure.c: (gst_structure_set_valist),
6112         (gst_structure_from_abbr), (gst_structure_to_abbr):
6113         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
6114         (gst_greatest_common_divisor), (gst_value_init_fraction),
6115         (gst_value_copy_fraction), (gst_value_collect_fraction),
6116         (gst_value_lcopy_fraction), (gst_value_set_fraction),
6117         (gst_value_get_fraction_numerator),
6118         (gst_value_get_fraction_denominator),
6119         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
6120         (gst_value_deserialize_fraction),
6121         (gst_value_transform_fraction_string),
6122         (gst_value_transform_string_fraction),
6123         (gst_value_compare_fraction), (_gst_value_initialize):
6124         * gst/gstvalue.h:
6125           adding GstFraction GValue type, get/set, and multiply
6126         * testsuite/caps/Makefile.am:
6127         * testsuite/caps/fraction.c: (test), (main):
6128         * testsuite/caps/string-conversions.c: (main):
6129         * testsuite/caps/value_compare.c: (test1), (main):
6130           add regression tests for GstFraction
6131
6132 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6133         
6134         * docs/manual/init-api.xml: Grammar fix
6135
6136 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6137
6138         * docs/manual/states.xml: Fix inconsistent information
6139
6140 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6141
6142         * gst/gstelement.c: (gst_element_set_state):
6143         * gst/gstpad.c: (gst_pad_try_set_caps):
6144         * gst/gststructure.c:
6145         * gst/gstthread.c: (gst_thread_child_state_change):
6146         * gst/gstvalue.c: (gst_value_compare_double):
6147         * gst/gstvalue.h:
6148         * testsuite/parse/parse1.c: (main):
6149           debugging additions and style cleanups
6150
6151 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6152
6153         * docs/manual/states.xml: Grammar fix
6154
6155 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6156
6157         * docs/manual/pads.xml: Grammar fix
6158
6159 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6160
6161         * docs/manual/elements.xml: Fixed image reference
6162
6163 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6164
6165         * docs/manual/goals.xml: Grammar fix
6166
6167 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6168
6169         * docs/manual/motivation.xml:
6170         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
6171
6172 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6173
6174         * docs/manual/motivation.xml: Fix spelling
6175
6176 2004-07-15  Benjamin Otte  <otte@gnome.org>
6177
6178         * gst/gstelement.h: 
6179           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
6180           strings.
6181         * gst/gstelement.c (gst_element_class_init):
6182           GError's are boxed, not objects
6183         * gst/gstmarshal.list:
6184           update list for the fixed error signal
6185
6186 2004-07-14  Andy Wingo  <wingo@pobox.com>
6187
6188         * gst/gsttag.c: Add a tag merge func for pointers. The header was
6189         there all along, but the function wasn't. (guile-gstreamer's build
6190         system uses the address of the function -- I wasn't actually
6191         trying to use this.)
6192
6193 2004-07-14  Andy Wingo  <wingo@pobox.com>
6194
6195         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
6196         as gst_pad_proxy_pad_link) just link to every other pad when they
6197         are called. In the case where the graph has cycles, this will mean
6198         that a call to try_set_caps will recurse. Allow this recursion
6199         and return OK, while we wait for the first try_set_caps to give a
6200         proper return value.
6201         (gst_pad_link_call_link_functions): Since this function is the
6202         only one to set the NEGOTIATING flag on a pad, if the flag is set
6203         it means that the link functions have indirectly recursed. If this
6204         happens, error out to avoid infinite recursion and an eventual
6205         SEGV.
6206         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
6207         (gst_pad_proxy_getcaps): Intersect the result with the template
6208         caps to ensure that the return value is valid.
6209
6210 2004-07-14  Andy Wingo  <wingo@pobox.com>
6211
6212         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
6213         one refcount, the calling function is the owner of the buffer.
6214
6215 2004-07-14  Wim Taymans  <wim@fluendo.com>
6216
6217         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
6218         (gst_opt_scheduler_pad_link), (group_migrate_connected):
6219         Fix stupid warning when an element is to be migrated but
6220         is already migrated.
6221
6222 2004-07-14  Wim Taymans  <wim@fluendo.com>
6223
6224         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
6225         (gst_opt_scheduler_pad_link), (group_migrate_connected):
6226         Make sure that a single non-loop-based element does not 
6227         end up in a group. This fixes the testsuite again.
6228
6229 2004-07-14  Wim Taymans  <wim@fluendo.com>
6230
6231         * gst/schedulers/gstoptimalscheduler.c: (create_group),
6232         (add_to_group), (merge_groups), (schedule_group),
6233         (gst_opt_scheduler_get_wrapper), (group_elements),
6234         (group_dec_link), (gst_opt_scheduler_pad_link),
6235         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
6236         (gst_opt_scheduler_iterate):
6237         move isolated groups to a new chain.
6238         Emit a warning instead of segfaulting in some error cases.
6239         Fix a bug where the link count between groups was not calculated 
6240         correctly. Fixes #144510.
6241
6242 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
6243         * gst/elements/gstfilesrc.c:
6244           Binary files support under Windows now OK
6245       
6246 2004-07-13  Benjamin Otte  <otte@gnome.org>
6247
6248           compatibility fixes for Solaris 8/gcc 2.95
6249         * configure.ac:
6250           include libintl libs in LDFLAGS
6251         * gstvalue.c (gst_value_deserialize_buffer):
6252           cast isxdigit stuff to int to silence compiler warning
6253
6254 2004-07-12  Benjamin Otte  <otte@gnome.org>
6255
6256         * gst/gsttypes.h:
6257           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
6258           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
6259           just causes support madness
6260         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
6261           make it work without this
6262         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
6263         (gst_file_index_commit):
6264           glib IO channels don't want binary mode
6265         * testsuite/bytestream/filepadsink.c: (main):
6266         * testsuite/bytestream/test1.c: (read_param_file):
6267           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
6268
6269 2004-07-12  Benjamin Otte  <otte@gnome.org>
6270
6271         * gst/gstelement.c: (gst_element_class_init),
6272         (gst_element_set_state), (gst_element_set_state_func):
6273           virutalize gst_element_set_state, use set_state member in class
6274           struct that was already added in 0.7 for this.
6275         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
6276         (gst_bin_change_state):
6277           make gst_bin_foreach works similar to other foreach functions, plug
6278           memleaks in it. Make functions using it work with the new approach.
6279           Document gst_bin_foreach, so it can be exported if we want to
6280         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
6281           use virtualized set_state to make set_state on bins set the state of
6282           all its children.
6283
6284 2004-07-12  Benjamin Otte  <otte@gnome.org>
6285
6286         * configure.ac:
6287           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
6288           http://bugs.gentoo.org/show_bug.cgi?id=53967)
6289         * gst/gstpad.c: (gst_pad_alloc_buffer):
6290           allow buffer_alloc functions to return NULL and allocate a normal
6291           buffer in that case
6292
6293 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
6294         * gst/elements/gstfilesink.c:
6295         * gst/elements/gstfilesrc.c:
6296         * gst/indexers/gstfileindex.c:
6297         * gst/gsttypes.h:
6298         * testsuite/bytestream/filepadsink.c:
6299         * testsuite/bytestream/test1.c:
6300           Handle binary files under Windows
6301
6302 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
6303         * docs/manual/win32.xml:
6304         * win32/config.h:
6305         * win32/gst-register.vcproj:
6306         * win32/gstreamer.def:
6307           Update to another gettext public build
6308
6309 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
6310         * gst/gstplugin.c:
6311           Fix an impossible C syntax
6312         * win32/config.h:
6313           Disable i18n under Windows for the moment
6314         * win32/gst-register.vcproj:
6315           Use this configuration
6316
6317 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
6318         * docs/manual/quotes.xml:
6319           Keep the quotes file alive
6320         * docs/random/ds/0.9-suggested-changes:
6321           Add the suggestion of including a 'rowstride' as part of video
6322           format caps
6323
6324 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6325
6326         * gst/gstelement.c: (gst_element_set_state),
6327         (gst_element_change_state):
6328           d'oh.  Set PENDING state correctly before forcing bin to change.
6329         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6330         (gst_structure_parse_fixed_list):
6331         * gst/schedulers/gstoptimalscheduler.c:
6332         (gst_opt_scheduler_state_transition):
6333         * testsuite/states/parent.c: (main):
6334           remove comment now that it's fixed.
6335
6336 2004-07-11  Benjamin Otte  <otte@gnome.org>
6337
6338         * gst/gstclock.h:
6339           GST_SECOND shouldn't cause a conversion to unsigned.
6340         * testsuite/clock/.cvsignore:
6341         * testsuite/clock/Makefile.am:
6342         * testsuite/clock/signedness.c: (main):
6343           make sure it never will again
6344
6345 2004-07-11  Andy Wingo  <wingo@pobox.com>
6346
6347         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
6348         whose state is higher than the bin state, raise the bin state to
6349         ensure that bin state := highest child state.
6350         
6351 2004-07-11  Andy Wingo  <wingo@pobox.com>
6352
6353         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
6354         procedure on the children of a bin. Assumes that the procedure can
6355         change the set of children.
6356         (set_kid_state_func): New static function.
6357         (gst_bin_change_state): Use gst_bin_foreach to call
6358         set_kid_state_func. Fixes a bug: if a child had a state-change
6359         handler that removes it from the bin, there would be a segfault.
6360         Hopefully it should also work in the case where the state-change
6361         handler on one child adds or removes other children. In any case,
6362         fixes should go to gst_bin_foreach.
6363
6364 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6365
6366         * gst/gstelement.c: (gst_element_set_state):
6367           compatibility fix for latest plugins release.  Change loop back
6368           to while {}
6369
6370 2004-07-09  Wim Taymans  <wim@fluendo.com>
6371
6372         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
6373         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
6374         (gst_thread_main_loop):
6375         Since remove is virtual in GstBin we must not assume the 
6376         elements GList to have anothing useful.
6377         Add some more logging to GstThread and be a bit more paranoid
6378         when resetting the scheduler.
6379         Set the state of the bin to NULL before removing the children.
6380
6381 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6382
6383         * testsuite/threads/Makefile.am:
6384         * testsuite/threads/threadg.c:
6385           added test to check if problem when removing all elements from a
6386           GstThread before setting GstThread state to NULL
6387
6388 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6389
6390         * docs/gst/tmpl/gstelement.sgml:
6391         * docs/gst/tmpl/gsttypes.sgml:
6392         * gst/gstbin.c: (gst_bin_change_state):
6393         * gst/gstelement.c: (gst_element_set_state),
6394         (gst_element_change_state):
6395           rework so that for bins we try to set the state on all children
6396           as well even if the bin is in the correct state already.
6397           change while to do so at least one iteration is done.
6398           For regular elements, we fall back to the previous behaviour for
6399           now since we first need a new plugins release.
6400         * testsuite/states/parent.c: (main):
6401           test for this case
6402           Fixes #123774
6403
6404 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6405
6406         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
6407         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
6408         (gst_queue_release_locks), (gst_queue_change_state),
6409         (gst_queue_set_property):
6410           add proper lock debugging.  Change dispose to finalize, since
6411           we're freeing mutexes and other stuff which should happen only once.
6412
6413 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6414
6415         * docs/gst/tmpl/gstelement.sgml:
6416         * docs/gst/tmpl/gstplugin.sgml:
6417         * docs/gst/tmpl/gsttypes.sgml:
6418         * docs/pwg/building-state.xml:
6419         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
6420         * gst/gstelement.c: (gst_element_change_state):
6421         * gst/gstthread.c: (gst_thread_change_state):
6422           catch wrong state changes in element base class.
6423
6424 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6425
6426         * gst/gstinfo.h:
6427           clean up layout a little.
6428
6429 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6430
6431         * configure.ac:
6432         * testsuite/Makefile.am:
6433         * testsuite/states/Makefile.am:
6434         * testsuite/states/parent.c: (main):
6435           re-enable states testsuite dir.  Add test for state changes and
6436           parent behaviour
6437
6438 2004-07-09  Wim Taymans  <wim@fluendo.com>
6439
6440         * gst/schedulers/gstoptimalscheduler.c:
6441         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
6442         (element_get_reachables_func), (element_get_reachables),
6443         (debug_element), (rechain_group), (group_migrate_connected),
6444         (gst_opt_scheduler_pad_unlink):
6445         Do not try to migrate decoupled elements to a new group since
6446         they are not added to groups.
6447
6448 2004-07-08  Benjamin Otte  <otte@gnome.org>
6449
6450         * gst/gstelement.c: (gst_element_error_func):
6451           make reentrant (= allow removing elements in error handler)
6452
6453 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6454
6455         * gst/gstpad.c: (gst_pad_event_default_dispatch),
6456         (gst_pad_send_event), (gst_pad_call_chain_function):
6457           events sent to elements below PAUSED cannot be handled, so
6458           don't try to
6459
6460 2004-07-08  Wim Taymans  <wim@fluendo.com>
6461
6462         * gst/schedulers/gstoptimalscheduler.c:
6463         (chain_recursively_migrate_group), (create_group),
6464         (schedule_group), (gst_opt_scheduler_pad_link),
6465         (group_elements_set_visited), (element_get_reachables_func),
6466         (element_get_reachables), (group_can_reach_group), (debug_element),
6467         (rechain_group), (group_migrate_connected),
6468         (gst_opt_scheduler_pad_unlink):
6469         * testsuite/schedulers/Makefile.am:
6470         Implemented group splitting and rechaining.
6471         Fixes 143777 and 143777-2 in the testsuite.
6472
6473 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6474
6475         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
6476           extra debugging
6477         * gst/gstevent.h:
6478         * gst/gstinfo.c: (gst_debug_log_default):
6479           print time nicely.  add thread pointer until someone figures out
6480           a completely portable way of getting at thread id's.
6481         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
6482         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
6483         (gst_pad_call_chain_function):
6484           extra debugging
6485         * gst/schedulers/gstoptimalscheduler.c:
6486         (get_group_schedule_function), (loop_group_schedule_function),
6487         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
6488         (pad_clear_queued), (gst_opt_scheduler_iterate):
6489           rename BUFPEN and friends to DATAPEN since that's what they are.
6490
6491 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6492
6493         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
6494         * gst/gstbuffer.h:
6495         * gst/gstpad.c:
6496           cleanups and debugging
6497
6498 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6499
6500         * configure.ac:
6501         * gst/gstvalue.c: (gst_value_compare_enum),
6502         (gst_value_serialize_enum), (gst_value_deserialize_enum),
6503         (gst_value_can_compare), (gst_value_compare):
6504         * testsuite/Makefile.am:
6505         * testsuite/enumcaps/Makefile.am:
6506         * testsuite/enumcaps/enumcaps.c:
6507           Fix enum serialization, deserialization, comparison in caps, add
6508           a test to ensure that this continues working in the future.
6509
6510 2004-07-06  David Schleef  <ds@schleef.org>
6511
6512         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
6513         Fix memleak.
6514
6515 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6516
6517         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
6518         * gst/gstplugin.h:
6519         * gst/registries/gstxmlregistry.c:
6520         (plugin_times_older_than_recurse), (plugin_times_older_than),
6521         (gst_xml_registry_parse_padtemplate):
6522           only rebuild registry when actual plugins have a newer time than
6523           the registry.  Fixes #145520
6524
6525 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6526
6527         * docs/manual/manual.xml:
6528         * docs/manual/win32.xml:
6529           add chapter on win32 building.  fixes #142422
6530
6531 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6532
6533         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
6534
6535         * gst/autoplug/gstspider.c: (gst_spider_init),
6536         (gst_spider_dispose):
6537           fix spider memleaks.  fixes #137863
6538
6539 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6540
6541         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
6542
6543         * gst/schedulers/gstoptimalscheduler.c:
6544         (gst_opt_scheduler_pad_unlink):
6545           fix SIGBUS error, fixes #145338
6546
6547 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6548
6549         * gst/gstobject.c: (gst_object_replace):
6550         * gst/gstscheduler.c: (gst_scheduler_get_clock):
6551         * gst/gstsystemclock.c: (gst_system_clock_obtain):
6552           clean up clock lifecycle.  Fixes #109831
6553
6554 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6555
6556         * po/LINGUAS:
6557         * po/cs.po:
6558           added Czech translation (Miloslav Trmac)
6559
6560 2004-07-04  David Schleef  <ds@schleef.org>
6561
6562         * tools/Makefile.am:
6563         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
6564
6565 2004-07-04  David Schleef  <ds@schleef.org>
6566
6567         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
6568
6569 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6570
6571         * gst/gstbin.c: (gst_bin_restore_thyself):
6572           chain to parent restore so the bins get restored correctly
6573           in the editor
6574
6575 2004-07-03  David Schleef  <ds@schleef.org>
6576
6577         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
6578         Actually do something in these functions, like before the big
6579         caps change.  (bug #145137)
6580
6581 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6582
6583         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
6584         (gst_element_get_compatible_pad_filtered):
6585         * gst/gstthread.c: (gst_thread_main_loop):
6586           more debugging
6587
6588 2004-07-02  David Schleef  <ds@schleef.org>
6589
6590         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
6591         * gst/gstobject.h:
6592         * gst/gstparse.h:
6593         * gst/gsttrace.h:
6594         * gst/gstxml.h:
6595
6596 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6597
6598         * gst/gstpad.c: (gst_pad_check_schedulers),
6599         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6600         (gst_pad_link_prepare):
6601           revert until testsuite is fixed
6602
6603 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6604
6605         * testsuite/Makefile.am:
6606         * testsuite/caps/filtercaps.c: (main):
6607         * testsuite/clock/clock1.c: (main):
6608         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
6609           fix some more tests
6610
6611 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6612
6613         * testsuite/cleanup/cleanup1.c: (create_pipeline):
6614         * testsuite/cleanup/cleanup2.c: (create_pipeline):
6615         * testsuite/cleanup/cleanup4.c: (main):
6616           fix testsuite
6617
6618 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6619
6620         * libs/gst/control/control.c:
6621         * libs/gst/control/dparam.c:
6622         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
6623         * libs/gst/control/dparammanager.c:
6624         * libs/gst/control/dparammanager.h:
6625         * testsuite/dynparams/Makefile.am:
6626         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
6627         (gst_dptest_change_state), (gst_dptest_chain), (main):
6628           fix testcase for dparams
6629           add debugging category
6630
6631 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6632
6633         * testsuite/Rules:
6634           change path
6635
6636 2004-07-02  Benjamin Otte  <otte@gnome.org>
6637
6638         * tests/.cvsignore:
6639         * tests/Makefile.am:
6640         * tests/mass_elements.c: (gst_get_current_time), (main):
6641           add simple benchmark to test various speeds of fakesrc ! identity !
6642           identity ! ... ! fakesink.
6643           Usage: mass_elements [num_identities] [num_buffers]
6644           If not specified they default to 1000.
6645
6646 2004-07-02  Benjamin Otte  <otte@gnome.org>
6647
6648         * gst/gstpad.c: (gst_pad_check_schedulers),
6649         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6650         (gst_pad_link_prepare):
6651           check that pads that get linked belong to the same manager. The old
6652           code allowed linking elements before putting them into bins, so it
6653           worked to link them and then put them in different threads, which
6654           lead to weird behaviour.
6655           Since this effectively disallows linking elements before putting
6656           them in a bin, some applications might not work after this and error
6657           out. If these applications are too critical, we might need to revert
6658           that patch. Please test this before the next release...
6659
6660 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6661
6662         * gst/gstpad.c: (gst_pad_get_caps):
6663           throw an error if the getcaps function does not return a subset of
6664           the template caps.
6665         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
6666           make disconts without position info an error in debugging
6667         * tests/spidey_bench.c: (handoff), (main):
6668           don't count first try when averaging
6669
6670 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6671
6672         * gst/gstplugin.c: (gst_plugin_load_file):
6673           figure out problem with dynamic test
6674
6675 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6676
6677         * docs/gst/Makefile.am:
6678           fix docs build
6679
6680 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6681
6682         * po/POTFILES.in:
6683         * po/af.po:
6684         * po/az.po:
6685         * po/en_GB.po:
6686         * po/fr.po:
6687         * po/nl.po:
6688         * po/sr.po:
6689         * po/sv.po:
6690         * po/tr.po:
6691         * po/uk.po:
6692         * tools/gst-register.c: (plugin_added_func), (main):
6693           i18n-ize -register, fix plural
6694
6695 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6696
6697         * gst/elements/gstidentity.c: (gst_identity_class_init),
6698         (gst_identity_init), (gst_identity_chain),
6699         (gst_identity_set_property), (gst_identity_get_property):
6700         * gst/elements/gstidentity.h:
6701           check for perfect stream
6702
6703 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6704
6705         * gst/elements/gstidentity.c: (gst_identity_chain):
6706           print offset_end
6707
6708 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6709
6710         * docs/gst/Makefile.am:
6711         * docs/gst/gstreamer-docs.sgml:
6712           doc fixes
6713
6714 2004-06-24  David Schleef  <ds@schleef.org>
6715
6716         * autogen.sh:  Remove call to env, since the buildbot isn't
6717         broken anymore.
6718
6719 2004-06-24  Wim Taymans  <wim@fluendo.com>
6720
6721         * gst/elements/Makefile.am:
6722         * gst/elements/gstelements.c:
6723         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
6724         (gst_multifdsink_class_init), (gst_multifdsink_init),
6725         (gst_multifdsink_add), (gst_multifdsink_remove),
6726         (gst_multifdsink_clear), (gst_multifdsink_chain),
6727         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
6728         * gst/elements/gstmultifdsink.h:
6729         Added an element that writes to multiple filedescriptors at once.
6730
6731 2004-06-24  Benjamin Otte  <otte@gnome.org>
6732
6733         * gst/parse/grammar.y:
6734           don't try to link elements before they have been added to bins
6735
6736 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6737
6738         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
6739         (gst_file_pad_get_length):
6740         * libs/gst/bytestream/filepad.h:
6741           add 2 new functions
6742
6743 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6744
6745         * docs/gst/gstreamer-sections.txt:
6746         remove from docs, the define that Benjamin removed from gstelement.h
6747
6748 2004-06-22  Benjamin Otte  <otte@gnome.org>
6749
6750         * gst/gstelement.h:
6751           remove define that referenced a nonexisting GstElement struct member
6752
6753 2004-06-20  Benjamin Otte  <otte@gnome.org>
6754
6755         * gst/gstdata.c: (gst_data_is_writable):
6756           whoops, return values were wrong, so writable data was marked as
6757           non-writable and vice versa. (fixes #143953, spotted by Francis
6758           Labonte)
6759           Shows how rarely we need to copy data ;)
6760
6761 2004-06-20  Benjamin Otte  <otte@gnome.org>
6762
6763         * testsuite/schedulers/.cvsignore:
6764         * testsuite/schedulers/Makefile.am:
6765         * testsuite/schedulers/143777-2.c: (main):
6766           add test for opt breakage in bug #143777
6767
6768 2004-06-20  Benjamin Otte  <otte@gnome.org>
6769
6770         * gst/gstpad.c: (gst_pad_call_chain_function):
6771           check for if we were unlinked while inside the chainfunction (fixes
6772           entrygthread having issues with #143777)
6773         * testsuite/schedulers/143777.c: (main):
6774         * testsuite/schedulers/Makefile.am:
6775           add a test for that fix
6776
6777 2004-06-20  Benjamin Otte  <otte@gnome.org>
6778
6779         * gst/gstvalue.c: (gst_value_set_int_range):
6780           test that start is smaller then end
6781         * libs/gst/bytestream/Makefile.am:
6782         * libs/gst/bytestream/filepad.c: 
6783         * libs/gst/bytestream/filepad.h:
6784           add GstFilePad - a pad that behaves like a FILE*
6785         * testsuite/bytestream/.cvsignore:
6786         * testsuite/bytestream/Makefile.am:
6787         * testsuite/bytestream/filepadsink.c: 
6788           test for the GstFilePad
6789
6790 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6791
6792         * gst/elements/gstidentity.c: (gst_identity_class_init),
6793         (gst_identity_init), (gst_identity_set_clock),
6794         (gst_identity_chain), (gst_identity_set_property),
6795         (gst_identity_get_property):
6796         * gst/elements/gstidentity.h:
6797         * gst/gstclock.c: (gst_clock_id_wait):
6798           add a "sync" property to sync to the clock
6799
6800 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6801
6802         * gst/gstelementfactory.c: (gst_element_factory_create):
6803           make the freakin "elementfactory bla has no type" message more
6804           useful. So we actually can do something when someone shows up
6805           complaining about it.
6806
6807 2004-06-15  Johan Dahlin  <johan@gnome.org>
6808
6809         * tools/gst-inspect.c (main): Fallback to plugin if no element is
6810         found. This matches the old behavior better. Thanks to Thomas for
6811         pointing out.
6812
6813 2004-06-14  David Schleef  <ds@schleef.org>
6814
6815         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
6816         -fomit-frame-pointer.  Appears to generate correct code in
6817         other cases as well.
6818
6819 2004-06-14  Johan Dahlin  <johan@gnome.org>
6820
6821         * tools/gst-inspect.c (main): Add two new command line options: -a
6822         to print all elements and -n to print the name on each line. Also
6823         fix some error reporting.
6824         (main): Simplify, remove -n and always print names if -a is specified
6825
6826 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
6827
6828         * win32/gstconfig.h:
6829         * win32/GSTreamer.vcproj:
6830         * win32/Makefile:
6831         * gst/gstconfig.h.in:
6832         * gst/gst.h:
6833         * gst/gstbin.h:
6834         * gst/gstelement.h:
6835         * gst/gstevent.h:
6836         * gst/gstobject.h:
6837         * gst/gstpad.h:
6838         * docs/gst/gstreamer-sections.txt:
6839         * docs/gst/tmpl/gstconfig.sgml:
6840           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
6841
6842 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6843         * docs/gst/gstreamer-sections.txt:
6844         * docs/gst/tmpl/gstconfig.sgml:
6845         Add the GSTREAMER_EXPORT macro to the docs
6846
6847 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6848
6849         * tools/gst-compprep.c: (handle_xmlerror), (main):
6850         Add a check for the version that introduced SetStructuredError to fix
6851         the build on FC1
6852
6853 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6854
6855         * win32/msvc71.sln:
6856         * win32/testsuite/:
6857           prepare to compile the testsuite with MSVC
6858
6859 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6860
6861         * docs/manual/win32.xml:
6862           attempt to transform the Win32 README into an XML doc
6863
6864 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6865
6866         * gst/gst.c:
6867         * gst/gstbin.*:
6868         * gst/config.h.in:
6869         * gst/gstelement.*:
6870         * gst/gstevent.h:
6871         * gst/gstobject.*:
6872         * gst/gstpad.h:
6873         * tools/gst-register.c:
6874         * win32/gstreamer.def:
6875           extern symbols are now exported for the Windows DLL
6876
6877 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6878
6879         * gst/gstinfo.h:
6880           fix a problem to enable/disable DEBUG under MSVC
6881
6882 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6883
6884         * win32/:
6885           enable more debug code in DEBUG build
6886
6887 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6888
6889         * win32/config.h:
6890         * gst/gst-i18n-app.h:
6891           enable NLS under Windows
6892
6893 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
6894         * tools/gst-compprep.c: (handle_xmlerror), (main):
6895           Make an error that baffled me a bit clearer
6896
6897 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6898
6899         * gst/gstqueue.c:
6900           don't use g_queue_get_length () because it's 2.4, use ->length
6901
6902 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
6903
6904         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
6905
6906         * tools/gst-inspect.c: (print_signal_info):
6907           don't free random data twice. (fixes #144185)
6908
6909 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6910
6911         * gst/gstqueue.c:
6912         * gst/gstqueue.h:
6913           fix removing from the wrong queue on event timeout
6914           fix disposing of the event queue by casting correctly
6915           add mutexes for handling the event queue
6916           someone was sleeping when fixing queue last time around :)
6917
6918 2004-06-10  Johan Dahlin  <johan@gnome.org>
6919
6920         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
6921         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
6922
6923 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6924
6925         * docs/random/gdp:
6926         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
6927         * libs/gst/dataprotocol/dataprotocol.c:
6928         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6929         (gst_dp_buffer_from_header):
6930         * libs/gst/dataprotocol/dataprotocol.h:
6931         * libs/gst/dataprotocol/dp-private.h:
6932           rev version to 0.1, add buffer flags and copy them
6933
6934 2004-06-09  Johan Dahlin  <johan@gnome.org>
6935
6936         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
6937         the flags from the buffer we're copying.
6938
6939 2004-06-09  Wim Taymans  <wim@fluendo.com>
6940
6941         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
6942         * gst/elements/gstidentity.c: (gst_identity_init),
6943         (gst_identity_chain):
6944         Print more buffer info in fakesink.
6945         Make identity output similar to fakesink.
6946
6947 2004-06-07  Daniel Gazard  <dany42@free.fr>
6948
6949         reviewed by Benjamin Otte  <otte@gnome.org>
6950
6951         * configure.ac:
6952           fix cross compiling not working. (fixes #143741)
6953
6954 2004-06-07  Benjamin Otte  <otte@gnome.org>
6955
6956         * gst/gstelement.c: (gst_element_set_time_delay):
6957           add failure check
6958         * gst/gstinfo.h:
6959           put brackets around macro arguments of GST_TIME_ARGS, add note to
6960           move it to correct header in 0.9
6961
6962 2004-06-07  Benjamin Otte  <otte@gnome.org>
6963
6964         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
6965         (gst_file_index_load), (_file_index_id_save_entries),
6966         (gst_file_index_commit), (gst_file_index_add_association),
6967         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
6968         (gst_file_index_plugin_init):
6969           make debugging use a default category
6970
6971 2004-06-06  David Moore  <dcm@acm.org>
6972
6973         reviewed by Benjamin Otte  <otte@gnome.org>
6974
6975         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6976         (gst_fdsrc_change_state):
6977           reset offset counter when going READY => PAUSED. (fixes #142903)
6978
6979 2004-06-06  ed@catmur.co.uk
6980
6981         reviewed by Benjamin Otte  <otte@gnome.org>
6982
6983         * gst/registries/gstxmlregistry.c:
6984         (gst_xml_registry_rebuild_recurse):
6985           don't rely on g_dir_open to figure out if a file is a directory, use
6986           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
6987           directories. (fixes #142850)
6988
6989 2004-06-06  Benjamin Otte  <otte@gnome.org>
6990
6991         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
6992           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
6993         * libs/gst/bytestream/adapter.c:
6994         * libs/gst/bytestream/adapter.h:
6995           fix copyright in header and typo in debugging category name
6996
6997 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6998
6999         * configure.ac:
7000           bump nano to cvs
7001
7002 === release 0.8.3 ===
7003
7004 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7005
7006         * configure.ac:
7007           update libtool versioning
7008           do a new release
7009         * docs/gst/tmpl/gstelement.sgml:
7010         * docs/gst/tmpl/gsttypes.sgml:
7011         * gst/gstinfo.c: (_gst_debug_init):
7012           put back GST_CAT_DATAFLOW to fix API breakage
7013
7014 2004-06-04  David Schleef  <ds@schleef.org>
7015
7016         * autogen.sh: Add a temporary 'env' to test buildbot problems.
7017
7018 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7019
7020         * configure.ac:
7021           bump nano to cvs
7022
7023 === release 0.8.2 ===
7024
7025 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7026
7027         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
7028           check GST_DEBUG environment variable which is parsed the same way
7029           as --gst-debug=
7030
7031 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7032
7033         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
7034                             gstmd5sink.c gstshaper.c gsttee.c
7035                             gsttypefindelement.c
7036         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
7037
7038           - removing trailing commas at end of enums
7039             it is correct C99 code but C90 compilers would complain
7040             (AIX, Forte, ...)
7041             ('should' fix #143290, at least partially)
7042
7043 2004-05-27  Wim Taymans  <wim@fluendo.com>
7044
7045         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
7046         (chain_group_set_enabled), (create_group), (add_to_group),
7047         (merge_groups), (setup_group_scheduler), (group_elements),
7048         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
7049         Don't try to follow the pad connections with other groups
7050         when a loop based element is added to the scheduler because
7051         the bin will inform the scheduler about the pad links a little
7052         later.
7053
7054 2004-05-27  Wim Taymans  <wim@fluendo.com>
7055
7056         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7057         (remove_from_chain), (chain_group_set_enabled),
7058         (setup_group_scheduler), (group_element_set_enabled),
7059         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
7060         (gst_opt_scheduler_show):
7061         Elements without a group can do a state change as well, just wait
7062         with the setup of the scheduling function when it is added to a
7063         chain.
7064
7065 2004-05-27  Wim Taymans  <wim@fluendo.com>
7066
7067         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7068         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
7069         (merge_groups), (setup_group_scheduler),
7070         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
7071         (gst_opt_scheduler_show):
7072         Fixes to maintain internal consistency of the scheduler data
7073         structures. 
7074          - adding an enabled group to a chain should increment the
7075            number of enabled elements in that chain.
7076          - removing an enabled group from a chain could disable the
7077            chain.
7078          - removing a disabled group from a chain could enable the
7079            chain.
7080          - add g_assert when internal inconsistency is detected.
7081          - adding an element to a group could increase the number of
7082            links this group has with other groups.
7083          - merging two groups also merges the chains.
7084          - also show group links in the _show method.
7085            
7086
7087 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7088
7089         * gst/gstcaps.c: (gst_caps_structure_simplify):
7090           don't print error messages when there is no error
7091         * gst/gstvalue.c: (gst_value_compare_int_range):
7092           compare the second value, too
7093         * testsuite/caps/Makefile.am:
7094         * testsuite/caps/random.c: (assert_on_error), (main):
7095           add tests to make sure the two things above are checked for
7096
7097 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7098
7099         * configure.ac:
7100         * libs/gst/dataprotocol/Makefile.am:
7101         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
7102         * libs/gst/dataprotocol/dataprotocol.h:
7103           wrap header in GST_ENABLE_NEW.  make code use it
7104
7105 2004-05-23  Johan Dahlin  <johan@gnome.org>
7106
7107         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
7108         so verbose and print GstElement signal names all the time.
7109
7110 2004-05-22  David Schleef  <ds@schleef.org>
7111
7112         * gst/registries/gstxmlregistry.c:
7113         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
7114         (bug #142957)
7115
7116 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7117
7118         * configure.ac:
7119           scrub cflags for glib2 so gcc doesn't complain when glib is in
7120           /usr/local
7121
7122 2004-05-21  Johan Dahlin  <johan@gnome.org>
7123
7124         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
7125         __GNUC__, patch from Brian Cameron, fixes bug #142804
7126
7127 2004-05-20  David Schleef  <ds@schleef.org>
7128
7129         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
7130         comparison code.  (bug #142819)
7131
7132 2004-05-20  Wim Taymans  <wim@fluendo.com>
7133
7134         * gst/gstbuffer.c: (gst_buffer_default_copy):
7135         * gst/gstbuffer.h:
7136         Added Comment to a flag.
7137         copy relevant flags in _buffer_copy.
7138
7139 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7140
7141         reviewed by: Wim Taymans <wim at fluendo dot com>
7142
7143         * gst/gstbuffer.h:
7144           add GST_BUFFER_IN_CAPS buffer flag
7145         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7146         (gst_structure_parse_any_list), (gst_structure_parse_list),
7147         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
7148         * gst/gstvalue.c: (gst_value_serialize_any_list),
7149         (gst_value_transform_any_list_string),
7150         (gst_value_list_prepend_value), (gst_value_list_append_value),
7151         (gst_value_list_get_size), (gst_value_list_get_value),
7152         (gst_value_transform_list_string),
7153         (gst_value_transform_fixed_list_string),
7154         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
7155         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
7156         (_gst_value_initialize):
7157         * gst/gstvalue.h:
7158           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
7159           < , > as a format.
7160         * testsuite/caps/string-conversions.c: (main):
7161           add regression tests for < >
7162
7163 2004-05-20  Johan Dahlin  <johan@gnome.org>
7164
7165         * docs/gst/Makefile.am (all-local): Re-add
7166
7167 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7168
7169         * docs/gst/Makefile.am:
7170         * docs/gst/gstreamer-docs.sgml:
7171         * docs/libs/Makefile.am:
7172         * docs/libs/gstreamer-libs-docs.sgml:
7173           fix distcheck issues
7174
7175 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7176
7177         * libs/gst/dataprotocol/Makefile.am:
7178           add to autotest
7179
7180 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7181
7182         * libs/gst/dataprotocol/Makefile.am:
7183         * libs/gst/dataprotocol/dataprotocol.c:
7184         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7185         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
7186         * libs/gst/dataprotocol/dp-private.h:
7187           use GST macros to read/write fixed length ints
7188           add some more asserts
7189
7190 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7191
7192         * docs/libs/gstreamer-libs-docs.sgml:
7193         * docs/libs/gstreamer-libs-sections.txt:
7194           remove idct and putbits
7195         * configure.ac:
7196         * docs/libs/tmpl/gstdataprotocol.sgml:
7197         * libs/gst/Makefile.am:
7198         * libs/gst/dataprotocol/Makefile.am:
7199         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
7200         (buffer_test), (caps_test), (event_test), (main):
7201         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
7202         (gst_dp_dump_byte_array), (gst_dp_init),
7203         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
7204         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7205         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
7206         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
7207         (gst_dp_validate_header), (gst_dp_validate_payload),
7208         (gst_dp_validate_packet), (plugin_init):
7209         * libs/gst/dataprotocol/dataprotocol.h:
7210         * libs/gst/dataprotocol/dp-private.h:
7211           add dataprotocol
7212
7213 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7214
7215         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7216           fix int variable deserialization and add a helper so we can actually
7217           debug this.
7218
7219 2004-05-18  David Schleef  <ds@schleef.org>
7220
7221         * testsuite/debug/commandline.c: (main): Call ./commandline, not
7222           argv[0].  Calling yourself is probably not the best way to
7223           construct a test like this, btw.
7224
7225 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7226
7227         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
7228           don't claim to be more intelligent than a scheduler when the
7229           scheduler claims the pipeline is stopped
7230         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
7231         (safe_cothread_destroy),
7232         (gst_entry_scheduler_remove_all_cothreads),
7233         (gst_entry_scheduler_reset), (_remove_cothread),
7234         (gst_entry_scheduler_state_transition):
7235           hold off cothread destruction if we're not in main cothread
7236         * configure.ac:
7237         * testsuite/Makefile.am:
7238           add new test dir
7239         * testsuite/schedulers/.cvsignore:
7240         * testsuite/schedulers/Makefile.am:
7241           add tests
7242         * testsuite/schedulers/relink.c: (cb_handoff), (main):
7243           check relinking and adding/removing elements from a running pipeline
7244         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
7245           check unlinking in a running pipeline
7246         * testsuite/schedulers/unref.c: (cb_handoff), (main):
7247           check unreffing a running pipeline
7248         * testsuite/schedulers/useless_iteration.c: (main):
7249           check iterating a pipeline that contains running threads works
7250
7251 2004-05-18  David Schleef  <ds@schleef.org>
7252
7253         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
7254           is false.
7255
7256 2004-05-18  Wim Taymans  <wim@fluendo.com>
7257
7258         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7259         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
7260         Fixed an error introduced with patch for 1.63. When setting
7261         a get based element as the entry point in a group, make sure
7262         to mark the group as GET based.
7263
7264 2004-05-18  Wim Taymans  <wim@fluendo.com>
7265
7266         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7267         (setup_group_scheduler), (loop_group_schedule_function),
7268         (gst_opt_scheduler_pad_link):
7269         Added some more debug info and fixed a bug where the group
7270         type was set to LOOP but it was in fact unknown.
7271
7272 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7273
7274         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
7275           make resetting scheduler work twice in a row
7276
7277 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7278
7279         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
7280         (CREATE_USERIALIZATION), (_gst_value_initialize),
7281         (gst_value_compare_float), (gst_value_serialize_float),
7282         (gst_value_deserialize_float), (gst_value_compare_enum),
7283         (gst_value_serialize_enum), (gst_value_deserialize_enum):
7284           add serialization and comparison functions for long, int64, enum and
7285           float values
7286         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
7287           use best serialization function in type hierarchy instead of only a
7288           matching one. This is required for enums to work.
7289         * gst/parse/grammar.y:
7290           use gst_caps_deserialize
7291         * testsuite/parse/Makefile.am:
7292           parse1 now works
7293         * testsuite/parse/parse1.c: (main):
7294           remove aggregator check, aggregator is broken, this test works now
7295           but fails because of bug #138012
7296         * testsuite/parse/parse2.c: (main):
7297           s/xvideosink/xvimagesink - this test looks a lot like we should
7298           disable it
7299
7300 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7301
7302         * gst/gstelement.c: (gst_element_class_init):
7303           whoops, store the signal id correctly
7304         * gst/schedulers/gstbasicscheduler.c:
7305         (gst_basic_scheduler_chain_wrapper):
7306           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
7307           chain function isn't linked
7308
7309 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
7310         * configure.ac:
7311         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
7312         support until we decide where the flags should be used
7313         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
7314         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
7315         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7316         Output refused caps in the debug info
7317
7318 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7319
7320         * gst/elements/gstidentity.c: (gst_identity_chain):
7321           add duration debug
7322         * gst/gstinfo.c: (gst_debug_log_default):
7323           add timestamp
7324
7325 2004-05-13  Benjamin Otte  <otte@gnome.org>
7326
7327         * gst/gstpipeline.c: (gst_pipeline_dispose),
7328         (gst_pipeline_change_state):
7329           call gst_scheduler_reset on dispose (fixes #141416)
7330
7331 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7332
7333         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7334           compute mapsize correctly
7335         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7336           use correct datatypes when calling a varargs function
7337         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7338           push a DISCONT event as first thing
7339         * gst/gst_private.h:
7340         * gst/gstinfo.c: (_gst_debug_init):
7341           remove GST_DATAFLOW debugging category
7342         * gst/gstbin.c: (gst_bin_iterate):
7343           use GST_SCHEDULING category
7344         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
7345         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
7346         (gst_pad_call_get_function):
7347           add GST_DATAFLOW to easily track flow of buffers or events.
7348         * gst/gstqueue.c: (gst_queue_get_type),
7349         (gst_queue_handle_pending_events), (gst_queue_chain),
7350         (gst_queue_get), (gst_queue_handle_src_event):
7351           use own static debugging category GST_DATAFLOW for dataflow,
7352           use DEBUG category for showing which path events go, use LOG
7353           category for buffers.
7354
7355 2004-05-10  David Schleef  <ds@schleef.org>
7356
7357         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
7358
7359 2004-05-10  David Schleef  <ds@schleef.org>
7360
7361         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
7362         symbols, because otherwise we don't know what they are.  Thanks,
7363         the GStreamer team.
7364         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
7365
7366 2004-05-10  David Schleef  <ds@schleef.org>
7367
7368         (from Steve Lhomme)
7369         * win32/Makefile: When using make clean the MS Visual Studio makefiles
7370         are deleted.  Fix.
7371         * win32/Makefile.inspect:
7372         * win32/Makefile.launch:
7373         * win32/Makefile.register:
7374
7375 2004-05-10  David Schleef  <ds@schleef.org>
7376
7377         * gst/gstinfo.h: Add missing inline function.
7378         * gst/gsttrace.c: add include
7379         * gst/parse/grammar.y: remove unused code
7380         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
7381         more portable.
7382         * tools/gst-register.c: wrap unistd.h
7383         
7384         More additions/fixes from Steve for the MSVC build.
7385         * win32/GStreamer.vcproj:
7386         * win32/Makefile:
7387         * win32/Makefile.inspect:
7388         * win32/Makefile.launch:
7389         * win32/Makefile.register:
7390         * win32/README.txt:
7391         * win32/gst-inspect.vcproj:
7392         * win32/gst-launch.vcproj:
7393         * win32/gst-register.vcproj:
7394         * win32/gstbytestream.def:
7395         * win32/gstbytestream.vcproj:
7396         * win32/gstconfig.h:
7397         * win32/gstelements.def:
7398         * win32/gstelements.vcproj:
7399         * win32/gstenumtypes.c:
7400         * win32/gstenumtypes.h:
7401         * win32/gstoptimalscheduler.def:
7402         * win32/gstoptimalscheduler.vcproj:
7403         * win32/gstreamer.def:
7404         * win32/gstspider.def:
7405         * win32/gstspider.vcproj:
7406         * win32/gstversion.h:
7407         * win32/msvc71.sln:
7408
7409 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7410
7411         * gst/gstelement.c: (gst_element_class_init),
7412         (gst_element_no_more_pads):
7413         * gst/gstelement.h:
7414           add gst_element_no_more_pads and the "no-more-pads" signal
7415
7416 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7417
7418         * gst/gstregistry.c: (gst_registry_add_plugin):
7419           refuse to add plugins when a plugin with same name is already
7420           registered. Fixes a bunch of "How to remove plugins?" issues.
7421           May lead to other problems though, let's test
7422
7423 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7424
7425         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
7426         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
7427         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
7428
7429 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7430
7431         * tests/Makefile.am: fix am16 issue
7432
7433 2004-05-09  Benjamin Otte  <otte@gnome.org>
7434
7435         * libs/gst/bytestream/Makefile.am:
7436           we should indeed add .c files to makefiles or they won't be built
7437           (d'oh)
7438
7439 2004-05-08  Benjamin Otte  <otte@gnome.org>
7440
7441         * gst/gstpad.c: (gst_pad_proxy_fixate):
7442           really reduce the set of caps
7443
7444 2004-05-08  Benjamin Otte  <otte@gnome.org>
7445
7446         * tests/Makefile.am:
7447         * tests/spidey_bench.c: (handoff), (main):
7448           add benchmark to test how long spider needs to create a pipeline
7449
7450 2004-05-08  Benjamin Otte  <otte@gnome.org>
7451
7452         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
7453           mark links as unengaged when unnegotiating instead of deactivating.
7454           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
7455
7456 2004-05-08  Benjamin Otte  <otte@gnome.org>
7457
7458         * docs/manual/helloworld.xml:
7459           s/audiosink/osssink (patch by Patrick Guimond)
7460
7461 2004-05-07  David Schleef  <ds@schleef.org>
7462
7463         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
7464         since it contains important stuff.
7465
7466 2004-05-07  David Schleef  <ds@schleef.org>
7467
7468         * testsuite/caps/caps.c: (test3), (main): A check for appending
7469         ANY caps.
7470
7471 2004-05-07  David Schleef  <ds@schleef.org>
7472
7473         * common/m4/as-compiler-flag.m4: Properly quote arguments,
7474         which may contain commas.  Fixes detection of -Wa,-mregnames
7475
7476 2004-05-06  David Schleef  <ds@schleef.org>
7477
7478         Changes to handle compilers that don't have variadic macro
7479         support.  In particular, glib headers define some inlines
7480         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
7481         builds.
7482         * gst/Makefile.am:
7483         * gst/cothreads.c:
7484         * gst/elements/gstfdsink.c:
7485         * gst/elements/gstfdsrc.c:
7486         * gst/elements/gstfilesink.c:
7487         * gst/elements/gstfilesrc.c:
7488         * gst/gst_private.h:
7489         * gst/gstatomic.c:
7490         * gst/gstcaps.c: (gst_caps_append):
7491         * gst/gstcpu.c: (gst_cpuid_i386):
7492         * gst/gstelement.c:
7493         * gst/gsterror.c:
7494         * gst/gstfilter.c:
7495         * gst/gstinfo.h:
7496         * gst/gstprobe.c:
7497         * gst/gstquery.c:
7498         * gst/gstregistry.c:
7499         * gst/gststructure.c:
7500         * gst/gsttaginterface.c:
7501         * gst/gsttrace.c: (gst_trace_new):
7502         * gst/gsttrashstack.c:
7503         * gst/gsturi.c:
7504         * gst/gstvalue.c:
7505         * gst/parse/grammar.y:
7506         * gst/parse/parse.l:
7507         * tools/gst-inspect.c: (main):
7508         * tools/gst-launch.c: (main):
7509         * tools/gst-xmlinspect.c: (PUT_STRING):
7510
7511 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7512
7513         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
7514         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
7515         * gst/elements/gstfilesrc.h:
7516           send NEW_MEDIA events correctly
7517         * gst/elements/gsttypefindelement.c: (start_typefinding),
7518         (gst_type_find_element_handle_event):
7519           restart typefinding when we get a NEW_MEDIA event
7520         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
7521         (gst_bin_dispose):
7522           don't die when someone removes elements in callbacks
7523         * gst/gstelement.c: (gst_element_change_state):
7524           improve debugging
7525         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
7526           we need a NEW_MEDIA event to engage a link
7527         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
7528           don't g_print debugging stuff
7529         * testsuite/caps/simplify.c: (check_caps):
7530
7531 2004-05-04  Benjamin Otte  <otte@gnome.org>
7532
7533         * gst/parse/grammar.y:
7534           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
7535
7536 2004-05-04  Benjamin Otte  <otte@gnome.org>
7537
7538         * testsuite/caps/renegotiate.c: (main):
7539           improve output in error case
7540
7541 2004-05-04  Benjamin Otte  <otte@gnome.org>
7542
7543         * gst/parse/grammar.y:
7544           fix assert to not trigger when there's no error argument
7545         * gst/parse/parse.l:
7546           fix definition of caps to allow more than two structures
7547         * testsuite/caps/Makefile.am:
7548         * testsuite/caps/renegotiate.c: (main):
7549           it's sinesrc and works in that case
7550
7551 2004-05-04  Wim Taymans  <wim@fluendo.com>
7552
7553         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7554         (group_dec_link), (gst_opt_scheduler_pad_unlink):
7555         when removing an element from a group, we always need to
7556         decrement the link count that this group had with other 
7557         groups through the element.
7558         added an extra assert to catch inconsistencies when decrementing
7559         the link count.
7560
7561 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7562
7563         * configure.ac:
7564         * docs/gst/Makefile.am:
7565         * docs/gst/gstreamer-sections.txt:
7566         * docs/gst/tmpl/gstcompat.sgml:
7567         * examples/appreader/Makefile.am:
7568         * examples/cutter/Makefile.am:
7569         * examples/events/Makefile.am:
7570         * examples/helloworld/Makefile.am:
7571         * examples/helloworld2/Makefile.am:
7572         * examples/launch/Makefile.am:
7573         * examples/manual/Makefile.am:
7574         * examples/mixer/Makefile.am:
7575         * examples/pingpong/Makefile.am:
7576         * examples/plugins/Makefile.am:
7577         * examples/queue/Makefile.am:
7578         * examples/queue2/Makefile.am:
7579         * examples/queue3/Makefile.am:
7580         * examples/queue4/Makefile.am:
7581         * examples/retag/Makefile.am:
7582         * examples/thread/Makefile.am:
7583         * examples/typefind/Makefile.am:
7584         * examples/xml/Makefile.am:
7585         * gst/Makefile.am:
7586         * gst/autoplug/Makefile.am:
7587         * gst/elements/Makefile.am:
7588         * gst/gstcompat.h:
7589         * gst/indexers/Makefile.am:
7590         * gst/parse/Makefile.am:
7591         * gst/registries/Makefile.am:
7592         * gst/schedulers/Makefile.am:
7593         * libs/gst/bytestream/Makefile.am:
7594         * libs/gst/control/Makefile.am:
7595         * libs/gst/getbits/Makefile.am:
7596         * po/af.po:
7597         * po/az.po:
7598         * po/en_GB.po:
7599         * po/fr.po:
7600         * po/nl.po:
7601         * po/sr.po:
7602         * po/sv.po:
7603         * po/tr.po:
7604         * po/uk.po:
7605         * tests/Makefile.am:
7606         * tests/bufspeed/Makefile.am:
7607         * tests/instantiate/Makefile.am:
7608         * tests/memchunk/Makefile.am:
7609         * tests/muxing/Makefile.am:
7610         * tests/negotiation/Makefile.am:
7611         * tests/probes/Makefile.am:
7612         * tests/sched/Makefile.am:
7613         * tests/seeking/Makefile.am:
7614         * tests/threadstate/Makefile.am:
7615         * testsuite/caps/Makefile.am:
7616         * testsuite/cleanup/Makefile.am:
7617         * testsuite/dlopen/Makefile.am:
7618         * testsuite/dynparams/Makefile.am:
7619         * testsuite/plugin/Makefile.am:
7620         * testsuite/states/Makefile.am:
7621         * tools/Makefile.am:
7622           reorganize compile/link flags to be consistent
7623           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
7624
7625 2004-05-04  David Schleef  <ds@schleef.org>
7626
7627         The "once more, with feeling" check-in.
7628         * testsuite/caps/Makefile.am: dist caps_strings
7629         * testsuite/caps/renegotiate.c: (main): This test triggers a
7630           segfault in the core.  Marking as failing.
7631
7632 2004-05-03  David Schleef  <ds@schleef.org>
7633
7634         * testsuite/caps/deserialize.c: (main): Fix problems noticed
7635           by the build bots.
7636         * testsuite/caps/renegotiate.c: (main): Same.
7637
7638 2004-05-03  David Schleef  <ds@schleef.org>
7639
7640         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
7641
7642 2004-05-03  David Schleef  <ds@schleef.org>
7643
7644         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
7645           variable to find our source file.
7646
7647 2004-05-03  David Schleef  <ds@schleef.org>
7648
7649         * configure.ac:  Link plugins with libgstreamer and dependent
7650           libraries
7651         * testsuite/caps/Makefile.am:
7652         * testsuite/caps/caps_strings:
7653         * testsuite/caps/deserialize.c: (main): Add a little test to slog
7654           through a file of caps strings and test each one
7655
7656 2004-05-04  Benjamin Otte  <otte@gnome.org>
7657
7658         * libs/gst/bytestream/Makefile.am:
7659         * libs/gst/bytestream/adapter.c: 
7660         * libs/gst/bytestream/adapter.h:
7661           add GstAdapter, similar to bytestream, but doesn't require ugly event
7662           handling or uglier loopbased elements
7663
7664 2004-05-03  David Schleef  <ds@schleef.org>
7665
7666         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
7667         * testsuite/caps/erathostenes.c:
7668         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
7669
7670 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7671
7672         * docs/pwg/pwg.xml:
7673           remove hardcoded stylesheet path (duh)
7674         * docs/random/release:
7675         * docs/gst/gstreamer-sections.txt:
7676         * gst/Makefile.am:
7677         * gst/gst.h:
7678         * gst/gst_private.h:
7679         * gst/gstcaps.c:
7680         * gst/gstevent.c:
7681         * gst/gstformat.c:
7682         * gst/gstinfo.c:
7683         * gst/gstinfo.h:
7684         * gst/gstinterface.c:
7685         * gst/gstmemchunk.c:
7686         * gst/gstprobe.c:
7687         * gst/gstquery.c:
7688         * gst/gstregistry.c:
7689         * gst/gstregistrypool.c:
7690         * gst/gststructure.c:
7691         * gst/gsttaginterface.c:
7692         * gst/gstthread.c:
7693         * gst/gsttrace.c:
7694         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
7695         * gst/gsturi.c:
7696         * gst/gstvalue.c:
7697           deprecate gst_info; remove gstlog.h
7698    
7699
7700 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7701
7702         * Makefile.am:
7703         * po/en_GB.po:
7704         * po/sv.po:
7705         * po/uk.po:
7706           updated translations
7707
7708 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7709
7710         * gst/gstbin.c: (gst_bin_dispose):
7711           better debugging
7712
7713 2004-05-03  Johan Dahlin  <johan@gnome.org>
7714
7715         * gst/schedulers/gstoptimalscheduler.c
7716         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
7717         really is a GstElement. Avoids critical when running gst-launch -v
7718         and a oggdemux/decoding pipeline.
7719
7720 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7721
7722         * docs/gst/tmpl/gstpipeline.sgml :
7723         * docs/manual/elements-api.xml :
7724                 doc fix by Patrick Guimond (Protector) from devel ML
7725                 reviewed by ronald
7726
7727 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7728
7729         * docs/gst/Makefile.am :
7730         * docs/libs/Makefile.am :
7731                 apply a patch from Arwed v. Merkatz so that gtk-doc
7732                 generated docs install (same for .devhelp file)
7733                 (fixes part 1 of #138836)
7734
7735 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7736
7737         * docs/faq/dependencies.xml: typo
7738         * docs/faq/getting.xml :
7739             - fix download URL for new gstreamer site
7740             - hide sf.net download page as latest version aren't there
7741             - fix apt URLs
7742             - fill "get via CVS" paragraph (link to dev page on the site)
7743         * docs/faq/general.xml:
7744             hide status tables as they no more exists
7745             change case on plugins license file to reflect reality
7746         * docs/faq/troubleshooting.xml:
7747             remove the wiki question/answer as there is no more wiki
7748
7749 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7750
7751         * gst/gsterror.h:
7752           include the headers needed for declarations used in this header
7753
7754 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7755
7756         * docs/random/uraeus/gstreamer_and_midi.txt :
7757           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
7758           (fixes #132288)
7759
7760 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
7761
7762         reviewed by Benjamin Otte  <otte@gnome.org>
7763
7764         * gst/schedulers/gthread-cothreads.h:
7765           free allocated data for main cothread, too when destroying context
7766           (fixes #141417)
7767
7768 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7769
7770         * docs/manual/goals.xml : remove duplicated paragraph at end 
7771         of doc page (fixes #141448)
7772
7773 2004-04-29  David Schleef  <ds@schleef.org>
7774
7775         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7776         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
7777
7778 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7779
7780         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7781           fix property
7782         * gst/gstcaps.c:
7783           fix doc string
7784         * po/POTFILES.in:
7785           rename typefind source file
7786
7787 2004-04-28  David Schleef  <ds@schleef.org>
7788
7789         Several new files from Steve Lhomme's MSVC patch (bug #141317):
7790         * win32/GStreamer.vcproj:
7791         * win32/Makefile:
7792         * win32/config.h:
7793         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7794         (_trewinddir), (_ttelldir), (_tseekdir):
7795         * win32/dirent.h:
7796         * win32/gst-inspect.vcproj:
7797         * win32/gst-launch.vcproj:
7798         * win32/gst-register.vcproj:
7799         * win32/gstbytestream.vcproj:
7800         * win32/gstelements.vcproj:
7801         * win32/gstoptimalscheduler.vcproj:
7802         * win32/gstspider.vcproj:
7803         * win32/gtchar.h:
7804         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
7805         * win32/mman.h:
7806         * win32/mman.inl:
7807         * win32/msvc71.sln:
7808
7809 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7810
7811         * gst/gst.c: (init_post):
7812         * gst/gstinfo.c:
7813           remove useless _gst_progname stuff
7814         * tools/gst-inspect.c: (print_field), (print_caps):
7815           improve caps output
7816
7817 2004-04-28  David Schleef  <ds@schleef.org>
7818
7819         Disable parsing of a lot of files that aren't part of the
7820         exported API.  Move corresponding template files to old/,
7821         waiting for removal when they don't contain anything
7822         interesting.
7823         * docs/gst/Makefile.am:
7824         * docs/gst/gstreamer-sections.txt:
7825         * docs/gst/tmpl/cothreads.sgml:
7826         * docs/gst/tmpl/cothreads_compat.sgml:
7827         * docs/gst/tmpl/gettext.sgml:
7828         * docs/gst/tmpl/gobject2gtk.sgml:
7829         * docs/gst/tmpl/grammar.tab.sgml:
7830         * docs/gst/tmpl/gst-i18n-app.sgml:
7831         * docs/gst/tmpl/gst-i18n-lib.sgml:
7832         * docs/gst/tmpl/gst_private.sgml:
7833         * docs/gst/tmpl/gstaggregator.sgml:
7834         * docs/gst/tmpl/gstarch.sgml:
7835         * docs/gst/tmpl/gstatomic_impl.sgml:
7836         * docs/gst/tmpl/gstbufferstore.sgml:
7837         * docs/gst/tmpl/gstdata_private.sgml:
7838         * docs/gst/tmpl/gstdisksink.sgml:
7839         * docs/gst/tmpl/gstdisksrc.sgml:
7840         * docs/gst/tmpl/gstelementfactory.sgml:
7841         * docs/gst/tmpl/gstextratypes.sgml:
7842         * docs/gst/tmpl/gstfakesink.sgml:
7843         * docs/gst/tmpl/gstfakesrc.sgml:
7844         * docs/gst/tmpl/gstfdsink.sgml:
7845         * docs/gst/tmpl/gstfdsrc.sgml:
7846         * docs/gst/tmpl/gstfilesink.sgml:
7847         * docs/gst/tmpl/gstfilesrc.sgml:
7848         * docs/gst/tmpl/gsthttpsrc.sgml:
7849         * docs/gst/tmpl/gstidentity.sgml:
7850         * docs/gst/tmpl/gstindexfactory.sgml:
7851         * docs/gst/tmpl/gstmarshal.sgml:
7852         * docs/gst/tmpl/gstmd5sink.sgml:
7853         * docs/gst/tmpl/gstmultidisksrc.sgml:
7854         * docs/gst/tmpl/gstmultifilesrc.sgml:
7855         * docs/gst/tmpl/gstpadtemplate.sgml:
7856         * docs/gst/tmpl/gstpipefilter.sgml:
7857         * docs/gst/tmpl/gstschedulerfactory.sgml:
7858         * docs/gst/tmpl/gstsearchfuncs.sgml:
7859         * docs/gst/tmpl/gstshaper.sgml:
7860         * docs/gst/tmpl/gstspider.sgml:
7861         * docs/gst/tmpl/gstspideridentity.sgml:
7862         * docs/gst/tmpl/gststatistics.sgml:
7863         * docs/gst/tmpl/gsttee.sgml:
7864         * docs/gst/tmpl/gsttimecache.sgml:
7865         * docs/gst/tmpl/gsttypefind.sgml:
7866         * docs/gst/tmpl/gsttypefindfactory.sgml:
7867         * docs/gst/tmpl/gstxmlregistry.sgml:
7868         * docs/gst/tmpl/gthread-cothreads.sgml:
7869         * docs/gst/tmpl/old/cothreads.sgml:
7870         * docs/gst/tmpl/old/cothreads_compat.sgml:
7871         * docs/gst/tmpl/old/gettext.sgml:
7872         * docs/gst/tmpl/old/gobject2gtk.sgml:
7873         * docs/gst/tmpl/old/grammar.tab.sgml:
7874         * docs/gst/tmpl/old/gst-i18n-app.sgml:
7875         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7876         * docs/gst/tmpl/old/gst_private.sgml:
7877         * docs/gst/tmpl/old/gstaggregator.sgml:
7878         * docs/gst/tmpl/old/gstarch.sgml:
7879         * docs/gst/tmpl/old/gstatomic_impl.sgml:
7880         * docs/gst/tmpl/old/gstbufferstore.sgml:
7881         * docs/gst/tmpl/old/gstdata_private.sgml:
7882         * docs/gst/tmpl/old/gstdisksink.sgml:
7883         * docs/gst/tmpl/old/gstdisksrc.sgml:
7884         * docs/gst/tmpl/old/gstelementfactory.sgml:
7885         * docs/gst/tmpl/old/gstextratypes.sgml:
7886         * docs/gst/tmpl/old/gstfakesink.sgml:
7887         * docs/gst/tmpl/old/gstfakesrc.sgml:
7888         * docs/gst/tmpl/old/gstfdsink.sgml:
7889         * docs/gst/tmpl/old/gstfdsrc.sgml:
7890         * docs/gst/tmpl/old/gstfilesink.sgml:
7891         * docs/gst/tmpl/old/gstfilesrc.sgml:
7892         * docs/gst/tmpl/old/gsthttpsrc.sgml:
7893         * docs/gst/tmpl/old/gstidentity.sgml:
7894         * docs/gst/tmpl/old/gstindexfactory.sgml:
7895         * docs/gst/tmpl/old/gstmarshal.sgml:
7896         * docs/gst/tmpl/old/gstmd5sink.sgml:
7897         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7898         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7899         * docs/gst/tmpl/old/gstpadtemplate.sgml:
7900         * docs/gst/tmpl/old/gstpipefilter.sgml:
7901         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7902         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7903         * docs/gst/tmpl/old/gstshaper.sgml:
7904         * docs/gst/tmpl/old/gstspider.sgml:
7905         * docs/gst/tmpl/old/gstspideridentity.sgml:
7906         * docs/gst/tmpl/old/gststatistics.sgml:
7907         * docs/gst/tmpl/old/gsttee.sgml:
7908         * docs/gst/tmpl/old/gsttimecache.sgml:
7909         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7910         * docs/gst/tmpl/old/gstxmlregistry.sgml:
7911         * docs/gst/tmpl/old/gthread-cothreads.sgml:
7912         * docs/gst/tmpl/old/types.sgml:
7913         * docs/gst/tmpl/types.sgml:
7914
7915         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
7916         gtkdoc-scan doesn't like files with the same name in different
7917         directories.
7918         * gst/elements/Makefile.am:
7919         * gst/elements/gstelements.c:
7920         * gst/elements/gsttypefind.c: 
7921         * gst/elements/gsttypefind.h:
7922         * gst/elements/gsttypefindelement.c:
7923         * gst/elements/gsttypefindelement.h:
7924
7925 2004-04-28  David Schleef  <ds@schleef.org>
7926
7927         A bunch of portability fixes, derived from Steve Lhomme's MSVC
7928         patch (bug #141317):
7929         * gst/gst-i18n-lib.h: Allow disabling gettext.
7930         * gst/gstatomic_impl.h: disable warning when it's dumb.
7931         * gst/gstclock.c: fix include
7932         * gst/gstcompat.h: fix variadic macro
7933         * gst/gstinfo.c: fix include
7934         * gst/gstmacros.h: add defines for inlines on MSVC
7935         * gst/gstplugin.c: fix includes
7936         * gst/gstregistry.c: fix includes
7937         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
7938         * gst/gstsystemclock.c: fix include
7939         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
7940         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
7941         * gst/registries/gstxmlregistry.c:
7942         (gst_xml_registry_parse_element_factory): fix use of non-portable
7943         functions
7944         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
7945         * libs/gst/control/dparammanager.h: same
7946
7947 2004-04-28  David Schleef  <ds@schleef.org>
7948
7949         Move a bunch of unused files to old/ with names that are
7950         not case-insensitive-unique.  These files still contain some
7951         useful information that needs to be merged into gstbin.sgml,
7952         etc., so they shouldn't be deleted yet.
7953         * docs/gst/tmpl/GstBin.sgml:
7954         * docs/gst/tmpl/GstBuffer.sgml:
7955         * docs/gst/tmpl/GstCaps.sgml:
7956         * docs/gst/tmpl/GstClock.sgml:
7957         * docs/gst/tmpl/GstCompat.sgml:
7958         * docs/gst/tmpl/GstData.sgml:
7959         * docs/gst/tmpl/GstElement.sgml:
7960         * docs/gst/tmpl/GstEvent.sgml:
7961         * docs/gst/tmpl/GstIndex.sgml:
7962         * docs/gst/tmpl/GstStructure.sgml:
7963         * docs/gst/tmpl/GstTag.sgml:
7964         * docs/gst/tmpl/old/GstBin.sgml:
7965         * docs/gst/tmpl/old/GstBuffer.sgml:
7966         * docs/gst/tmpl/old/GstCaps.sgml:
7967         * docs/gst/tmpl/old/GstClock.sgml:
7968         * docs/gst/tmpl/old/GstCompat.sgml:
7969         * docs/gst/tmpl/old/GstData.sgml:
7970         * docs/gst/tmpl/old/GstElement.sgml:
7971         * docs/gst/tmpl/old/GstEvent.sgml:
7972         * docs/gst/tmpl/old/GstIndex.sgml:
7973         * docs/gst/tmpl/old/GstStructure.sgml:
7974         * docs/gst/tmpl/old/GstTag.sgml:
7975
7976 2004-04-28  David Schleef  <ds@schleef.org>
7977
7978         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7979         (gst_caps_append), (gst_caps_append_structure),
7980         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
7981         (gst_caps_set_simple), (gst_caps_set_simple_valist),
7982         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
7983         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
7984         (gst_caps_intersect), (gst_caps_normalize),
7985         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
7986         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
7987         * gst/gstcaps.h: use GST_IS_CAPS().
7988
7989 2004-04-26  David Schleef  <ds@schleef.org>
7990
7991         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
7992         assembly.  gcc doesn't handle it correctly. (bug #141083)
7993         * gst/gsttrashstack.h: same
7994
7995 2004-04-25  Benjamin Otte  <otte@gnome.org>
7996
7997         * gst/gstelement.c: (gst_element_change_state):
7998           fix assertion to do an int comparison
7999
8000 2004-04-25  Benjamin Otte  <otte@gnome.org>
8001
8002         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8003           better debugging output on error
8004
8005 2004-04-25  Benjamin Otte  <otte@gnome.org>
8006
8007         * gst/gstcaps.c: (gst_caps_subtract):
8008           fix memleak
8009
8010 2004-04-23  Benjamin Otte  <otte@gnome.org>
8011
8012         * gst/gstvalue.c: (gst_value_compare_buffer),
8013         (_gst_value_initialize):
8014           add comparison function for buffers
8015
8016 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8017
8018         * docs/pwg/pwg.xml:
8019           Just found out that this so-called "ima-wav" format is really
8020           just "dvi adpcm" (according to the MS WAV documentation). So
8021           renaming it. We didn't use it yet anyway.
8022
8023 2004-04-23  Benjamin Otte  <otte@gnome.org>
8024
8025         * gst/gstcaps.c: (gst_caps_is_always_compatible):
8026           call gst_caps_is_subset
8027
8028 2004-04-23  Benjamin Otte  <otte@gnome.org>
8029
8030         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
8031         (gst_caps_is_subset):
8032           add documentation
8033
8034 2004-04-23  Benjamin Otte  <otte@gnome.org>
8035           
8036         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
8037         (gst_caps_structure_subtract), (gst_caps_subtract),
8038         (gst_caps_structure_figure_out_union),
8039         (gst_caps_structure_simplify), (gst_caps_do_simplify):
8040           fix simplifying and subtracting not working correctly with optional
8041           properties
8042           solve assorted problems that make it now simplify ebven more
8043         * docs/gst/tmpl/gstcaps.sgml:
8044         * gst/gstcaps.h:
8045           make gst_caps_do_simplify return a bool to indicate if it simplified
8046         * testsuite/caps/simplify.c: (main):
8047           add more checks. The tests is quite a bit useless right now because
8048           the core is heavily simplifying itself.
8049         * testsuite/caps/caps.h:
8050           fix caps to contain all optional properties
8051
8052 2004-04-22  Benjamin Otte  <otte@gnome.org>
8053
8054         * docs/gst/tmpl/gstcaps.sgml:
8055         * docs/gst/tmpl/gstfilesrc.sgml:
8056         * docs/gst/tmpl/gststructure.sgml:
8057         * docs/gst/tmpl/gstvalue.sgml:
8058           update for recent API changes
8059         * gst/gstcaps.c: (gst_caps_do_simplify):
8060           fix to stop trying with a freed structure
8061         * gst/gstpad.c: (gst_pad_link_fixate):
8062           simplify caps
8063         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
8064           remove C++ comment
8065         * gst/gstpad.h:
8066           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
8067         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8068         (gst_structure_to_string):
8069           keep the correct type when using lists of ranges
8070         * gst/gstvalue.c: (gst_value_list_prepend_value),
8071         (gst_value_list_append_value):
8072           copy the value before adding to the list (d'oh)
8073         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
8074         (gst_value_subtract_int_range_int_range):
8075           handle overflows correctly
8076         * gst/gstvalue.c: (gst_value_subtract_from_list):
8077           fix memleak
8078         * testsuite/caps/caps.h:
8079           add a caps that caused segfaults
8080
8081 2004-04-22  Benjamin Otte  <otte@gnome.org>
8082
8083         * testsuite/refcounting/pad.c: (main):
8084           fix test
8085
8086 2004-04-22  Benjamin Otte  <otte@gnome.org>
8087
8088         * gst/gstcaps.c: (gst_caps_subtract):
8089           allow subtracting ANY and EMPTY from ANY caps
8090
8091 2004-04-22  Benjamin Otte  <otte@gnome.org>
8092
8093         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
8094         (gst_caps_union):
8095           only simplify in functions that create new caps. Simplifying in
8096           gst_caps_append breaks tests.
8097
8098 2004-04-22  Benjamin Otte  <otte@gnome.org>
8099
8100         * gst/gstcaps.c: (gst_caps_structure_simplify):
8101           unset GValue after use
8102         * gst/gstcaps.c: (gst_caps_append), 
8103         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
8104           use gst_caps_simplify (reduces registry size by 30%)
8105         * gst/gstpad.c: (gst_pad_template_new):
8106           don't allow NULL caps
8107
8108 2004-04-22  Benjamin Otte  <otte@gnome.org>
8109
8110         * docs/gst/gstreamer-sections.txt:
8111           add gst_caps_do_simplify
8112         * gst/gstcaps.c:
8113           add documentation for gst_caps_do_simplify
8114         * gst/gstvalue.h:
8115           fix typo in gst_value_register_subtract_func declaration for gst-doc
8116
8117 2004-04-22  Benjamin Otte  <otte@gnome.org>
8118
8119         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8120           fix bug when converting from empty string.
8121         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
8122         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
8123           use gst_caps_new_empty to allocate a new caps. Only that function
8124           allocates memory for caps now.
8125         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
8126         (gst_caps_remove_structure):
8127           add ability to remove one structure (but not to header yet)
8128         * gst/gstcaps.c: (gst_caps_compare_structures),
8129         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
8130         (gst_caps_structure_simplify), (gst_caps_do_simplify),
8131         * gst/gstcaps.h:
8132           add gst_caps_do_simplify that tries to simplify a caps in place.
8133           Deprecate old gst_caps_simplify function.
8134         * testsuite/caps/caps.h:
8135           add caps.h containing a common set of caps to test against.
8136         * testsuite/caps/sets.c: (check_caps), (main):
8137           use it.
8138         * testsuite/caps/.cvsignore:
8139         * testsuite/caps/Makefile.am:
8140         * testsuite/caps/simplify.c: (check_caps), (main):
8141           add test to check correctness and efficency of caps simplification.
8142
8143 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
8144
8145         reviewed by Benjamin Otte  <otte@gnome.org>
8146
8147         * gst/gstparse.c: (_gst_parse_escape):
8148           Free the GString used in _gst_parse_escape()
8149
8150 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8151
8152         * gst/gstpad.c: (gst_pad_link_negotiate):
8153           refuse to link if the link is not possible
8154         * configure.ac:
8155         * testsuite/Makefile.am:
8156         * testsuite/negotiation/.cvsignore:
8157         * testsuite/negotiation/Makefile.am:
8158         * testsuite/negotiation/pad_link.c: (main):
8159           add test that checks the above behaviour
8160
8161 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8162
8163         * docs/gst/gstreamer-sections.txt:
8164           add newly added API
8165
8166 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8167
8168         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8169         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
8170         (gst_filesrc_open_file), (gst_filesrc_close_file),
8171         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
8172         * gst/elements/gstfilesrc.h:
8173           add support for non-regular files (#140734)
8174
8175 2004-04-21  Benjamin Otte  <otte@gnome.org>
8176
8177         * gst/gstpad.c: (gst_pad_link_fixate):
8178           add sophisticated error checking code to see if fixation functions
8179           did their fixation right
8180
8181 2004-04-21  Benjamin Otte  <otte@gnome.org>
8182
8183         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
8184           check for ANY caps before appending/unioning
8185         * gst/gstcaps.c: (gst_caps_is_subset),
8186         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
8187         (gst_caps_structure_subtract), (gst_caps_subtract):
8188         * gst/gstcaps.h:
8189           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
8190           the API. deprecate gst_caps_is_equal_fixed
8191         * gst/gstpad.c: (gst_pad_try_set_caps):
8192         * gst/gstqueue.c: (gst_queue_link):
8193           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
8194         * gst/gststructure.c: (gst_structure_get_name_id):
8195         * gst/gststructure.h:
8196           add function gst_structure_get_name_id
8197         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
8198         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
8199         (gst_value_subtract_int_range_int_range),
8200         (gst_value_subtract_double_double_range),
8201         (gst_value_subtract_double_range_double),
8202         (gst_value_subtract_double_range_double_range),
8203         (gst_value_subtract_from_list), (gst_value_subtract_list),
8204         (gst_value_can_intersect), (gst_value_subtract),
8205         (gst_value_can_subtract), (gst_value_register_subtract_func),
8206         (_gst_value_initialize):
8207         * gst/gstvalue.h:
8208           add support for subtracting values from each other. Note that
8209           subtracting means subtracting as in set theory. Required for caps
8210           stuff above.
8211         * testsuite/caps/.cvsignore:
8212         * testsuite/caps/Makefile.am:
8213         * testsuite/caps/erathostenes.c: (erathostenes), (main):
8214         * testsuite/caps/sets.c: (check_caps), (main):
8215         * testsuite/caps/subtract.c: (check_caps), (main):
8216           add tests for subtraction and equality code.
8217
8218 2004-04-20  David Schleef  <ds@schleef.org>
8219
8220         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
8221         * gst/indexers/Makefile.am:
8222         * gst/schedulers/Makefile.am:
8223         * libs/gst/bytestream/Makefile.am:
8224         * libs/gst/control/Makefile.am:
8225         * libs/gst/getbits/Makefile.am:
8226
8227 2004-04-20  David Schleef  <ds@schleef.org>
8228
8229         * common/as-libtool.mak: Fine-tune DLL building.
8230         * configure.ac: Link plugins against libgstreamer.  Define plugindir
8231         (like gst-plugins)
8232         * examples/plugins/Makefile.am: remove plugindir
8233         * gst/autoplug/Makefile.am: DLL building fixes
8234         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
8235         Windows.
8236         * gst/elements/gstelements.c: Conditionally disable pipefilter.
8237         * gst/indexers/Makefile.am: DLL building fixes
8238         * gst/schedulers/Makefile.am: DLL building fixes.
8239         * libs/gst/bytestream/Makefile.am: DLL building fixes.
8240         * libs/gst/control/Makefile.am: same
8241         * libs/gst/getbits/Makefile.am: same
8242         * testsuite/Makefile.am: New dlopen directory
8243         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
8244         when dlopened.
8245         * testsuite/dlopen/dlopen_gst.c: (main): same
8246         * testsuite/dlopen/loadgst.c: (do_test): same
8247
8248 2004-04-20  David Schleef  <ds@schleef.org>
8249
8250         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
8251         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
8252
8253 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8254
8255         * gst/gstelement.c: (gst_element_wait),
8256         (gst_element_set_time_delay), (gst_element_change_state):
8257           Use GST_TIME_*
8258
8259 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8260
8261         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
8262         (gst_spider_identity_plug):
8263           improve debugging messages
8264         * gst/gstbin.c: (gst_bin_remove_func):
8265           make sure the state_change function is only called with simple state
8266           transitions
8267
8268 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8269
8270         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
8271         (gst_fakesink_set_property), (gst_fakesink_chain):
8272         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
8273         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
8274         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
8275         * gst/elements/gstidentity.c: (gst_identity_chain),
8276         (gst_identity_set_property):
8277         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
8278         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
8279           add warnings to _set_property for unknown arguments
8280           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
8281
8282 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8283
8284         * Makefile.am:
8285         * docs/manuals.mak:
8286           add .po file download snippet
8287           fix a bug in the doc makefile
8288
8289 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8290
8291         * Makefile.am:
8292         * po/LINGUAS:
8293         * po/en_GB.po:
8294           Added en_GB translation (Gareth Owen)
8295
8296 2004-04-20  Johan Dahlin  <johan@gnome.org>
8297
8298         * gst/gstpad.c (_invent_event): Clean up
8299
8300 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8301
8302         * testsuite/caps/filtercaps.c: (main):
8303           fix test to test things correctly (caps are complicated)
8304
8305 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8306
8307         * testsuite/caps/Makefile.am:
8308         * testsuite/caps/filtercaps.c: (main):
8309           add test (that doesn't work right now, but should)
8310
8311 2004-04-19  David Schleef  <ds@schleef.org>
8312
8313         * configure.ac: Add test for allowing unaligned access.  Add define
8314         to put in gstconfig.h.
8315         * docs/gst/gstreamer-sections.txt: New symbols
8316         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
8317         * docs/gst/tmpl/gstfilesrc.sgml:
8318         * docs/gst/tmpl/gstparse.sgml:
8319         * docs/gst/tmpl/gsttypes.sgml:
8320         * docs/gst/tmpl/gstutils.sgml:
8321         * docs/gst/tmpl/gstvalue.sgml:
8322         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
8323         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
8324         on most !i386/!powerpc architectures.  From Daniel Gazard
8325         <daniel.gazard@free.fr>.  (bug #140156)
8326         * po/af.po: Check in changes made by gettext.
8327         * po/az.po:
8328         * po/fr.po:
8329         * po/nl.po:
8330         * po/sr.po:
8331         * po/sv.po:
8332
8333 2004-04-20  Benjamin Otte  <otte@gnome.org>
8334
8335         * gst/schedulers/entryscheduler.c: 
8336         (gst_entry_scheduler_yield):
8337           refuse to yield when decoupled elements insist on doing that.
8338           At least it's better than crashing
8339
8340 2004-04-19  David Schleef  <ds@schleef.org>
8341
8342         * docs/libs/Makefile.am: Change sinclude to include
8343         * docs/gst/Makefile.am: same
8344         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
8345
8346 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8347
8348         * po/LINGUAS:
8349         * po/uk.po:
8350           Added Ukrainian translation (Maxim V. Dziumanenko)
8351
8352 2004-04-19  Johan Dahlin  <johan@gnome.org>
8353
8354         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
8355         checking here, do it before calling the function.
8356         Clean up, use for loops instead of while loops while iterating
8357         over lists.
8358
8359         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
8360         in debug message.
8361         (gst_spider_create_and_plug): Improve debug message.
8362         General: Replace while loops which iterates over GLists with for
8363         loops. Which are much cleaner, improves readability, especially
8364         for gst_spider_identity_plug
8365
8366         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
8367         fixes bug 140477
8368
8369 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8370
8371         * po/LINGUAS:
8372         * po/tr.po:
8373           Added Turkish translation (Baris Cicek)
8374
8375 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8376
8377         * docs/faq/troubleshooting.xml:
8378           Mention gst-register in the FAQ (fixes 139045).
8379
8380 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8381
8382         * docs/gst/gstreamer-sections.txt:
8383
8384 2004-04-17  Benjamin Otte  <otte@gnome.org>
8385
8386         * gst/gstelement.c: (gst_element_dispose):
8387           simplify
8388         * gst/gstpad.c: (gst_pad_call_chain_function):
8389           don't create loads of events due to bad macro usage
8390
8391 2004-04-16  David Schleef  <ds@schleef.org>
8392
8393         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
8394         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
8395         * gst/gstvalue.c: (gst_value_serialize_buffer),
8396         (gst_value_deserialize_buffer), (gst_type_is_fixed),
8397         (_gst_value_initialize): Create a new function gst_type_is_fixed()
8398         to indicate types that are fixed wrt caps or not.  Switching to
8399         this function fixes (bug #140298).
8400         * gst/gstvalue.h:
8401
8402 2004-04-16  David Schleef  <ds@schleef.org>
8403
8404         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
8405         for GST_UNALIGNED_ACESS, since we essentially know which archs
8406         are ok.
8407
8408 2004-04-17  Benjamin Otte  <otte@gnome.org>
8409
8410         * docs/gst/Makefile.am:
8411           ignore gst/parse directory when building docs (fixes #140205)
8412
8413 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8414
8415         * testsuite/refcounting/mem.c: (vmsize):
8416           do error checking
8417
8418 2004-04-16  Johan Dahlin  <johan@gnome.org>
8419
8420         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
8421         and gst_pad_call_get_function.
8422
8423 2004-04-15  David Schleef  <ds@schleef.org>
8424
8425         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
8426         checks if we can access unaligned memory.
8427         * configure.ac: Use it.
8428
8429 2004-04-16  Benjamin Otte  <otte@gnome.org>
8430
8431         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
8432         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8433         * gst/elements/gstfilesrc.h:
8434           s/seek_happened/need_discont/ and require discont before sending any
8435           data
8436
8437 2004-04-15  David Schleef  <ds@schleef.org>
8438
8439         * gst/gstvalue.c: (gst_value_serialize_buffer),
8440         (gst_value_deserialize_buffer), (_gst_value_initialize):
8441         Register these types as fundamental types. (bug #140015)
8442
8443 2004-04-16  Benjamin Otte  <otte@gnome.org>
8444
8445         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
8446         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
8447         (gst_pad_pull):
8448           implement enforcing discont events before buffers are passed. This
8449           allows state changes of only some elements and later correctly going
8450           on where they left off (or in short: you can now set audio sinks to
8451           NULL to release the device when the pipeline is paused)
8452         * gst/gstpad.c: (gst_pad_call_chain_function),
8453         (gst_pad_call_get_function):
8454         * gst/gstpad.h:
8455           add gst_pad_call_chain_function and gst_pad_call_get_function for
8456           scheduler interaction. They are required because of the changes
8457           above.
8458         * gst/schedulers/entryscheduler.c: (get_buffer),
8459         (gst_entry_scheduler_chain_wrapper),
8460         (gst_entry_scheduler_get_wrapper),
8461         (gst_entry_scheduler_state_transition),
8462         (gst_entry_scheduler_pad_link):
8463         * gst/schedulers/gstbasicscheduler.c:
8464         (gst_basic_scheduler_chain_wrapper),
8465         (gst_basic_scheduler_src_wrapper),
8466         (gst_basic_scheduler_chainhandler_proxy),
8467         (gst_basic_scheduler_gethandler_proxy),
8468         (gst_basic_scheduler_cothreaded_chain),
8469         (gst_basic_scheduler_chain_elements):
8470         * gst/schedulers/gstoptimalscheduler.c:
8471         (get_group_schedule_function), (pad_clear_queued),
8472         (gst_opt_scheduler_pad_link):
8473           use the new functions instead of calling get/chain-functions
8474           directly.
8475
8476 2004-04-15  David Schleef  <ds@schleef.org>
8477
8478         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
8479         * docs/gst/tmpl/gstinfo.sgml: same
8480         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
8481         gtk-doc put here.
8482         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
8483         * examples/queue/queue.c: (main):  We iterate pipelines, not
8484         bins.  (bug #139996)
8485
8486 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8487
8488         * docs/pwg/advanced-types.xml:
8489           Add MS RLE support. Also document Qt RLE although I have no sample
8490           files for that yet. And document an extra property for ADPCM.
8491
8492 2004-04-15  David Schleef  <ds@schleef.org>
8493
8494         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
8495         (_gst_plugin_fault_handler_setup):  Disable more stuff on
8496         Windows.
8497
8498 2004-04-15  David Schleef  <ds@schleef.org>
8499
8500         * gst/gstinfo.c: (_gst_debug_init): Change some internal
8501         symbol names to not conflict with new gstinfo.h symbols.
8502         * gst/gstinfo.h: Add inline functions for all those crazy
8503         compilers that don't know how to handle variadic macros (MSVC).
8504
8505 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8506
8507         * configure.ac: bump nano to 1
8508
8509 === release 0.8.1 ===
8510
8511 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8512
8513         * NEWS:
8514         * RELEASE:
8515         * configure.ac:
8516           releasing 0.8.1, "Snow Brigade"
8517
8518 2004-04-14  David Schleef  <ds@schleef.org>
8519
8520         * testsuite/Makefile.am: define tests_ignore
8521         * testsuite/Rules: Added new tests_ignore, which get compiled,
8522         but not run (generally because they're inconsistent or have
8523         heisenbugs).  Now we can ensure all the .c files compile in
8524         testsuite/.
8525         * testsuite/bins/Makefile.am: define tests_ignore
8526         * testsuite/bytestream/Makefile.am:
8527         * testsuite/caps/Makefile.am:
8528         * testsuite/clock/Makefile.am:
8529         * testsuite/debug/Makefile.am:
8530         * testsuite/debug/global.c: (gst_debug_log_one),
8531         (gst_debug_log_two): Fix compilation problem.
8532         * testsuite/dynparams/Makefile.am:
8533         * testsuite/elements/Makefile.am:
8534         * testsuite/ghostpads/Makefile.am:
8535         * testsuite/indexers/Makefile.am:
8536         * testsuite/parse/Makefile.am:
8537         * testsuite/plugin/Makefile.am:
8538         * testsuite/refcounting/Makefile.am:
8539         * testsuite/refcounting/element_pad.c: (main): Don't return leak
8540         results, because it's not calculated correctly.
8541         * testsuite/refcounting/pad.c: (main): same
8542         * testsuite/states/Makefile.am:
8543         * testsuite/tags/Makefile.am:
8544         * testsuite/threads/Makefile.am:
8545
8546 2004-04-14  David Schleef  <ds@schleef.org>
8547
8548         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
8549         generating bad code around the cpu detection asm code.
8550
8551 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8552
8553         * tools/gst-inspect.c: (print_element_info):
8554           print numeric version of rank as well, since we added some - 1
8555           rank values to elements
8556
8557 2004-04-13  David Schleef  <ds@schleef.org>
8558
8559         * configure.ac:  Disable various code when compiling for MinGW.
8560         * gst/elements/Makefile.am:
8561         * gst/elements/gstelements.c:
8562         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8563         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
8564         * gst/registries/gstxmlregistry.c: (make_dir):
8565
8566 2004-04-13  David Schleef  <ds@schleef.org>
8567
8568         * gst/Makefile.am:
8569         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
8570         assembly.
8571         * gst/gstcpuid_i386.s: remove
8572
8573 2004-04-13  David Schleef  <ds@schleef.org>
8574
8575         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
8576         seems to think it needs to be done.
8577         * docs/gst/tmpl/gstfakesink.sgml:
8578         * docs/gst/tmpl/gstfakesrc.sgml:
8579         * docs/gst/tmpl/gstfdsink.sgml:
8580         * docs/gst/tmpl/gstfdsrc.sgml:
8581         * docs/gst/tmpl/gstfilesink.sgml:
8582         * docs/gst/tmpl/gstfilesrc.sgml:
8583         * docs/gst/tmpl/gstidentity.sgml:
8584         * docs/gst/tmpl/gstmd5sink.sgml:
8585         * docs/gst/tmpl/gstmultifilesrc.sgml:
8586         * docs/gst/tmpl/gstpipefilter.sgml:
8587         * docs/gst/tmpl/gstshaper.sgml:
8588         * docs/gst/tmpl/gstspider.sgml:
8589         * docs/gst/tmpl/gstspideridentity.sgml:
8590         * docs/gst/tmpl/gststatistics.sgml:
8591         * docs/gst/tmpl/gsttee.sgml:
8592         * docs/gst/tmpl/gsttypefind.sgml:
8593         * docs/gst/tmpl/gstutils.sgml:
8594
8595 2004-04-13  David Schleef  <ds@schleef.org>
8596
8597         * configure.ac: Changes to remove POSIXisms (mmap in this case)
8598         and to build DLLs on Windows.
8599         * gst/Makefile.am:
8600         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8601         (gst_filesrc_open_file):
8602         * gst/schedulers/Makefile.am:
8603
8604 2004-04-13  David Schleef  <ds@schleef.org>
8605
8606         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
8607         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
8608         fixating lists.
8609
8610 2004-04-12  David Schleef  <ds@schleef.org>
8611
8612         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
8613         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
8614         to using it.
8615         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
8616         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
8617         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
8618         * gst/gststructure.c: (gst_structure_set_valist),
8619         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
8620         support for buffers.
8621         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
8622         intended to be const.
8623         * gst/gsttag.h: same
8624         * gst/gstvalue.c: (gst_value_serialize_buffer),
8625         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
8626         to (de)serialize buffers.
8627         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
8628         * testsuite/caps/string-conversions.c: (main):
8629         * testsuite/caps/value_serialize.c: add new test
8630
8631 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8632
8633         * docs/pwg/advanced-types.xml:
8634           Document MS video 1 (video/x-msvideocodec) mimetype/format.
8635
8636 2004-04-11  Benjamin Otte  <otte@gnome.org>
8637
8638         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
8639           rename categories to basic_*
8640         * gst/schedulers/gstbasicscheduler.c: 
8641         (gst_basic_scheduler_chain_wrapper),
8642         (gst_basic_scheduler_chainhandler_proxy),
8643         (gst_basic_scheduler_gethandler_proxy),
8644         (gst_basic_scheduler_eventhandler_proxy):
8645           debugging category fixes - put common stuff in log category
8646         * gst/schedulers/gstbasicscheduler.c: 
8647         (gst_basic_scheduler_chain_elements):
8648           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
8649           active and linking two active chains
8650
8651 2004-04-10  Benjamin Otte  <otte@gnome.org>
8652
8653         * docs/pwg/intro-preface.xml:
8654           fix dead links and remove reference to Wiki
8655
8656 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8657
8658         * gst/schedulers/gstbasicscheduler.c:
8659           make sure we can switch back to the main function if we're still in
8660           the main function (supposed to fix #139617)
8661         * gst/schedulers/gthread-cothreads.h:
8662           don't throw an error when switching to the same cothread
8663
8664 2004-04-09  Benjamin Otte  <otte@gnome.org>
8665
8666         * gst/gstbin.c: (gst_bin_get_type):
8667         * gst/gstclock.c: (gst_clock_get_type):
8668         * gst/gstindex.c: (gst_index_get_type):
8669         * gst/gstobject.c: (gst_object_get_type),
8670         (gst_signal_object_get_type):
8671         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
8672         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
8673         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
8674         * gst/gstqueue.c: (gst_queue_get_type):
8675         * gst/gstregistry.c: (gst_registry_get_type):
8676         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8677         * gst/gstthread.c: (gst_thread_get_type):
8678           don't use memchunks for these objects, use malloc instead
8679
8680 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8681
8682         * docs/gst/.cvsignore:
8683         * docs/gst/Makefile.am:
8684         * docs/gst/gstreamer-sections.txt:
8685         * docs/gst/tmpl/gstaggregator.sgml:
8686         * docs/gst/tmpl/gstbuffer.sgml:
8687         * docs/gst/tmpl/gstclock.sgml:
8688         * docs/gst/tmpl/gstelement.sgml:
8689         * docs/gst/tmpl/gstfakesink.sgml:
8690         * docs/gst/tmpl/gstfakesrc.sgml:
8691         * docs/gst/tmpl/gstfdsink.sgml:
8692         * docs/gst/tmpl/gstfdsrc.sgml:
8693         * docs/gst/tmpl/gstfilesink.sgml:
8694         * docs/gst/tmpl/gstfilesrc.sgml:
8695         * docs/gst/tmpl/gstidentity.sgml:
8696         * docs/gst/tmpl/gstindex.sgml:
8697         * docs/gst/tmpl/gstinfo.sgml:
8698         * docs/gst/tmpl/gstmd5sink.sgml:
8699         * docs/gst/tmpl/gstmultifilesrc.sgml:
8700         * docs/gst/tmpl/gstpad.sgml:
8701         * docs/gst/tmpl/gstpipefilter.sgml:
8702         * docs/gst/tmpl/gstpipeline.sgml:
8703         * docs/gst/tmpl/gstpluginfeature.sgml:
8704         * docs/gst/tmpl/gstqueue.sgml:
8705         * docs/gst/tmpl/gstregistry.sgml:
8706         * docs/gst/tmpl/gstscheduler.sgml:
8707         * docs/gst/tmpl/gstshaper.sgml:
8708         * docs/gst/tmpl/gstspider.sgml:
8709         * docs/gst/tmpl/gstspideridentity.sgml:
8710         * docs/gst/tmpl/gststatistics.sgml:
8711         * docs/gst/tmpl/gstsystemclock.sgml:
8712         * docs/gst/tmpl/gsttee.sgml:
8713         * docs/gst/tmpl/gstthread.sgml:
8714         * docs/gst/tmpl/gsttypefind.sgml:
8715         * docs/gst/tmpl/gstutils.sgml:
8716           further doc build fixes
8717
8718 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8719
8720         * docs/gst/Makefile.am:
8721           make docs exit on scanning problems
8722           fix nonsrcdir build issues
8723         * docs/gst/gstreamer-sections.txt:
8724           adding stuff from -unused
8725         * gst/gstqueue.h:
8726           create GstQueueSize
8727         * gst/schedulers/cothreads_compat.h:
8728           fix cothread warnings
8729
8730 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8731
8732         * docs/gst/gstreamer-sections.txt:
8733           remove defines deprecated by Benjamin
8734
8735 2004-04-07  Benjamin Otte  <otte@gnome.org>
8736
8737         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8738           when the buffer is complete, don't check if other buffers are needed
8739         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
8740           check that the offset is >0 so we don't try to read before the
8741           beginning of the file
8742         * gst/gstpad.c: (gst_pad_set_pad_template):
8743           sink the template, so we don't end up with 130k pad templates
8744
8745 2004-04-06  Benjamin Otte  <otte@gnome.org>
8746
8747         * gst/autoplug/gstspider.c: (gst_spider_link_add):
8748           don't ref the element, adding already reffed it. And we didn't unref
8749           it later anyway... (huge memleak when you used many spider elements)
8750         * gst/gstelement.c: (gst_element_base_class_finalize):
8751         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
8752         (gst_element_register):
8753         * gst/gsturi.c: (gst_element_make_from_uri):
8754           use gst_object_(un)ref instead of g_object(un)ref
8755
8756 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8757
8758         * gst/gstbuffer.h:
8759           remove macro that wouldn't work anymore because struct member has
8760           been removed.
8761         * gst/schedulers/entryscheduler.c: (schedule_forward):
8762           fix segfault for unconnected pads
8763         
8764 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8765
8766         reviewed by David Schleef <ds@schleef.org>
8767
8768         * gst/gstinfo.h:
8769           *_FORMAT modifiers should require putting a % in front of them for
8770           consistency reasons.
8771
8772 2004-04-05  Colin Walters  <walters@redhat.com>
8773
8774         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
8775         space.
8776
8777 2004-04-05  Benjamin Otte  <otte@gnome.org>
8778
8779         * configure.ac:
8780         * gst/Makefile.am:
8781         * gst/gst_private.h:
8782         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
8783           add support for detecting if GStreamer runs inside valgrind.
8784           requires valgrind (d'oh) and --enable-debug for correct cdetection.
8785           print a big message in valgrind that GStreamer has detected it's
8786           running inside and might now use different code.
8787         * gst/gstmemchunk.c: (populate), (free_area),
8788         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
8789         (gst_mem_chunk_free):
8790           flag memchunks for valgrind, so it can detect leaking of chunks.
8791           This allows detecting leaks of GstBuffer and GstEvent correctly
8792           inside valgrind.
8793
8794 2004-04-05  David Schleef  <ds@schleef.org>
8795
8796         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
8797           jensgr@gmx.net (Jens Granseuer)
8798
8799 2004-04-05  David Schleef  <ds@schleef.org>
8800
8801         * gst/gstbuffer.c: (_gst_buffer_sub_free),
8802         (gst_buffer_default_free), (gst_buffer_default_copy),
8803         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
8804         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
8805         structures in one place.
8806
8807 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8808
8809         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
8810           (GST_TIME_FORMAT, GST_TIME_ARGS)
8811
8812 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8813
8814         * testsuite/elements/Makefile.am:
8815           disable test until it stops breaking make distcheck
8816
8817 2004-04-05  Johan Dahlin  <johan@gnome.org>
8818
8819         * po/sv.po: Updated translation
8820
8821 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8822
8823         * gst/gstplugin.c: (gst_plugin_load_file):
8824           fix segfault for when original plugin was loaded statically
8825
8826 2004-04-05  Benjamin Otte  <otte@gnome.org>
8827
8828         * testsuite/debug/category.c: (main):
8829         * testsuite/debug/commandline.c: (main):
8830         * testsuite/debug/output.c: (main):
8831           fix tests to work again with debugging enabled
8832
8833 2004-04-05  Benjamin Otte  <otte@gnome.org>
8834
8835         * gst/schedulers/gstbasicscheduler.c:
8836         (gst_basic_scheduler_pad_link):
8837           fix to work with recent scheduling changes
8838
8839 2004-04-05  Benjamin Otte  <otte@gnome.org>
8840
8841         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
8842         prepareChangeLog doesn't work when cvs indents):
8843           don't throw an error when no element can be scheduled, there's too
8844           many weird reasons why it doesn't work. Return STOPPED instead.
8845           decoupled elemts' schedulability doesn't depend on bufpens.
8846
8847 2004-04-04  Benjamin Otte  <otte@gnome.org>
8848
8849         * gst/schedulers/gstbasicscheduler.c:
8850         (gst_basic_scheduler_pad_select):
8851           fix uninitialized variable warnings
8852
8853 2004-04-04  Benjamin Otte  <otte@gnome.org>
8854
8855         * gst/gstpad.c: (gst_pad_collect_valist):
8856           fix uninitialized variable warning
8857         * gst/schedulers/entryscheduler.c: (schedule_forward):
8858           fix shadowed variable
8859
8860 2004-04-04  Benjamin Otte  <otte@gnome.org>
8861
8862         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
8863         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
8864         (gst_pad_select):
8865         * gst/gstpad.h:
8866         * gst/gstscheduler.c: (gst_scheduler_pad_select),
8867         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
8868         * gst/gstscheduler.h:
8869           implement gst_pad_collect as replacement for gst_pad_select.
8870           deprecate gst_pad_select and gst_scheduler_(un)lock_element
8871           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
8872           new pad_select, lock and unlock calls.
8873         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
8874         * gst/cothreads.h:
8875         * gst/schedulers/cothreads_compat.h:
8876         * gst/schedulers/gthread-cothreads.h:
8877           remove unused cothread_lock and cothread_unlock calls
8878         * gst/schedulers/entryscheduler.c:
8879         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
8880         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
8881         (gst_entry_scheduler_pad_select):
8882           update to new API
8883         * gst/schedulers/gstbasicscheduler.c:
8884         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
8885         (gst_basic_scheduler_pad_select):
8886           remove useless lock and unlock calls, update pad_select to new API
8887           (untested)
8888         * gst/schedulers/gstoptimalscheduler.c:
8889         (gst_opt_scheduler_class_init):
8890           remove useless select, lock and unlock function calls
8891         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
8892           use gst_pad_collect instead of gst_pad_select
8893
8894 2004-04-04  Benjamin Otte  <otte@gnome.org>
8895
8896         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
8897         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
8898         (schedule_next_element), (print_entry):
8899           add can_schedule_pad to handle element states.
8900           add schedule_forward to select the correct entry to schedule next
8901
8902 2004-04-03  Benjamin Otte  <otte@gnome.org>
8903
8904         * gst/schedulers/entryscheduler.c: 
8905           remove unused variable, fix error inside Rb, fix compile warning in
8906           unreachable code
8907
8908 2004-04-03  Benjamin Otte  <otte@gnome.org>
8909
8910         * gst/schedulers/entryscheduler.c:
8911           completely revamp the inner workings, so it's a lot easier to
8912           understand and extend
8913
8914 2004-04-03  Andy Wingo  <wingo@pobox.com>
8915
8916         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
8917         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
8918         This allows better introspection of pipeline topology.
8919         (add_to_chain): Don't do trickery to put loop elements first;
8920         rather, queue a chain sort by marking the chain as dirty.
8921         (remove_from_chain): Mark the chain dirty.
8922         (sort_chain): New function. Sorts the group list so that terminal
8923         sinks are first. This means elements on the sink side will be
8924         preferentially sscheduled before elements on the src side of the
8925         pipeline.
8926         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
8927         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
8928         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
8929         (group_inc_link): Change argument and variable names to match the
8930         new link structure member names (src and sink).
8931         (group_dec_link): Add some description
8932
8933 2004-04-03  Benjamin Otte  <otte@gnome.org>
8934
8935         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
8936         * gst/gstinfo.h:
8937         * testsuite/debug/category.c: (main):
8938         * testsuite/debug/commandline.c: (main):
8939         * testsuite/debug/output.c: (main):
8940         * testsuite/debug/printf_extension.c: (main):
8941           fix to successfully build and test with --disable-gst-debug
8942           configure switch (fixes #138705)
8943
8944 2004-04-03  Benjamin Otte  <otte@gnome.org>
8945
8946         * docs/pwg/building-boiler.xml:
8947           add cvs login line and s/anonymous/anoncvs/
8948
8949 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
8950
8951         reviewed by Benjamin Otte  <otte@gnome.org>
8952
8953         * gst/gststructure.c: (gst_structure_free):
8954           memleak fix: free fields array (partial fix for #134839)
8955
8956 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8957
8958         * docs/random/ds/0.9-suggested-changes:
8959           Add a note to change handoff use in fakesrc to be usable in
8960           a more generic way (fakesrc should be renamed to appsrc or so).
8961         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8962           Change signal type to scope, so we can fill the buffer in the
8963           handoff handler (that's the whole use of this signal...).
8964
8965 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8966
8967         * docs/pwg/other-ntoone.xml:
8968           Document muxers and n-to-1 elements.
8969
8970 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
8971
8972         * gst/registries/gstxmlregistry.c
8973         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
8974         determine if a file is a G_MODULE. The old one discards paths
8975         containing "so" somewhere in the middle. My home directory is
8976         called "soto". Go figure...
8977
8978 2004-03-31  David Schleef  <ds@schleef.org>
8979
8980         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
8981         to eventually deprecate gst_buffer_merge().  (bug: #136408)
8982         * gst/gstbuffer.h:
8983
8984 2004-03-31  David Schleef  <ds@schleef.org>
8985
8986         * gst/gstvalue.c: (gst_value_union_int_int_range),
8987         (gst_value_union_int_range_int_range), (gst_value_can_union),
8988         (gst_value_union), (_gst_value_initialize):  Add some union
8989         implementations.  We didn't have any previously.
8990         * testsuite/caps/Makefile.am:
8991         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
8992         (gst_audioscale_getcaps), (test_caps), (main): A little test
8993         that is the same as the caps manipulation in audioscale.
8994
8995 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8996
8997         * docs/faq/general.xml:
8998           add entry about "does gst support format X?"
8999
9000 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9001
9002         * gst/gstthread.c:
9003           fix docs
9004         * gst/gstutils.h:
9005           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
9006
9007 2004-03-30  Benjamin Otte  <otte@gnome.org>
9008
9009         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9010           set the offset of the buffer to the requested offset
9011         * gst/elements/gsttypefind.c: (stop_typefinding):
9012           revert patch 1.18 (which I unfortunately don't know the reason for).
9013           This is needed to allow downstream elements to seek. Otherwise
9014           typefind might overwrite a previous seek by downstream elements.
9015           This lead to errors with id3tag and typefind on some mp3s.
9016         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9017         (gst_entry_scheduler_iterate):
9018           be more verbose when debugging
9019
9020 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9021
9022         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9023           make sure we don't get NULL strings
9024
9025 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9026
9027         * gst/gstcaps.c:
9028         * gst/gstelement.c:
9029         * gst/gstelementfactory.c: (gst_element_factory_get_type):
9030         * gst/gstindex.c: (gst_index_resolver_get_type),
9031         (gst_index_get_type), (gst_index_factory_get_type):
9032         * gst/gstinfo.c:
9033         * gst/gstpad.c:
9034         * gst/gstplugin.c:
9035         * gst/gsturi.c: (gst_uri_handler_get_type):
9036         * gst/gstvalue.c:
9037           first batch of documentation fixes
9038
9039 2004-03-29  David Schleef  <ds@schleef.org>
9040
9041         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
9042         * docs/gst/gstreamer-docs.sgml:  More hacking
9043         * docs/gst/gstreamer-sections.txt:
9044         * docs/gst/tmpl/cothreads_compat.sgml:
9045         * docs/gst/tmpl/gstcaps.sgml:
9046         * docs/gst/tmpl/gstclock.sgml:
9047         * docs/gst/tmpl/gstelement.sgml:
9048         * docs/gst/tmpl/gstevent.sgml:
9049         * docs/gst/tmpl/gstpad.sgml:
9050         * docs/gst/tmpl/gstutils.sgml:
9051         * docs/gst/tmpl/gstxml.sgml:
9052         * docs/gst/tmpl/gthread-cothreads.sgml:
9053         * docs/random/ds/0.9-suggested-changes:
9054         * gst/elements/gstfakesink.h: doc fixes
9055         * gst/elements/gstfakesrc.h: doc fixes
9056         * gst/gstcaps.c: doc fixes
9057         * gst/gstcaps.h: doc fixes
9058         * gst/gstelement.c: doc fixes
9059         * gst/gstelement.h: doc fixes
9060         * gst/gstindex.c: doc fixes
9061         * gst/gstinfo.c: doc fixes
9062         * gst/gstpad.c: doc fixes
9063         * gst/gstpad.h: doc fixes
9064         * gst/gstplugin.c: doc fixes
9065         * gst/gsttypefind.h: doc fixes
9066         * gst/gsturi.c: doc fixes
9067         * gst/gstvalue.c: doc fixes
9068
9069 2004-03-29  Colin Walters  <walters@redhat.com>
9070
9071         * gst/registries/gstxmlregistry.c (get_time)
9072         (plugin_times_older_than_recurse):
9073         Use the result of stat to determine whether a path is a file,
9074         so we don't attempt to opendir() files.
9075
9076 2004-03-29  Benjamin Otte  <otte@gnome.org>
9077
9078         * gst/gstpad.c: (gst_pad_set_explicit_caps):
9079           print caps in debugging output when setting caps failed
9080         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9081         (schedule_next_element), (get_buffer), (run_chainhandler),
9082         (element_may_start), (gst_entry_scheduler_chain_handler),
9083         (gst_entry_scheduler_get_handler),
9084         (gst_entry_scheduler_state_transition),
9085         (gst_entry_scheduler_pad_link):
9086           make this scheduler a testcase for mandatory
9087           discont-before-first-buffer which is needed if we want to allow apps
9088           to release the sound device.
9089           add SCHED_ASSERT macro to print scheduler state before an assertion
9090           triggers.
9091
9092 2004-03-29  Benjamin Otte  <otte@gnome.org>
9093
9094         * COPYING:
9095           replace by LGPL (former COPYING.LIB). The core is completely
9096           licensed LGPL.
9097         * COPYING.LIB:
9098           remove
9099
9100 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9101
9102         * po/af.po:
9103         * po/sv.po:
9104           updated Afrikaans and Swedish
9105
9106 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9107
9108         * po/LINGUAS:
9109         * po/az.po:
9110           adding Azerbaijani (Mətin Əmirov)
9111
9112 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
9113
9114         * gst/gstelement.h: 
9115         * gst/gstelement.c (gst_element_set_time_delay): New function for
9116         setting element time taking into account a hardware buffering
9117         delay.
9118         (gst_element_set_time): Now just an invocation of
9119         gst_element_set_time_delay.
9120         * gst/gstclock.h: 
9121         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
9122         allowing to set event times in the future.
9123         (gst_clock_get_event_time): Now just an invocation of
9124         gst_clock_get_event_time_delay.
9125
9126 2004-03-28  Benjamin Otte  <otte@gnome.org>
9127
9128         * gst/gstbin.c: (gst_bin_set_element_sched),
9129         (gst_bin_unset_element_sched):
9130           don't add decoupled elements to schedulers - otherwise it's
9131           impossible to control if a link to a decoupled element was already
9132           removed from a scheduler or not.
9133         * gst/schedulers/cothreads_compat.h:
9134         * gst/schedulers/gthread-cothreads.h:
9135           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
9136           is no "unused" warning.
9137         * gst/schedulers/Makefile.am:
9138         * gst/schedulers/entryscheduler.c:
9139           add new scheduler, based on ideas from talking to David and Martin.
9140           It's supposed to be small and correct. Currently it's also slow (but
9141           it's not noticable)
9142         * examples/retag/retag.c: (main):
9143         * testsuite/bytestream/test1.c: (main):
9144           fix missing NULLs at end of variadic functions
9145         * testsuite/elements/.cvsignore:
9146           update
9147
9148 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
9149
9150         * gst/gstevent.h:
9151         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
9152
9153 2004-03-25  David Schleef  <ds@schleef.org>
9154
9155         * docs/gst/gstreamer-sections.txt:  More doc hacking.
9156         * docs/gst/tmpl/gstaggregator.sgml:
9157         * docs/gst/tmpl/gstautoplugfactory.sgml:
9158         * docs/gst/tmpl/gstbin.sgml:
9159         * docs/gst/tmpl/gstbuffer.sgml:
9160         * docs/gst/tmpl/gstbufferstore.sgml:
9161         * docs/gst/tmpl/gstfakesink.sgml:
9162         * docs/gst/tmpl/gstfakesrc.sgml:
9163         * docs/gst/tmpl/gstmd5sink.sgml:
9164         * docs/gst/tmpl/gstreamer-unused.sgml:
9165         * docs/gst/tmpl/gstsearchfuncs.sgml:
9166         * docs/gst/tmpl/gstshaper.sgml:
9167         * docs/gst/tmpl/gstspider.sgml:
9168         * docs/gst/tmpl/gsttee.sgml:
9169         * docs/gst/tmpl/gstutils.sgml:
9170         * docs/gst/tmpl/gstvalue.sgml:
9171         * docs/gst/tmpl/gstxml.sgml:
9172         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
9173         and we don't support it.
9174         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9175         (gst_use_threads), (gst_has_threads): same
9176         * gst/gstthreaddummy.c: same
9177         * gst/autoplug/gstspider.c: Make gst_spider_details static.
9178         * gst/autoplug/gstspider.h: same
9179         * gst/elements/gstaggregator.h: Remove bogus function from header
9180         * gst/elements/gstfakesink.h: same
9181         * gst/elements/gstfakesrc.h: same
9182         * gst/elements/gstmd5sink.h: same
9183         * gst/elements/gstshaper.h: same
9184         * gst/elements/gsttee.h: same
9185         * gst/gstbin.c: doc fixes
9186         * gst/gstbin.h: Remove unused definition.
9187         * gst/gstbuffer.c: doc fixes
9188         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
9189         * gst/gstfilter.c: doc fixes
9190         * gst/gsttag.c: doc fixes
9191         * gst/gstvalue.c: doc fixes
9192
9193 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9194
9195         * docs/pwg/advanced-types.xml:
9196           Document typefinding.
9197         * docs/pwg/other-oneton.xml:
9198           Document one-to-n elements, demuxers and parsers.
9199
9200 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
9201
9202         reviewed by: David Schleef  <ds@schleef.org>
9203
9204         * configure.ac: Check bison version (bug #127838)
9205
9206 2004-03-25  David Schleef  <ds@schleef.org>
9207
9208         * docs/gst/gstreamer-docs.sgml: More fine tuning.
9209         * docs/gst/gstreamer-sections.txt:
9210         * docs/gst/tmpl/gstautoplug.sgml:
9211         * docs/gst/tmpl/gststaticautoplug.sgml:
9212         * docs/gst/tmpl/gststaticautoplugrender.sgml:
9213         * docs/gst/tmpl/gstutils.sgml:
9214         * docs/gst/tmpl/gstxml.sgml:
9215
9216 2004-03-24  David Schleef  <ds@schleef.org>
9217
9218         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
9219         manual being such complete crap, that I decided to do major
9220         hacking of it.  This checkin replaces any fine tuning that
9221         may have been done previously, with the benefit of actually
9222         being complete for much of the API that was changed since
9223         0.6.  Further fine tuning will occur shortly.  (bug #134721)
9224         * docs/gst/gstreamer-sections.txt:
9225         * docs/gst/tmpl/GstBin.sgml:
9226         * docs/gst/tmpl/GstBuffer.sgml:
9227         * docs/gst/tmpl/GstCaps.sgml:
9228         * docs/gst/tmpl/GstClock.sgml:
9229         * docs/gst/tmpl/GstCompat.sgml:
9230         * docs/gst/tmpl/GstData.sgml:
9231         * docs/gst/tmpl/GstElement.sgml:
9232         * docs/gst/tmpl/GstEvent.sgml:
9233         * docs/gst/tmpl/GstIndex.sgml:
9234         * docs/gst/tmpl/GstStructure.sgml:
9235         * docs/gst/tmpl/GstTag.sgml:
9236         * docs/gst/tmpl/cothreads.sgml:
9237         * docs/gst/tmpl/cothreads_compat.sgml:
9238         * docs/gst/tmpl/gettext.sgml:
9239         * docs/gst/tmpl/grammar.tab.sgml:
9240         * docs/gst/tmpl/gst-i18n-app.sgml:
9241         * docs/gst/tmpl/gst-i18n-lib.sgml:
9242         * docs/gst/tmpl/gst.sgml:
9243         * docs/gst/tmpl/gst_private.sgml:
9244         * docs/gst/tmpl/gstaggregator.sgml:
9245         * docs/gst/tmpl/gstarch.sgml:
9246         * docs/gst/tmpl/gstatomic.sgml:
9247         * docs/gst/tmpl/gstatomic_impl.sgml:
9248         * docs/gst/tmpl/gstbin.sgml:
9249         * docs/gst/tmpl/gstbuffer.sgml:
9250         * docs/gst/tmpl/gstbufferstore.sgml:
9251         * docs/gst/tmpl/gstcaps.sgml:
9252         * docs/gst/tmpl/gstclock.sgml:
9253         * docs/gst/tmpl/gstcompat.sgml:
9254         * docs/gst/tmpl/gstconfig.sgml:
9255         * docs/gst/tmpl/gstcpu.sgml:
9256         * docs/gst/tmpl/gstdata.sgml:
9257         * docs/gst/tmpl/gstdata_private.sgml:
9258         * docs/gst/tmpl/gstelement.sgml:
9259         * docs/gst/tmpl/gstenumtypes.sgml:
9260         * docs/gst/tmpl/gsterror.sgml:
9261         * docs/gst/tmpl/gstevent.sgml:
9262         * docs/gst/tmpl/gstfakesink.sgml:
9263         * docs/gst/tmpl/gstfakesrc.sgml:
9264         * docs/gst/tmpl/gstfilesink.sgml:
9265         * docs/gst/tmpl/gstfilter.sgml:
9266         * docs/gst/tmpl/gstindex.sgml:
9267         * docs/gst/tmpl/gstinfo.sgml:
9268         * docs/gst/tmpl/gstinterface.sgml:
9269         * docs/gst/tmpl/gstlog.sgml:
9270         * docs/gst/tmpl/gstmacros.sgml:
9271         * docs/gst/tmpl/gstmarshal.sgml:
9272         * docs/gst/tmpl/gstmd5sink.sgml:
9273         * docs/gst/tmpl/gstmultifilesrc.sgml:
9274         * docs/gst/tmpl/gstobject.sgml:
9275         * docs/gst/tmpl/gstpad.sgml:
9276         * docs/gst/tmpl/gstparse.sgml:
9277         * docs/gst/tmpl/gstpipeline.sgml:
9278         * docs/gst/tmpl/gstplugin.sgml:
9279         * docs/gst/tmpl/gstpluginfeature.sgml:
9280         * docs/gst/tmpl/gstqueue.sgml:
9281         * docs/gst/tmpl/gstreamer-unused.sgml:
9282         * docs/gst/tmpl/gstregistry.sgml:
9283         * docs/gst/tmpl/gstregistrypool.sgml:
9284         * docs/gst/tmpl/gstscheduler.sgml:
9285         * docs/gst/tmpl/gstsearchfuncs.sgml:
9286         * docs/gst/tmpl/gstshaper.sgml:
9287         * docs/gst/tmpl/gstspider.sgml:
9288         * docs/gst/tmpl/gstspideridentity.sgml:
9289         * docs/gst/tmpl/gststructure.sgml:
9290         * docs/gst/tmpl/gstsystemclock.sgml:
9291         * docs/gst/tmpl/gsttag.sgml:
9292         * docs/gst/tmpl/gsttaginterface.sgml:
9293         * docs/gst/tmpl/gsttee.sgml:
9294         * docs/gst/tmpl/gstthread.sgml:
9295         * docs/gst/tmpl/gsttrace.sgml:
9296         * docs/gst/tmpl/gsttrashstack.sgml:
9297         * docs/gst/tmpl/gsttypefind.sgml:
9298         * docs/gst/tmpl/gsttypes.sgml:
9299         * docs/gst/tmpl/gsturi.sgml:
9300         * docs/gst/tmpl/gsturitype.sgml:
9301         * docs/gst/tmpl/gstutils.sgml:
9302         * docs/gst/tmpl/gstvalue.sgml:
9303         * docs/gst/tmpl/gstversion.sgml:
9304         * docs/gst/tmpl/gstxml.sgml:
9305         * docs/gst/tmpl/gstxmlregistry.sgml:
9306         * docs/gst/tmpl/gthread-cothreads.sgml:
9307         * docs/gst/tmpl/types.sgml:
9308
9309 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9310
9311         * docs/pwg/other-sink.xml:
9312         * docs/pwg/other-source.xml:
9313           Documentation on how to write source and sink elements. Other
9314           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
9315           manager, autoplugger) are all still pending.
9316
9317 2004-03-25  Benjamin Otte  <otte@gnome.org>
9318
9319         * testsuite/elements/Makefile.am:
9320         * testsuite/elements/gst-compprep-check:
9321           add check to make sure gst-compprep works
9322         * testsuite/elements/gst-inspect-check.in:
9323           improve initialization output
9324         * testsuite/Makefile.am:
9325         * testsuite/gst-inspect-check:
9326           remove old file
9327
9328 2004-03-24  David Schleef  <ds@schleef.org>
9329
9330         * testsuite/elements/Makefile.am:
9331         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
9332         to the testsuite.
9333
9334 2004-03-24  Benjamin Otte  <otte@gnome.org>
9335
9336         * libs/gst/control/dparam.c: (gst_dparam_attach),
9337         (gst_dparam_detach):
9338         * libs/gst/control/dparammanager.c: (gst_dpman_init):
9339           fix lvalue casts for real
9340
9341 2004-03-24  Benjamin Otte  <otte@gnome.org>
9342
9343         * gst/schedulers/gstbasicscheduler.c:
9344         (gst_basic_scheduler_src_wrapper):
9345         * gst/schedulers/gstoptimalscheduler.c:
9346         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
9347         (pad_clear_queued), (gst_opt_scheduler_add_element),
9348         (gst_opt_scheduler_remove_element):
9349           fix GStreamer to not have issues with lvalue casts anymore (fixes
9350           #136841)
9351
9352 2004-03-24  Benjamin Otte  <otte@gnome.org>
9353
9354         * gst/gstelement.c:
9355           add documentation about a gobject quirk where the object hasn't the
9356           correct class pointer set on initialization
9357         * gst/schedulers/gstbasicscheduler.c:
9358         (gst_basic_scheduler_src_wrapper):
9359           make sure to not run into an infinite loop
9360
9361 2004-03-22  Benjamin Otte  <otte@gnome.org>
9362
9363         * gst/gstutils.c: (gst_util_dump_mem):
9364         * gst/gstutils.h:
9365           first argument of gst_util_dump_mem should be const
9366
9367 2004-03-22  Johan Dahlin  <johan@gnome.org>
9368
9369         * gst/gstvalue.h: Clean up a little bit.
9370
9371 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
9372
9373         reviewed by Benjamin Otte  <otte@gnome.org>
9374
9375         * gst/autoplug/gstspider.c: (gst_spider_dispose):
9376         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
9377         (gst_aggregator_class_init), (gst_aggregator_init):
9378         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9379         (gst_filesrc_dispose), (gst_filesrc_set_location):
9380         * gst/elements/gstidentity.c: (gst_identity_finalize),
9381         (gst_identity_class_init), (gst_identity_chain):
9382         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
9383         * gst/elements/gststatistics.c: (gst_statistics_finalize),
9384         (gst_statistics_class_init):
9385         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
9386         (gst_tee_get_property):
9387           clean up used memory in this elements correctly on teardown (closes
9388           #137279)
9389
9390 2004-03-20  Colin Walters  <walters@redhat.com>
9391
9392         * gst/registries/gstxmlregistry.c:
9393         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
9394         registry saving atomic.
9395
9396 2004-03-20  Colin Walters  <walters@redhat.com>
9397
9398         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
9399         Just use
9400         access() instead of actually creating and deleting files.
9401
9402 2004-03-18  David Schleef  <ds@schleef.org>
9403
9404         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
9405         (bug #137625)
9406
9407 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9408
9409         * po/sv.po: updated translation (Christian Rose)
9410
9411 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9412
9413         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
9414         (gst_filesink_get_query_types), (_do_init),
9415         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
9416           return FALSE silently
9417         * po/af.po: updated translation (Petri Jooste)
9418
9419 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9420
9421         * Makefile.am:
9422         * configure.ac:
9423           dist common properly
9424         * po/af.po:
9425         * po/fr.po:
9426         * po/nl.po:
9427         * po/sr.po:
9428         * po/sv.po:
9429           refreshing translations
9430
9431 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9432
9433         * po/LINGUAS:
9434         * po/sv.po:
9435         * po/af.po:
9436           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
9437
9438 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9439
9440         * Makefile.am: use common/release.mak
9441
9442 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9443
9444         * docs/faq/gst-uninstalled:
9445           adding gst-monkeysaudio to the list of possible plugin dirs
9446
9447 2004-03-16  David Schleef  <ds@schleef.org>
9448
9449         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
9450         (gst_init_check_with_popt_table):  Fix some gettext strings to
9451         make them easier to translate.  Required making the strings
9452         non-const.
9453
9454 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9455
9456         * configure.ac: bump nano to 1
9457
9458 === release 0.8.0 ===
9459
9460 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9461
9462         * configure.ac: release 0.8.0, "Executive Slacks"
9463
9464 2004-03-16  Johan Dahlin  <johan@gnome.org>
9465
9466         * gst/schedulers/gstoptimalscheduler.c
9467         (gst_opt_scheduler_pad_unlink): Remove double ;,
9468         spotted by Scott Wheeler
9469
9470 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9471
9472         * configure.ac: bump libtool version
9473
9474 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9475
9476         * gst/gstcaps.h:
9477         * gst/gststructure.h:
9478           add reserved padding
9479
9480 2004-03-15  Benjamin Otte  <otte@gnome.org>
9481
9482         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9483           set the first parameter for select call correctly.
9484           (fixes #137230)
9485
9486 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9487
9488         * *.c,*.h: don't mix tabs and spaces
9489
9490 2004-03-15  Johan Dahlin  <johan@gnome.org>
9491
9492         * gst/schedulers/gstoptimalscheduler.c
9493         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
9494         crash on MPEG playback. My boolean arithmetic is a bit rusty.
9495
9496         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
9497         
9498 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9499
9500         * testsuite/Rules:
9501           fix gst-register rules
9502
9503 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9504
9505         * testsuite/Rules:
9506           use versioned gst-register
9507
9508 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9509
9510         * docs/libs/gstreamer-libs-sections.txt:
9511           remove </SUBSECTION>
9512         * gst/gstplugin.c:
9513         * gst/gstregistry.c: (gst_registry_add_plugin):
9514         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
9515         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
9516           add debugging and fix some comment blocks
9517
9518 2004-03-15  Johan Dahlin  <johan@gnome.org>
9519
9520         * *.h: Revert indent changes.
9521         
9522 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9523
9524         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
9525           g_error_free the g_error
9526         * tools/gst-feedback-m.m:
9527           check for other versions of gstreamer
9528         * tools/gst-indent:
9529           use sh, not bash
9530
9531 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9532
9533         * tools/gst-register.c: do not spill paths when registries are not
9534           writable, until we fix the "user running gst-register" case.
9535
9536 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9537
9538         * *.c, *.h: commit of gst-indent run on core
9539
9540 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9541
9542         * tools/gst-indent:
9543         * tools/Makefile.am:
9544           add our indentation style as a script
9545
9546 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9547
9548         * po/sr.po:
9549         * po/LINGUAS:
9550           added Serbian translation
9551
9552 2004-03-13  Benjamin Otte  <otte@gnome.org>
9553
9554         * gst/gstelement.c:
9555           add documentation note about gst_element_found_tags_for_pad not
9556           being usable in getfunctions. (see #137042)
9557
9558 2004-03-12  David Schleef  <ds@schleef.org>
9559
9560         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
9561         change API right now!  Readd gst_caps_is_simple() macro.
9562         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
9563         uninitialized variable.  I'd bet this caused crashes.
9564         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
9565
9566 2004-03-12  Johan Dahlin  <johan@gnome.org>
9567
9568         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
9569         * gst/gstcaps.h: Clean up
9570
9571         * gst/gst.c (init_post): call gst_caps_get_type() instead of
9572         _gst_caps_initalize()
9573
9574         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
9575         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
9576
9577         * gst/gststructure.c (gst_structure_get_type): Ditto
9578
9579         * gst/gststructure.h: Ditto
9580         
9581 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9582
9583         * gst/gstqueue.c: (gst_queue_init):
9584           Reset default max. values in queues. Reason is simply to avoid
9585           braindead use. If you want wider values, use the properties. The
9586           default is supposed to always work. Wider values would make this
9587           beast a memory hog by default (250 full-PAL RGB32 video frames?
9588           That's 440 MB! No thank you).
9589
9590 2004-03-10  David Schleef  <ds@schleef.org>
9591
9592         * tools/gst-run.c: (main):  Fix crash when no relevant tools
9593         were found.  (bug #136793)
9594
9595 2004-03-10  Johan Dahlin  <johan@gnome.org>
9596
9597         * gst/schedulers/gstoptimalscheduler.c
9598         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
9599         links to elements within the same group, so we can finally remove
9600         that annoying warning. Refactor the code a little bit
9601         (group_dec_links_for_element): Split out
9602
9603 2004-03-09  David Schleef  <ds@schleef.org>
9604
9605         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
9606         (bug #134863)
9607
9608 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9609
9610         * configure.ac: first bug fix due to major/minor bump
9611
9612 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9613
9614         * configure.ac: bump nano to 1
9615
9616 === release 0.7.6 ===
9617
9618 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9619
9620         * NEWS:
9621         * RELEASE:
9622         * configure.ac:
9623           releasing 0.7.6, "Almost"
9624         * po/fr.po:
9625         * po/nl.po:
9626         * tools/Makefile.am:
9627         * tools/gst-feedback-m.m:
9628           unversioned source
9629
9630 2004-03-09  Johan Dahlin  <johan@gnome.org>
9631
9632         Reviewed by: Thomas Vander Stichele
9633
9634         * gst/gstelement.c (gst_element_class_init): register second
9635         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
9636         language bindings can (de)marshall correctly.
9637
9638         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
9639
9640         * gst/gsterror.c (gst_g_error_get_type): New function
9641
9642         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
9643         with VOID:OBJECT,OBJECT,STRING 
9644
9645 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
9646
9647         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
9648         Free a leaked g_timer on early returns.
9649
9650 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9651
9652         * docs/pwg/advanced-types.xml:
9653           Add cinepak description.
9654
9655 2004-03-07  David Schleef  <ds@schleef.org>
9656
9657         * docs/random/mimetypes:  Added cinepak description
9658
9659 2004-03-07  Andy Wingo  <wingo@pobox.com>
9660
9661         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
9662
9663         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
9664         there are no links to other groups when a group is destroyed.
9665         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
9666         removed from a group, make sure the link count to elements linked
9667         to other pads is appropriately decremented. This really fixes
9668         #135672.
9669
9670         The 1.60->1.61 patch has been reapplied in light of this fix.
9671
9672         * gst/gstelement.c (gst_element_dispose): Really protect against
9673         multiple invocations this time.
9674
9675 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9676
9677         * docs/gst/gstreamer-sections.txt:
9678         * docs/gst/tmpl/gsttag.sgml:
9679           remove some deprecated functions, document some existing ones
9680         * gst/gsttag.c: (gst_tag_get_flag):
9681         * gst/gsttag.h:
9682           add accessor function
9683
9684 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9685
9686         * docs/gst/gstreamer-sections.txt:
9687         * docs/gst/tmpl/gsttag.sgml:
9688         * docs/gst/tmpl/gstxml.sgml:
9689         * gst/gsttag.c: (gst_tag_get_flag):
9690         * gst/gsttag.h:
9691
9692 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
9693
9694         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
9695         leak
9696
9697 2004-03-05  David Schleef  <ds@schleef.org>
9698
9699         * REQUIREMENTS: Add bison and flex.
9700         * configure.ac: Fix comment about bison.
9701         * docs/random/ds/0.9-suggested-changes: yer ma
9702         * tools/gst-inspect.c: (print_element_info):  Fix warning.
9703
9704 2004-03-05  Benjamin Otte  <otte@gnome.org>
9705
9706         * gst/gstelement.c: (gst_element_error_full):
9707           revert recent recursive state changing commit - messing with other
9708           elements' states is evil and should be done by apps only.
9709
9710 2004-03-05  Benjamin Otte  <otte@gnome.org>
9711
9712         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
9713           check for empty intersection instead of NULL caps
9714         (gst_element_get_compatible_pad_filtered):
9715           remove old workaround that is only a bug nowadays
9716
9717 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9718
9719         * gst/gstelement.c: (gst_element_error_full):
9720           make elements try to recursively change state to PAUSED on all
9721           parents after an error to suppress ensuing warnings
9722         * gst/parse/grammar.y:
9723           make it check if it was able to sync the state, and throw an error
9724           if not, so stuff like
9725           oggdemux ! vorbisdec ! osssink gets caught
9726
9727 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9728
9729         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
9730           it contains lib64; use AS_AC_EXPAND to handle it properly
9731
9732 2004-03-05  David Schleef  <ds@schleef.org>
9733
9734         * gst/gstcpuid_i386.s:  Remove unused code
9735         * libs/gst/getbits/getbits.c: (gst_getbits_init),
9736         (gst_getbits_newbuf): Remove MMX code
9737         * libs/gst/getbits/getbits.h: Remove MMX code
9738
9739 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
9740
9741         * debian/.cvsignore:
9742         * debian/README.Debian:
9743         * debian/changelog:
9744         * debian/control:
9745         * debian/control.in:
9746         * debian/copyright:
9747         * debian/gstreamer-core-libs-dev.files:
9748         * debian/gstreamer-core-libs.files:
9749         * debian/gstreamer-core.files:
9750         * debian/gstreamer-core.postinst:
9751         * debian/gstreamer-core.postrm:
9752         * debian/gstreamer-doc.files:
9753         * debian/gstreamer-doc.links:
9754         * debian/gstreamer-doc.lintian:
9755         * debian/gstreamer-runtime.files:
9756         * debian/gstreamer-runtime.manpages:
9757         * debian/gstreamer-runtime.postinst:
9758         * debian/gstreamer-runtime.postrm:
9759         * debian/gstreamer-tools.files:
9760         * debian/gstreamer-tools.manpages:
9761         * debian/libgstreamer-dev.files:
9762         * debian/libgstreamer0.4.1.files:
9763         * debian/libgstreamerVERSION.files:
9764         * debian/rules:
9765         Debian package info not maintained here.
9766
9767 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9768
9769         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9770         * gst/gstbin.c: (gst_bin_class_init):
9771         * gst/gstelement.c: (gst_element_class_init):
9772         * gst/gstindex.c: (gst_index_class_init):
9773         * gst/gstobject.c: (gst_object_class_init),
9774         (gst_signal_object_class_init):
9775         * gst/gstpad.c: (gst_pad_template_class_init):
9776         * gst/gstregistry.c: (gst_registry_class_init):
9777         * gst/gsturi.c: (gst_uri_handler_base_init):
9778         * gst/gstxml.c: (gst_xml_class_init):
9779         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9780         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
9781           make all signal names use dashes instead of underscore
9782
9783 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9784
9785         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
9786
9787 2004-03-03  Benjamin Otte  <otte@gnome.org>
9788
9789         * gst/schedulers/gstoptimalscheduler.c:
9790           revert last commit by Andy Wingo. It causes segfaults on unreffing
9791           in Rhythmbox. (see bug #135672)
9792
9793 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9794
9795         * po/fr.po: fix typo
9796
9797 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9798
9799         * tools/gst-inspect.c: (main): 
9800         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
9801
9802 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9803
9804         * configure.ac:
9805           get GLIB_ONLY and POPT flags for the nonversioned binaries
9806         * tools/Makefile.am:
9807           use them
9808
9809 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9810
9811         * gst/gst.c: (init_post):
9812           change so that GST_REGISTRY now is where the global registry gets
9813           saved, since that is where plugins now get attached to first, and
9814           spilled over to the user registry.  Note that in the case of using
9815           GST_REGISTRY env var, we don't want to affect any real registries
9816           beyond the one given by this var, and thus we don't set a user
9817           registry to spill to.  So make sure GST_REGISTRY is writable.
9818
9819 2004-03-01  David Schleef  <ds@schleef.org>
9820
9821         * AUTHORS:  Added some names.  Add yourself if you're missing.
9822
9823 2004-03-01  David Schleef  <ds@schleef.org>
9824
9825         * MAINTAINERS: Add
9826
9827 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9828
9829         * configure.ac:
9830           remove whitespace
9831         * docs/gst/tmpl/gstbuffer.sgml:
9832         * docs/gst/tmpl/gstdata.sgml:
9833         * docs/gst/tmpl/gstreamer-unused.sgml:
9834         * docs/gst/tmpl/gstxml.sgml:
9835           doc update
9836         * docs/manuals.mak:
9837           add a FIXME
9838         * docs/pwg/intro-preface.xml:
9839         * docs/pwg/pwg.xml:
9840           remove GNOME
9841         * gst/gst.c: (init_post):
9842           try GST_PLUGIN_PATH paths for the _global_registry first
9843         * gst/gstelement.h:
9844           add the error message as well, otherwise (null) debug info doesn't
9845           make much sense
9846         * tools/gst-register.c: (main):
9847           spill paths to next registry if this registry is not writable
9848         * po/fr.po:
9849         * po/nl.po:
9850           translation updates
9851
9852 2004-03-01  Johan Dahlin  <johan@gnome.org>
9853
9854         * gst/gstbuffer.c (_gst_buffer_initialize): 
9855         * gst/gstdata.c (gst_data_get_type): 
9856         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
9857         instead of ref, since some applications that uses GBoxed
9858         routines depends on a function that actually returns a copy.
9859
9860 2004-02-27  Benjamin Otte  <otte@gnome.org>
9861
9862         * gst/gstbuffer.h:
9863           remove gst_buffer_free, use gst_data_unref
9864         * gst/gstdata.c: (gst_data_get_type):
9865           use refcounting in GstData GBoxed registration
9866         * gst/gstdata.h:
9867           remove gst_data_free, use gst_data_unref
9868
9869 2004-02-27  Johan Dahlin  <johan@gnome.org>
9870
9871         * gst/gstdata.c (gst_data_get_type): New function, register
9872         GstData as a GBoxed type.
9873
9874         * gst/gstdata.h (GST_TYPE_DATA): New macro
9875
9876 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9877
9878         * Makefile.am:
9879         * gstreamer.spec.in:
9880           put back RELEASE
9881         * gst/Makefile.am:
9882           clean up non-disting of built files
9883         * testsuite/debug/commandline.c:
9884           test fix for option rename
9885
9886 2004-02-26  David Schleef  <ds@schleef.org>
9887
9888         * configure.ac:  We don't really need glib-2.3.  Also remove
9889         some unneeded checks for library functions.
9890         * gst/Makefile.am:  Instead, we need to not dist files created
9891         by glib-genmarshal.
9892
9893 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9894
9895         * configure.ac:
9896           bump glib required version to 2.3.0 for g_value_takes_boxed
9897
9898  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
9899
9900         * common/m4/gst-docs.m4
9901         change flavour text from enable to disable as enable is our default
9902         closes bug Bug 135304
9903
9904 === release 0.7.5 ===
9905  
9906  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9907  
9908         * NEWS:
9909           instate NEWS file
9910         * Makefile.am:
9911         * gstreamer.spec.in:
9912         * RELEASE:
9913           put back release
9914         * configure.ac:
9915         * docs/random/release:
9916           more updates
9917
9918 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9919
9920         * gst/gsttag.c: (_gst_tag_initialize):
9921         * po/fr.po:
9922         * po/nl.po:
9923           remove hyphen from codec tags
9924
9925 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9926
9927         * gst/parse/Makefile.am:
9928           fix dependency so that a make from a clean build works the first
9929           time
9930
9931 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9932
9933         * docs/random/release:
9934           update release strategy
9935         * po/fr.po:
9936           auto-update po file
9937         * po/nl.po:
9938           update dutch translation
9939
9940 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9941
9942         * docs/manual/debugging.xml:
9943         fix manual for new debugging system
9944
9945 2004-02-25  Andy Wingo  <wingo@pobox.com>
9946
9947         * gst/gstpad.c (gst_pad_link_prepare): Re-add
9948         gst_pad_link_prepare. Please email the list with specific reasons
9949         for reverting.
9950
9951 2004-02-24  Andy Wingo  <wingo@pobox.com>
9952
9953         * gst/gstelement.c (gst_element_dispose): Protect against multiple
9954         invocations.
9955
9956         * gst/schedulers/gstoptimalscheduler.c:
9957         I added a mess of prototypes at the top of the file by way of
9958         documentation. Some of the operations on chains and groups were
9959         re-organized.
9960
9961         (create_group): Added a type argument so if the group is enabled,
9962         the setup_group_scheduler knows what to do.
9963         (group_elements): Added a type argument here, too, to be passed on
9964         to create_group.
9965         (group_element_set_enabled): If an unlinked PLAYING element is
9966         added to a bin, we have to create a new group to hold the element,
9967         and this function will be called before the group is added to the
9968         chain. Thus we have a valid case for group->chain==NULL. Instead
9969         of calling chain_group_set_enabled, just set the flag on the group
9970         (the chain's status will be set when the group is added to it).
9971         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
9972         Setup the group scheduler when the group is enabled, not
9973         specifically when an element goes PAUSED->PLAYING. This means
9974         PLAYING elements can be added, linked, and scheduled into a
9975         PLAYING pipeline, as was intended.
9976         (add_to_group): Don't ref the group twice. I don't know when this
9977         double-ref got in here. Removing it has the potential to cause
9978         segfaults if other parts of the scheduler are buggy. If you find
9979         that the scheduler is segfaulting for you, put in an extra ref
9980         here and see if that hacks over the underlying issue. Of course,
9981         then find out what code is unreffing a group it doesn't own...
9982         (create_group): Make the extra refcount floating, and remove it
9983         after adding the element. This means that...
9984         (unref_group): Destroy when the refcount reaches 0, not 1, like
9985         every other refcounted object in the known universe.
9986         (remove_from_group): When a group becomes empty, set it to be not
9987         active, and remove it from its chain. Don't unref it again,
9988         there's no floating reference any more.
9989         (destroy_group): We have to remove the group from the chain in
9990         remove_from_group (rather than here) to break refcounting cycles
9991         (the chain always has a ref on the group). So assert that
9992         group->chain==NULL.
9993         (ref_group_by_count): Removed, it was commented out anyway.
9994         (merge_chains): Use the remove_from_chain and add_to_chain
9995         primitives to do the reparenting, instead of rolling our own
9996         implementation.
9997         (add_to_chain): The first non-disabled group in the chain's group
9998         list will be the entry point for the chain. Because buffers can
9999         accumulate in loop elements' peer bufpens, we preferentially
10000         schedule loop groups before get groups to avoid unnecessary
10001         execution of get-based groups when the bufpens are already full.
10002         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
10003         (get_group_schedule_function): Ditto.
10004         (loop_group_schedule_function): Ditto.
10005         (gst_opt_scheduler_loop_wrapper): Ditto.
10006         (gst_opt_scheduler_iterate): Ditto.
10007
10008         I understand the opt scheduler now, yippee!
10009
10010         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
10011         (gst_pad_get_name, gst_pad_set_chain_function) 
10012         (gst_pad_set_get_function, gst_pad_set_event_function) 
10013         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
10014         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
10015         (gst_pad_set_query_function, gst_pad_get_query_types) 
10016         (gst_pad_get_query_types_default) 
10017         (gst_pad_set_internal_link_function) 
10018         (gst_pad_set_formats_function, gst_pad_set_link_function) 
10019         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
10020         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
10021         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
10022         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
10023         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
10024         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
10025         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
10026         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
10027         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
10028         (gst_pad_event_default_dispatch, gst_pad_event_default) 
10029         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
10030         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
10031         (gst_pad_get_formats_default, gst_pad_get_formats): Better
10032         argument checks, and some doc fixes.
10033
10034         (gst_pad_custom_new_from_template): Um, does anyone
10035         use these functions? Actually make a custom pad instead of a
10036         normal one.
10037         (gst_pad_try_set_caps): Transpose some checks.
10038         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
10039         the pad is in negotiation.
10040         (gst_pad_try_relink_filtered): Use pad_link_prepare.
10041         
10042         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
10043
10044         * gst/gstelement.h: 
10045         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
10046         on the list.
10047
10048 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10049
10050         * gst/gstbin.c: (gst_bin_add):
10051           add error for not being able to add elements
10052
10053 2004-02-22  Julien MOUTTE <julien@moutte.net>
10054
10055         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
10056         audio-codec and video-codec.
10057
10058 2004-02-22  Benjamin Otte  <otte@gnome.org>
10059
10060         reported by: Padraig O'Briain <padraig.obriain@sun.com>
10061
10062         * autogen.sh:
10063           replace test -e with test -x for mkinstalldirs to be more portable.
10064           (fixes #134816)
10065
10066 2004-02-22  Benjamin Otte  <otte@gnome.org>
10067
10068         * gst/gstpad.c:
10069           revert last patch from Andy, it makes gst_pad_can_link_filtered much
10070           too noisy
10071         * gst/gsttag.c: (_gst_tag_initialize):
10072         * gst/gsttag.h:
10073           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
10074         * libs/gst/control/dparam.c: (gst_dparam_attach):
10075         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
10076           check that types for attached dparams match
10077
10078 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10079
10080         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10081         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10082         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10083           fix errors
10084
10085 2004-02-20  Andy Wingo  <wingo@pobox.com>
10086
10087         * gst/gstbin.c:
10088         * gst/gstbuffer.c:
10089         * gst/gstplugin.c:
10090         * gst/registries/gstxmlregistry.c: 
10091         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
10092
10093         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
10094         (gst_element_add_pad): DEBUG->INFO, some fixes.
10095         (gst_element_get_compatible_pad_template): Just see if the
10096         templates' caps intersect, not if one is a strict subset of the
10097         other. This conforms more to what gst_pad_link_intersect() does.
10098         (gst_element_class_add_pad_template): Don't memcpy the pad
10099         template, just ref it.
10100         (gst_element_get_compatible_pad_filtered): Clean up debug messages
10101
10102         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
10103         (gst_pad_link_filtered): Debug changes.
10104         (gst_pad_link_prepare): New function, consolidated from
10105         can_link_filtered and link_filtered.
10106
10107         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
10108         look more like that of the functions in gstelement.c
10109
10110         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
10111         object, and return the empty string if object is NULL.
10112
10113         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
10114         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
10115         LOG, not DEBUG. We still get flex info on debug.
10116
10117         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
10118         debug string more verbose.
10119         (plugin_times_older_than): DEBUG->LOG.
10120
10121 2004-02-20  Julien MOUTTE <julien@moutte.net>
10122
10123         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
10124         will emit found_tag for each stream they demux with the codec.
10125
10126 2004-02-20  Benjamin Otte  <otte@gnome.org>
10127
10128         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
10129           copy navigation event correctly. Check freeing tag lists. 
10130         * gst/gstthread.c: (gst_thread_change_state):
10131           don't abort() on state changing mess - it might happen because of
10132           bugs.
10133         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
10134           use boxed functions
10135         * gst/gstvalue.h:
10136           fix GST_VALUE_HOLDS_CAPS
10137
10138 2004-02-19  David Schleef  <ds@schleef.org>
10139
10140         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
10141         and use it for GST_FUNCTION.  (bug #134750)
10142
10143 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10144
10145         * po/fr.po:
10146         * po/nl.po:
10147           updating translations
10148
10149 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10150
10151         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
10152
10153 2004-02-18  kost@imn.htwk-leipzig.de
10154
10155         reviewed by: David Schleef  <ds@schleef.org>
10156
10157         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
10158         for libgstcontrol.
10159
10160 2004-02-18  David Schleef  <ds@schleef.org>
10161
10162         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10163         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
10164         (gst_dpsmooth_new): Additional fixes to get double dparams working.
10165         * tools/gst-inspect.c: (print_element_info): Support dumping of
10166         double dparam information.
10167
10168 2004-02-17  David Schleef  <ds@schleef.org>
10169
10170         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10171         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
10172         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
10173         Use GST_TYPE_CAPS in signal prototype.
10174         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
10175         Convert GST_TYPE_CAPS to boxed.
10176         * gst/gstelement.c: (gst_element_class_init):
10177         Use GST_TYPE_TAG_LIST in signal prototype.
10178         * gst/gstindex.c: (gst_index_class_init):
10179         * gst/gstindex.h:
10180         Add GST_TYPE_INDEX_ENTRY type.
10181         * gst/gstmarshal.list:
10182         Add necessary marshal types.
10183         * gst/gstpad.c: (gst_real_pad_class_init),
10184         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
10185         (gst_pad_recover_caps_error):
10186         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
10187         * gst/gststructure.c: (_gst_structure_initialize),
10188         (gst_structure_copy), (_gst_structure_copy_conditional):
10189         * gst/gststructure.h:
10190         Convert GST_TYPE_STRUCTURE to boxed.
10191         * gst/gsttag.c: (gst_tag_list_get_type):
10192         * gst/gsttag.h:
10193         Add GST_TYPE_TAG_LIST type.
10194
10195 2004-02-17  Julien MOUTTE  <julien@moutte.net>
10196
10197         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
10198         to what we agreed with david.
10199         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
10200
10201 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10202
10203         * po/nl.po: update translation
10204
10205 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10206
10207         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10208           throw an error if spider is trying to play a mime type there is
10209           no decoder for
10210         * po/POTFILES.in:
10211           add gst/autoplug/gstspider.c for translation
10212
10213 2004-02-17  Julien MOUTTE  <julien@moutte.net>
10214
10215         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
10216         silently when the pad is negotiating.
10217
10218 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10219
10220         * docs/faq/Makefile.am:
10221           add script to run gstreamer uninstalled 
10222         * docs/faq/faq.xml:
10223         * docs/faq/developing.xml:
10224         * docs/faq/gst-uninstalled:
10225           extract script to run gstreamer uninstalled
10226         * docs/manuals.mak:
10227           add EXTRA_SOURCES variable for Makefile.am's to set to
10228           use additional SOURCE files for the doc build
10229
10230 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10231
10232         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
10233
10234 2004-02-15  Julien MOUTTE  <julien@moutte.net>
10235
10236         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
10237         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
10238         an error was thrown by osssink. Basically a state change failure for
10239         an element in a different scheduling group was considered as
10240         successful, which means that caps nego was going on and weird stuff
10241         happened. Like I wrote in the comment there, if someone wants to
10242         revert that please drop me a mail explaining why because I really see
10243         no point in keeping that broken behaviour there.
10244         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
10245         be empty, we then return NULL which will trigger a nice error when 
10246         pulling from the pad.
10247
10248 2004-02-13  David Schleef  <ds@schleef.org>
10249
10250         * libs/gst/control/dparam.c: (gst_dparam_class_init),
10251         (gst_dparam_get_property), (gst_dparam_set_property),
10252         (gst_dparam_do_update_default):
10253         * libs/gst/control/dparam.h:
10254         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
10255         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
10256         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
10257         (gst_dpsmooth_do_update_double):
10258         * libs/gst/control/dparam_smooth.h:
10259         * libs/gst/control/dparammanager.c:
10260         (gst_dpman_inline_direct_update):
10261         Add support for double dparams.
10262
10263 2004-02-13  David Schleef  <ds@schleef.org>
10264
10265         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
10266         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
10267
10268 2004-02-13  Mattias Wadman  <mattias@sudac.org>
10269
10270         reviewed by: David Schleef  <ds@schleef.org>
10271
10272         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10273         (gst_fdsrc_init), (gst_fdsrc_set_property),
10274         (gst_fdsrc_get_property), (gst_fdsrc_get):
10275         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
10276         and sends an EOS event if file descriptor reading times out.
10277
10278 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10279
10280         * configure.ac:
10281           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
10282
10283 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10284
10285         * configure.ac: pass required libxml version as argument
10286         (bug reported by Christophe Fergeau)
10287
10288 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10289   
10290         * docs/gst/gstreamer-docs.sgml:
10291         * docs/gst/tmpl/gstxml.sgml:
10292         * docs/libs/gstreamer-libs-docs.sgml:
10293           version API docs
10294
10295 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10296
10297         * gst/gstinfo.c:
10298         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
10299         (gst_registry_pool_feature_filter):
10300         * gst/gstthread.c: (gst_thread_class_init):
10301         * gst/gstvalue.c:
10302           add includes exposed by building without libxml
10303         * gst/indexers/Makefile.am:
10304           do not build fileindex when LOADSAVE disabled; we should have
10305           a better libxml check later since fileindex depends on xml, not
10306           LOADSAVE or REGISTRY
10307         * libs/gst/control/Makefile.am:
10308           link with m
10309         * tools/Makefile.am:
10310           fix wrong source code for gst-xmlinspect
10311
10312 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10313
10314         * configure.ac:
10315           fix gcov help output
10316           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
10317         * docs/random/release:
10318           some updated releasing notes
10319         * gstreamer.spec.in:
10320           more updates
10321
10322 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10323
10324         * docs/faq/faq.xml:
10325         * docs/manual/manual.xml:
10326         * docs/pwg/pwg.xml:
10327         * docs/pwg/titlepage.xml:
10328           put version in documentation
10329
10330 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10331
10332         * tools/Makefile.am: fix man page installation
10333
10334 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10335
10336         * configure.ac:
10337           don't check for libxml when load/save and registry disabled (#105844)
10338         * gstreamer.spec.in:
10339           sync with fedora candidate spec
10340
10341 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10342
10343         * po/fr.po:
10344         * po/nl.po:
10345           replace multidisksrc with multifilesrc
10346
10347 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10348
10349         * po/POTFILES.in:
10350           update to multidisksrc => multifilesrc file renaming (#134145)
10351
10352 2004-02-11  David Schleef  <ds@schleef.org>
10353
10354         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
10355         * docs/gst/tmpl/gstpadtemplate.sgml: same
10356         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
10357         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
10358         fixing dance.
10359         * gst/gstutils.c: Remove disabled code that uses GstProps.
10360         * gst/registries/gstxmlregistry.h: same
10361         * docs/random/ds/0.9-suggested-changes: random notes
10362
10363 2004-02-11  kost@imn.htwk-leipzig.de
10364
10365         reviewed by: David Schleef  <ds@schleef.org>
10366
10367         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
10368         initialisation of clock (bug #134128)
10369
10370 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10371
10372         * configure.ac:
10373         * gst/elements/Makefile.am:
10374         * gst/elements/gstelements.c:
10375         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
10376         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
10377         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
10378         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
10379         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
10380         * gst/elements/gstmultifilesrc.h:
10381           rename multidisksrc to multifilesrc (part of #122200)
10382
10383 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10384
10385         * docs/manuals.mak:
10386           fix automake complaints
10387         * gst-element-check.m4:
10388           fix unquotedness
10389
10390 2004-02-11  David Schleef  <ds@schleef.org>
10391
10392         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
10393         * gst/gstatomic_impl.h: Disable sparc implementation.
10394
10395 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10396
10397         * gst-element-check.m4:
10398           fix underquoted macros as reported by automake 1.8.x (#133800)
10399         * configure.ac:
10400           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
10401           by autopoint (fixes #132996)
10402
10403 2004-02-10  Andy Wingo  <wingo@pobox.com>
10404
10405         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
10406         way to do inheritance.
10407         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
10408         (gst_pad_get_query_types, gst_pad_get_query_types_default):
10409         Routine docs.
10410         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
10411         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
10412         doc.
10413         (gst_pad_unlink, gst_pad_is_linked): Docs.
10414         (gst_pad_renegotiate): A brief description of capsnego.
10415         (gst_pad_try_set_caps): Document.
10416         (gst_pad_try_set_caps_nonfixed): Document.
10417         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
10418         (gst_pad_set_parent): Deprecated (although not out of the API).
10419         (gst_pad_get_parent): Deprecated, although many plugins use this.
10420         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
10421         are private and will go away in 0.9.
10422         (gst_pad_perform_negotiate): Doc.
10423         (gst_pad_link_unnegotiate): I think this is meant to be static.
10424         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
10425         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
10426         (gst_pad_get_peer): Doc updates.
10427         (gst_pad_caps_change_notify): Doc.
10428         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
10429         (gst_ghost_pad_new): Doc fixes.
10430
10431         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
10432         (gst_object_check_uniqueness): 
10433
10434         * gst/gstelement.c (gst_element_add_pad) 
10435         (gst_element_add_ghost_pad, gst_element_remove_pad) 
10436         (gst_element_remove_ghost_pad, gst_element_get_pad) 
10437         (gst_element_get_static_pad, gst_element_get_pad_list) 
10438         (gst_element_class_get_pad_template_list) 
10439         (gst_element_class_get_pad_template): Work on the docs.
10440         (gst_element_get_pad_template_list): Uses the class method.
10441         (gst_element_get_compatible_pad_template): Docs, and consolidate
10442         some test conditions. 
10443         (gst_element_get_pad_from_template): New static function.
10444         (gst_element_request_compatible_pad): Docs, and work with
10445         non-request compatible templates. 
10446         (gst_element_get_compatible_pad_filtered): Docs and remove
10447         redundant checks.
10448         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
10449         (gst_element_link_filtered, gst_element_link_many) 
10450         (gst_element_link, gst_element_link_pads) 
10451         (gst_element_unlink_many): Docs.
10452
10453 2004-02-05  Andy Wingo  <wingo@pobox.com>
10454
10455         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
10456         s/pointer/boxed/.
10457
10458         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
10459
10460         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
10461         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
10462         with the type=GST_TYPE_CAPS. This allows language bindings to know
10463         what kind of data they're dealing with.
10464
10465         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
10466         to NULL when g_value_init is called. GstCaps, which rolls its own
10467         type implementation, now does the same instead of allocating empty
10468         caps.
10469         (_gst_caps_initialize, _gst_caps_collect_value,
10470         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
10471         table methods. This allows G_VALUE_COLLECT to work.
10472
10473 2004-02-05  Andy Wingo  <wingo@pobox.com>
10474
10475         * configure.ac:
10476         * testsuite/Makefile.am (SUBDIRS): 
10477         * testsuite/ghostpads/Makefile.am: 
10478         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
10479
10480         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
10481         These two routines are the only ones that set
10482         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
10483         pad template. They should be made static, depending on ABI needs.
10484         (gst_real_pad_dispose): Handle the case of ghost pads without a
10485         parent. Assert after dealing with ghost pads that the ghost pad
10486         list is empty.
10487         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
10488         set after creation.
10489         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
10490         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
10491         functions. set_property will call add_ghost_pad/remove_ghost_pad
10492         as appropriate.
10493         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
10494
10495         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
10496         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
10497         (gst_element_remove_pad): Handle ghost pads as well.
10498         (gst_element_remove_ghost_pad): Deprecated (could be removed,
10499         depending on API-stability needs).
10500
10501 2004-02-05  Andy Wingo  <wingo@pobox.com>
10502
10503         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
10504         of course they're const
10505
10506 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10507
10508         * tools/Makefile.am:
10509         * tools/gst-feedback:
10510         * tools/gst-feedback-0.7:
10511           make gst-feedback versioned too for consistency
10512
10513 2004-02-11  David Schleef  <ds@schleef.org>
10514
10515         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10516         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
10517
10518 2004-02-10  Julien MOUTTE <julien@moutte.net>
10519
10520         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
10521         the structure does not contain a valid tag list. Adding a safety check
10522         to remove a noisy warning in that case.
10523
10524 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10525
10526         * gst/gst.c: fix name to be in line with others
10527
10528 2004-02-09  Julien MOUTTE <julien@moutte.net>
10529
10530         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
10531         not shout that loud when len is 0. Just return 0 silently.
10532
10533 2004-02-09  Julien MOUTTE  <julien@moutte.net>
10534
10535         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
10536         because data_unref has one and I prefer the debug to be symetric.
10537         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
10538         were refed when added to the queue and unrefed only once when the queue
10539         was flushed. Now the flush handler unref the buffers two times : first
10540         unref for the ref added when pushing in the queue's tail and second
10541         unref to destroy the flushed buffer.
10542
10543 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10544
10545         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
10546
10547 2004-02-06  David Schleef  <ds@schleef.org>
10548
10549         * docs/random/ds/0.9-suggested-changes: Random ramblings
10550         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
10551         to int before printing.
10552         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
10553         * gst/parse/parse.l: same.  See bug #129600
10554
10555 2004-02-06  David Schleef  <ds@schleef.org>
10556
10557         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
10558         (gst_index_add_entry), (gst_index_add_associationv),
10559         (gst_index_add_association): Add gst_index_add_associationv()
10560         and clean up gst_index_add_association(). #127133
10561
10562 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10563
10564         * autogen.sh: check out common with right tag if CVS/Tag exists
10565
10566 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10567
10568         * testsuite/ghostpads/ghostpads.c: (main):
10569           fix testsuite from segfaulting
10570
10571 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10572
10573         * Makefile.am: add release target
10574         * configure.ac: bump nano to 1
10575         * docs/random/release:
10576
10577 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10578
10579         * gst/gstcaps.h:
10580         * gst/gstelement.c: (gst_element_base_class_init),
10581         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10582         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10583         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10584         (gst_real_pad_dispose):
10585         * gst/gststructure.c: (gst_structure_free),
10586         (gst_structure_from_string):
10587           put reverted patch back in
10588         * gst/gstelement.c: (gst_element_remove_pad):
10589           free explicit caps if they're set
10590         * gst/gstpad.c: (_gst_pad_default_fixate_func):
10591           copy the structure when fixating
10592
10593 2004-02-05  David Schleef  <ds@schleef.org>
10594
10595         * gst/gstmarshal.list:
10596         * gst/gstpad.c: (gst_real_pad_class_init),
10597         (_gst_real_pad_fixate_accumulator):
10598         Revert POINTER->BOXED change in signal marshaller.
10599
10600 === release 0.7.4 ===
10601                                                                                 
10602 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10603                                                                                 
10604         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
10605         * configure.ac: changed for release
10606
10607 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10608
10609         * gstreamer.spec.in:
10610           bump required version of gtk-doc
10611
10612 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10613
10614         * gst/gstcaps.h:
10615         * gst/gstelement.c: (gst_element_base_class_init),
10616         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10617         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10618         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10619         (gst_real_pad_dispose):
10620         * gst/gststructure.c: (gst_structure_free),
10621         (gst_structure_from_string):
10622           revert patch that breaks applications, reapply after release
10623           to get this fixed properly
10624
10625 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10626
10627         * gst/gsttag.c: (_gst_tag_initialize):
10628         * gst/gsttag.h:
10629           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
10630
10631 2004-02-04  David Schleef  <ds@schleef.org>
10632
10633         Fix some memleaks:
10634         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
10635         (gst_spider_plug_from_srcpad):
10636         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
10637
10638 2004-02-04  David Schleef  <ds@schleef.org>
10639
10640         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
10641         a GstRealPad before accessing its structure members.
10642
10643 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10644
10645         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
10646         (gst_clock_get_speed):
10647         * gst/gstclock.h:
10648           reset padding, remove unused fields
10649
10650 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10651
10652         * gst/autoplug/gstspideridentity.c:
10653         (gst_spider_identity_sink_loop_type_finding):
10654           use get_allowed_caps, not get_caps (fixes #132519)
10655         * gst/elements/gsttypefind.c: (stop_typefinding):
10656           use correct order when sending buffers and seeking
10657
10658 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10659
10660         * configure.ac:
10661         * gst/gstelement.h:
10662         * gst/gstpad.h:
10663         * gst/gstqueue.h:
10664           upgrade libtool CURRENT, reset padding
10665
10666 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10667
10668         * configure.ac:
10669           bump to prerelease
10670           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
10671
10672 2004-02-04  David Schleef  <ds@schleef.org>
10673
10674         * docs/random/ds/0.9-suggested-changes: random notes
10675         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
10676         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
10677         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
10678         expansion.
10679         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10680         (gst_filesink_get_query_types): same
10681         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
10682         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
10683         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
10684         to use new GST_PTR_FORMAT.
10685         * gst/gstelement.h: deprecate function factory macros
10686         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
10687         These are our last variadic macros that can't be replaced with
10688         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
10689         attempting to deprecate gst_element_clock_wait().
10690         * gst/gstevent.h: same
10691         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10692         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
10693         * gst/gstpad.h: deprecate function factory macros similar to above.
10694
10695 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10696
10697         * configure.ac:
10698         * tools/Makefile.am:
10699         * tools/gst-run.c: (popt_callback), (hash_print_key),
10700         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
10701         (get_candidates), (main):
10702           add new source file to generate non-versioned wrapper binaries
10703           for our tools.
10704
10705 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10706
10707         * gst/gstevent.c: (_gst_event_free):
10708           actually break; inside the switch statement
10709         * gst/parse/grammar.y:
10710           fix memleak where GValues weren't unset
10711
10712 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10713
10714         * gst/gststructure.c: (gst_structure_from_string):
10715           fix huge memleak
10716         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10717         (new_entry), (gst_type_find_element_chain):
10718         * gst/gstelement.c: (gst_element_base_class_init),
10719         (gst_element_class_set_details):
10720         * gst/gstpad.c: (gst_pad_can_link_filtered):
10721           fix smaller memleaks
10722         * gst/gstpad.c: (gst_real_pad_dispose):
10723           check that explicit caps are gone
10724         * gst/gststructure.c: (gst_structure_free):
10725           actually free the structure
10726         * gst/gstelement.c: (gst_element_clear_pad_caps):
10727           unset explicit caps
10728
10729 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10730
10731         * tools/Makefile.am:
10732           use AM_CFLAGS since all the CFLAGS are the same
10733           use AM_LDFAGS
10734
10735 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10736
10737         * docs/manual/gnome.xml:
10738           expand example a little
10739         * gst/gst.c: (gst_init_with_popt_table),
10740         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
10741           make sure popt option displays are done with right textdomain
10742           use GstPoptOption type
10743         * gst/gst.h:
10744           create GstPoptOption type
10745
10746 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10747
10748         * gst/gsterror.c: (_gst_stream_errors_init):
10749         * gst/gsterror.h:
10750           adding error type for no codec
10751         * po/POTFILES.in:
10752           add gst-inspect
10753         * po/nl.po:
10754           update dutch translation
10755         * tools/gst-inspect.c: (print_element_list), (main):
10756           do proper internationalization
10757         * tools/gst-launch.c: (idle_func):
10758           remove commented out function call
10759
10760 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10761
10762         * docs/README:
10763           add some error fixing notes
10764         * docs/gst/gstreamer-sections.txt:
10765           remove double entries
10766         * docs/gst/tmpl/gstbin.sgml:
10767         * docs/gst/tmpl/gstclock.sgml:
10768           remove override
10769         * docs/gst/tmpl/gstelement.sgml:
10770         * docs/gst/tmpl/gstindex.sgml:
10771         * docs/gst/tmpl/gstobject.sgml:
10772         * docs/gst/tmpl/gstpadtemplate.sgml:
10773         * docs/gst/tmpl/gstreamer-unused.sgml:
10774         * docs/gst/tmpl/gsttag.sgml:
10775         * docs/gst/tmpl/gstthread.sgml:
10776         * docs/gst/tmpl/gstxml.sgml:
10777         * gst/gsttag.h:
10778           sync header prototypes with c decls
10779         * gst/gsttaginterface.c:
10780           fix doc headers
10781
10782 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10783
10784         * gst/parse/Makefile.am:
10785         * gst/gstobject.h:
10786           get rid of gstmarshal.h dependency. It's not needed.
10787         * gst/gst.h:
10788         * gst/elements/gstfakesink.c:
10789         * gst/elements/gstfakesrc.c:
10790         * gst/elements/gstidentity.c:
10791         * gst/gstbin.c:
10792         * gst/gstelement.c:
10793         * gst/gstindex.c:
10794         * gst/gstobject.c:
10795         * gst/gstpad.c:
10796         * gst/gstthread.c:
10797         * gst/gstxml.c:
10798         * libs/gst/control/dparam.c:
10799         * libs/gst/control/dparammanager.c:
10800           include gstmarshal.h.
10801         Fixes #132045
10802
10803 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10804
10805         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10806         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
10807         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
10808         * gst/elements/gstfilesrc.h:
10809           don't ref the filesrc when creating mmaped buffers. Don't keep a
10810           list of not-yet-destroyed buffers.
10811         * gst/gstbuffer.h:
10812           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
10813
10814 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10815
10816         * gst/gst.c: (init_pre):
10817           remove textdomain
10818
10819 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10820
10821         * docs/pwg/advanced-events.xml:
10822         * docs/pwg/advanced-scheduling.xml:
10823         * docs/pwg/intro-basics.xml:
10824         * docs/pwg/other-manager.xml:
10825         * docs/pwg/other-nton.xml:
10826         * docs/pwg/other-ntoone.xml:
10827         * docs/pwg/other-oneton.xml:
10828         * docs/pwg/pwg.xml:
10829           All sort of documentation... Forgot what. Point is that I want this
10830           in before I leave. The 'other-*' will be the last section and will
10831           explain issues specific to these type of elements.
10832
10833 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10834
10835         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10836         (gst_filesrc_get_read):
10837           set all the values on buffers that we can
10838
10839 2004-02-02  David Schleef  <ds@schleef.org>
10840
10841         Change usage of isblah() to g_ascii_isblah() to be more locale
10842         independent.  (#133076)
10843         * gst/gsturi.c: (gst_uri_protocol_check_internal):
10844         * gst/gstutils.c:
10845         * gst/parse/parse.l:
10846
10847 2004-02-02  Jon Trowbridge  <trow@gnu.org>
10848
10849         reviewed by: David Schleef  <ds@schleef.org>
10850
10851         Fix memory leaks:
10852         * gst/gstcaps.c: (gst_caps_to_string):
10853         * gst/registries/gstxmlregistry.c:
10854         (gst_xml_registry_add_path_list_func),
10855         (gst_xml_registry_parse_padtemplate):
10856
10857 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10858
10859         * gst/gstelement.c: (gst_element_default_error):
10860           suffix error messages with period
10861
10862 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10863
10864         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10865         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10866         * gst/gsterror.c: (gst_error_get_message):
10867           Suffix with dots
10868         * po/fr.po:
10869         * po/nl.po:
10870           Update translation files
10871
10872 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10873
10874         * gst/autoplug/gstspideridentity.c:
10875         (gst_spider_identity_sink_loop_type_finding):
10876         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10877         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10878         (gst_filesink_close_file), (gst_filesink_handle_event),
10879         (gst_filesink_chain):
10880         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10881         (gst_filesrc_get_read), (gst_filesrc_open_file):
10882         * gst/elements/gstidentity.c: (gst_identity_chain):
10883         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10884         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10885         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10886         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10887         * gst/gsterror.c: (_gst_core_errors_init),
10888         (_gst_library_errors_init), (_gst_resource_errors_init),
10889         (_gst_stream_errors_init), (gst_error_get_message):
10890         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10891         (gst_pad_recover_caps_error), (gst_pad_pull):
10892         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10893         * gst/schedulers/gstbasicscheduler.c:
10894         (gst_basic_scheduler_chainhandler_proxy),
10895         (gst_basic_scheduler_gethandler_proxy),
10896         (gst_basic_scheduler_cothreaded_chain):
10897           Suffix error messages with period.
10898           Use (NULL) instead of NULL
10899
10900 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10901
10902         * docs/gst/tmpl/gstelement.sgml:
10903         * docs/gst/tmpl/gstxml.sgml:
10904         * gst/gstelement.c: (gst_element_error_full):
10905           add element path to error
10906
10907 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10908
10909         * docs/random/mimetypes:
10910           update raw int/float info
10911         * gst/gsttag.c: (_gst_tag_initialize):
10912         * gst/gsttag.h:
10913           add GST_TAG_ENCODER
10914
10915 2004-01-30  David Schleef  <ds@schleef.org>
10916
10917         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
10918           missing (#132991)
10919
10920 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
10921
10922         reviewed by Benjamin Otte 
10923           parts of the patch submitted in bug #113913
10924
10925         * configure.ac:
10926           use AC_C_INLINE. Use = instead of == with test
10927         * examples/plugins/example.c:
10928         * gst/autoplug/gstspideridentity.c:
10929         * gst/elements/gstfdsrc.c:
10930         * gst/elements/gstfilesrc.c:
10931         * gst/elements/gstidentity.c:
10932         * gst/elements/gstmultidisksrc.c:
10933         * gst/elements/gststatistics.c:
10934         * gst/gstelement.c:
10935         * gst/gstobject.c:
10936         * gst/gstpad.c:
10937         * gst/gstpipeline.c:
10938         * gst/gstthread.c:
10939           don't end enums with a comma
10940         * gst/gstindex.c: (gst_index_compare_func):
10941           do explicit casting to gint
10942         * gst/gsttrace.c: (gst_trace_text_flush):
10943           #define strsize as a macro
10944
10945 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10946
10947         * docs/README:
10948         * docs/gst/gstreamer-docs.sgml:
10949         * docs/gst/gstreamer-sections.txt:
10950         * docs/gst/tmpl/gstelement.sgml:
10951         * docs/gst/tmpl/gsterror.sgml:
10952         * docs/gst/tmpl/gstinterface.sgml:
10953         * docs/gst/tmpl/gstreamer-unused.sgml:
10954         * docs/gst/tmpl/gststructure.sgml:
10955         * docs/gst/tmpl/gsttag.sgml:
10956         * docs/gst/tmpl/gsttaginterface.sgml:
10957         * docs/gst/tmpl/gstvalue.sgml:
10958         make sure all API ends up in the built docs
10959         * gst/gstinterface.c:
10960         * gst/gststructure.c: (gst_structure_id_set_value),
10961         (gst_structure_set_value), (gst_structure_id_get_value):
10962         * gst/gststructure.h:
10963         * gst/gstvalue.h:
10964         sync .h with .c declarations
10965
10966 2004-01-30  Julien Moutte  <julien@moutte.net>
10967
10968         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
10969         Ronald will fix riffread.
10970
10971 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10972
10973         * docs/pwg/advanced-interfaces.xml:
10974           Added tuner interface docs.
10975
10976 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10977
10978         * docs/random/mimetypes:
10979           correct Theora information
10980         * gst/gstelement.h:
10981           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
10982
10983 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10984
10985         * gst/gstelement.c: (gst_element_error_full):
10986         * gst/gstelement.h:
10987           GST_ELEMENT_ERROR in enum -> _IN_ERROR
10988
10989 2004-01-29  Julien MOUTTE  <julien@moutte.net>
10990
10991         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10992         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
10993         again and even before DISCONT.
10994         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
10995         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
10996         bytestream so that it's not stopping to fill the bytestream if events
10997         different than EOS or DISCONT are received. Instead it process them so
10998         that they go downstream.
10999
11000 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11001
11002         * docs/gst/tmpl/gstelement.sgml:
11003         * docs/gst/tmpl/gstreamer-unused.sgml:
11004         * docs/gst/tmpl/gstxml.sgml:
11005         * gst/autoplug/gstspideridentity.c:
11006         (gst_spider_identity_sink_loop_type_finding):
11007         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11008         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11009         (gst_filesink_close_file), (gst_filesink_handle_event),
11010         (gst_filesink_chain):
11011         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11012         (gst_filesrc_get_read), (gst_filesrc_open_file):
11013         * gst/elements/gstidentity.c: (gst_identity_chain):
11014         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11015         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11016         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11017         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11018         * gst/gstelement.h:
11019         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11020         (gst_pad_recover_caps_error), (gst_pad_pull):
11021         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11022         * gst/schedulers/gstbasicscheduler.c:
11023         (gst_basic_scheduler_chainhandler_proxy),
11024         (gst_basic_scheduler_gethandler_proxy),
11025         (gst_basic_scheduler_cothreaded_chain):
11026           gst_element_error -> GST_ELEMENT_ERROR
11027
11028 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11029
11030         * docs/Makefile.am:
11031         * docs/gst/tmpl/gstelement.sgml:
11032         * docs/gst/tmpl/gstxml.sgml:
11033         * docs/manuals.mak:
11034         * docs/pwg/advanced-request.xml:
11035         * docs/pwg/advanced-scheduling.xml:
11036         * docs/pwg/advanced-tagging.xml:
11037           fix non-validating docbook using CDATA
11038           make sure make check-local gets run first to check if it validates
11039
11040 2004-01-29  Julien MOUTTE <julien@moutte.net>
11041
11042         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
11043         handling (up and downstream).
11044         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
11045         my_filter thing.
11046
11047 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11048
11049         * docs/pwg/advanced-tagging.xml:
11050           Add docs about tag writing.
11051
11052 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11053
11054         * docs/pwg/advanced-tagging.xml:
11055           Add a part about tag reading and application signalling... Tag
11056           writing still needs to be documented.
11057         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11058           We can set file locations in READY, too.
11059
11060 2004-01-29  Julien MOUTTE <julien@moutte.net>
11061
11062         * docs/random/ds/element-checklist: Adding some notes about src
11063         events.
11064
11065 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11066
11067         * docs/random/mimetypes:
11068           Update docs to point to correct elements for various mimetypes, and
11069           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
11070           <stephane.loeuillet@tiscali.fr>.
11071
11072 2004-01-28  David Schleef  <ds@schleef.org>
11073
11074         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
11075
11076 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11077
11078         * docs/random/mimetypes:
11079           update docs for audio/x-raw-float. Add "buffer-frames=0 means
11080           undefined"
11081         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11082           make it only work in NULL.
11083         * gst/gstcaps.c:
11084           don't posion NULL caps
11085         * gst/gstelement.c: (gst_element_set_time):
11086           add debugging statement
11087         * gst/gstelement.c: (gst_element_emit_found_tag),
11088         (gst_element_found_tag_func), (gst_element_found_tags):
11089         * gst/gstelement.h:
11090           These functions take const taglists
11091         * gst/gstpad.c: (gst_pad_proxy_getcaps):
11092           fix memleak
11093         * gst/gstpad.c: (gst_pad_event_default):
11094           make more effort on handling discont and clocks, g_warn if everything
11095           fails
11096         * gst/gststructure.c: (gst_structure_remove_fields),
11097         (gst_structure_remove_fields_valist):
11098         * gst/gststructure.h:
11099           add gst_structure_remove_fields(_valist)
11100         * gst/gsttag.c:
11101           fix doc glitch
11102
11103 2004-01-28  David Schleef  <ds@schleef.org>
11104
11105         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
11106         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
11107         Fix memory leakage of gst_caps_to_string().
11108
11109         Use GST_PTR_FORMAT instead of gst_caps_to_string():
11110         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
11111         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
11112         (gst_spider_identity_sink_loop_type_finding):
11113         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11114         (find_suggest):
11115         * gst/gstpad.c: (gst_pad_try_relink_filtered),
11116         (gst_pad_set_explicit_caps):
11117         * gst/parse/grammar.y:
11118
11119 2004-01-28  David Schleef  <ds@schleef.org>
11120
11121         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
11122         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
11123         * docs/random/ds/0.9-suggested-changes: Notes from Company.
11124         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
11125         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
11126         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
11127         (gst_debug_log_default), (_gst_info_printf_extension),
11128         (_gst_info_printf_extension_arginfo):  Add printf extension.
11129         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
11130         * gst/gststructure.c: (gst_structure_to_string),
11131         (_gst_structure_parse_value): Use gst_value_deserialize() and
11132         remove old code.
11133         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
11134         (gst_value_deserialize_boolean), (gst_strtoi),
11135         (gst_value_deserialize_int), (gst_value_deserialize_double),
11136         (gst_value_deserialize_string), (gst_value_deserialize): Implement
11137         a bunch of deserialize functions and gst_value_deserialize.
11138         * gst/gstvalue.h: er, _de_serialize, not unserialize
11139         * testsuite/caps/string-conversions.c: (main): We don't currently
11140         handle (float) in caps, so convert these to (double).
11141         * testsuite/debug/Makefile.am: Add new test for the printf extension
11142         * testsuite/debug/printf_extension.c: (main): same
11143
11144 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11145
11146         * docs/random/company/time:
11147           Add some docs about clocking and time
11148
11149 2004-01-28  Julien MOUTTE <julien@moutte.net>
11150
11151         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
11152
11153 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11154
11155         * docs/pwg/advanced-clock.xml:
11156         * docs/pwg/advanced-dparams.xml:
11157         * docs/pwg/advanced-events.xml:
11158         * docs/pwg/advanced-interfaces.xml:
11159         * docs/pwg/advanced-midi.xml:
11160         * docs/pwg/advanced-request.xml:
11161         * docs/pwg/advanced-scheduling.xml:
11162         * docs/pwg/advanced-tagging.xml:
11163         * docs/pwg/advanced-types.xml:
11164         * docs/pwg/appendix-checklist.xml:
11165         * docs/pwg/building-boiler.xml:
11166         * docs/pwg/building-chainfn.xml:
11167         * docs/pwg/building-filterfactory.xml:
11168         * docs/pwg/building-pads.xml:
11169         * docs/pwg/building-props.xml:
11170         * docs/pwg/building-signals.xml:
11171         * docs/pwg/building-state.xml:
11172         * docs/pwg/building-testapp.xml:
11173         * docs/pwg/intro-basics.xml:
11174         * docs/pwg/intro-preface.xml:
11175         * docs/pwg/other-autoplugger.xml:
11176         * docs/pwg/other-sink.xml:
11177         * docs/pwg/other-source.xml:
11178         * docs/pwg/titlepage.xml:
11179           fix up id's
11180
11181 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11182
11183         * docs/95NonPath:
11184         * docs/HACKING:
11185         * docs/README:
11186         * docs/building-the-docs-on-debian:
11187           collect relevant bits of doc info
11188
11189 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11190
11191         * docs/pwg/advanced_tagging.xml:
11192           Half-assed commit so Thomas can re-arrange document IDs here to be
11193           consistent, too.
11194
11195 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11196
11197         * docs/manual/autoplugging.xml:
11198         * docs/manual/bins-api.xml:
11199         * docs/manual/bins.xml:
11200         * docs/manual/buffers-api.xml:
11201         * docs/manual/buffers.xml:
11202         * docs/manual/clocks.xml:
11203         * docs/manual/components.xml:
11204         * docs/manual/cothreads.xml:
11205         * docs/manual/debugging.xml:
11206         * docs/manual/dparams-app.xml:
11207         * docs/manual/dynamic.xml:
11208         * docs/manual/elements-api.xml:
11209         * docs/manual/elements.xml:
11210         * docs/manual/factories.xml:
11211         * docs/manual/gnome.xml:
11212         * docs/manual/goals.xml:
11213         * docs/manual/helloworld.xml:
11214         * docs/manual/helloworld2.xml:
11215         * docs/manual/init-api.xml:
11216         * docs/manual/intro.xml:
11217         * docs/manual/links-api.xml:
11218         * docs/manual/links.xml:
11219         * docs/manual/manual.xml:
11220         * docs/manual/motivation.xml:
11221         * docs/manual/pads-api.xml:
11222         * docs/manual/pads.xml:
11223         * docs/manual/plugins-api.xml:
11224         * docs/manual/plugins.xml:
11225         * docs/manual/programs.xml:
11226         * docs/manual/queues.xml:
11227         * docs/manual/quotes.xml:
11228         * docs/manual/schedulers.xml:
11229         * docs/manual/states-api.xml:
11230         * docs/manual/states.xml:
11231         * docs/manual/threads.xml:
11232         * docs/manual/typedetection.xml:
11233         * docs/manual/xml.xml:
11234           use chapter, part, section or misc as id starts for all bits
11235
11236 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11237
11238         * docs/gst/gstreamer-sections.txt:
11239           Fix up TITLE of the sections
11240
11241 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11242
11243         * docs/pwg/advanced_interfaces.xml:
11244           Add documentation on propertyprobing.
11245         * docs/pwg/advanced_events.xml:
11246         * docs/pwg/advanced_tagging.xml:
11247         * docs/pwg/building_boiler.xml:
11248         * docs/pwg/building_filterfactory.xml:
11249         * docs/pwg/pwg.xml:
11250           Move filterfactory and tagging into their own chapter, add a chapter
11251           on events. all these are empty placeholders that will be filled in
11252           some day.
11253
11254 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11255
11256         * docs/pwg/advanced_interfaces.xml:
11257           Docs for mixer interface. Also a check for website uploading.
11258
11259 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11260
11261         * docs/HACKING:
11262         * docs/Makefile.am:
11263         * docs/faq/Makefile.am:
11264         * docs/gst/Makefile.am:
11265         * docs/gst/tmpl/gstelement.sgml:
11266         * docs/gst/tmpl/gstplugin.sgml:
11267         * docs/gst/tmpl/gstreamer-unused.sgml:
11268         * docs/libs/Makefile.am:
11269         * docs/manual/Makefile.am:
11270         * docs/manuals.mak:
11271         * docs/pwg/Makefile.am:
11272         * docs/upload.mak:
11273           Separate out upload target and make it similar for
11274           both docbook and gtk-doc docs
11275
11276 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11277
11278         * docs/manuals.mak:
11279           Fix upload target to work with freedesktop
11280
11281 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11282
11283         * docs/pwg/advanced_types.xml:
11284           Add notes on creating your own types.
11285         * docs/pwg/building_boiler.xml:
11286         * docs/pwg/building_pads.xml:
11287         * docs/pwg/building_state.xml:
11288           Add some stuff about how to retrieve values from structures, how
11289           that relates to types and change layout slightly again to be almost
11290           perfect.
11291
11292 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11293
11294         * docs/pwg/advanced_dparams.xml:
11295         * docs/pwg/advanced_scheduling.xml:
11296           Change index layout slightly.
11297
11298 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11299
11300         * docs/pwg/advanced_clock.xml:
11301         * docs/pwg/advanced_interfaces.xml:
11302         * docs/pwg/advanced_midi.xml:
11303           General placeholders for now.
11304         * docs/pwg/advanced_request.xml:
11305           Explanation about sometimes and request pads.
11306         * docs/pwg/advanced_scheduling.xml:
11307           Concept of bytestream, loopfunctions and schedulers.
11308         * docs/pwg/building_boiler.xml:
11309           Add something about plugin-init.
11310
11311 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11312
11313         * docs/pwg/building_pads.xml:
11314           Fix broken docbook
11315
11316 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11317
11318         * docs/pwg/advanced_interfaces.xml:
11319         * docs/pwg/pwg.xml:
11320           Add as a placeholder for future filling-in.
11321         * docs/pwg/basics_autoplugging.xml:
11322         * docs/pwg/basics_buffers.xml:
11323         * docs/pwg/basics_elements.xml:
11324         * docs/pwg/basics_events.xml:
11325         * docs/pwg/basics_plugins.xml:
11326         * docs/pwg/basics_types.xml:
11327           Remove, because unused (this is all in intro_basics.xml).
11328         * docs/pwg/building_signals.xml:
11329           Short intro to signals + reference to GObject docs - we really
11330           shouldn't go into these sort of things to deply because we don't
11331           use them that extensively anyway.
11332         * docs/pwg/building_state.xml:
11333           Explanation of states. Benjamin, please check.
11334         * docs/pwg/building_testapp.xml:
11335           Put everything in one page - putting only a few lines of content
11336           per page doesn't really make sense.
11337
11338           Time to get into the advanced topics. ;).
11339
11340 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11341
11342         * docs/pwg/advanced_types.xml:
11343           Finish documenting the current state of mimetypes.
11344         * docs/pwg/building_boiler.xml:
11345         * docs/pwg/building_chainfn.xml:
11346         * docs/pwg/building_pads.xml:
11347         * docs/pwg/building_props.xml:
11348         * docs/pwg/building_testapp.xml:
11349           Start documenting the "how to build a simple audio filter" part
11350           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
11351           states and (maybe?) a short introduction to capsnego in the chapter
11352           on pads (building_pads.xml). Capsnego should probably be explained
11353           fully in advanced_capsnego.xml or so.
11354
11355 2004-01-26  David Schleef  <ds@schleef.org>
11356
11357         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
11358         * gst/gstpad.h: Add new function to allow element to (somewhat)
11359         specify non-fixed caps on a pad.
11360         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
11361         that I added a few weeks ago.
11362
11363 2004-01-26  David Schleef  <ds@schleef.org>
11364
11365         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
11366           making try_set_caps() work with non-fixed caps.
11367
11368 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11369
11370         * docs/pwg/advanced_types.xml:
11371         * docs/pwg/intro_basics.xml:
11372         * docs/pwg/intro_preface.xml:
11373         * docs/pwg/pwg.xml:
11374         * docs/pwg/titlepage.xml:
11375           First try to resurrect the PWG. I'm halfway integrating the mimetypes
11376           in here (docs/random/mimetypes), and will from there on work on both
11377           updating outdated parts and adding missing parts.
11378           That doesn't mean I'll fix it completely, but I'll try at least. ;).
11379
11380 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11381
11382         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
11383           policy is set
11384
11385 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11386
11387         * gst/gstelement.h:
11388           remove gst_element_factory_get_version. It doesn't exist anymore.
11389         * gst/gstplugin.c:
11390         * gst/gstplugin.h:
11391           remove gst_plugin_set_name and change gst_plugin_get_longname to
11392           gst_plugin_get_description to match code.
11393         * gst/gsterror.h:
11394           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
11395         * gst/gstpad.c: (gst_pad_try_set_caps):
11396           make it work with nonfixed caps.
11397           Note that even in the nonfixed case the link function of the pad
11398           that tries to set caps isn't called.
11399
11400 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11401
11402         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11403           fix bug where buffer was not assembled correctly
11404         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
11405           silence by default
11406         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11407           only seek if there's no more buffers that could work without seeking
11408
11409 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11410
11411         * gst/gsttag.c: (_gst_tag_initialize):
11412         * gst/gsttag.h:
11413           Add application tag (for encoding/muxing app).
11414
11415 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11416
11417         * autogen.sh:
11418           make autopoint force, and libtoolize not copy
11419         * common/m4/as-docbook.m4:
11420           added docbook xml catalog setup check
11421         * common/m4/gst-doc.m4:
11422           use docbook check
11423
11424 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11425
11426         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
11427         * gst/gsttag.h:
11428           add GstTagFlag
11429
11430 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11431
11432         * docs/gst/gstreamer-sections.txt:
11433         * docs/gst/tmpl/gst.sgml:
11434         * docs/gst/tmpl/gstbuffer.sgml:
11435         * docs/gst/tmpl/gstclock.sgml:
11436         * docs/gst/tmpl/gstelement.sgml:
11437         * docs/gst/tmpl/gstreamer-unused.sgml:
11438         * docs/gst/tmpl/gstxml.sgml:
11439           sync latest API changes to docs
11440
11441 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11442
11443         * gst/gstpluginfeature.c:
11444           fix doc snippet
11445         * tools/gst-inspect.c: (print_element_list):
11446           fix output of typefind
11447           add GPL header
11448         * tools/gst-launch.c:
11449           add GPL header
11450
11451 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11452
11453         * gst/elements/Makefile.am:
11454         * gst/elements/gstelements.c:
11455         * gst/elements/gsttypefindelement.c:
11456         * gst/elements/gsttypefindelement.h:
11457         * po/POTFILES.in:
11458         * po/fr.po:
11459         * po/nl.po:
11460           renamed gsttypefindelement to gsttypefind, conserving CVS history
11461
11462 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11463
11464         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
11465         * gst/gsttag.h:
11466           add some tags used in ogg as well
11467           fix _ in replaygain tags
11468
11469 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11470
11471         * gst/gsterror.h:
11472           fix wrong GST_LIBRARY_ERROR_ENCODE addition
11473
11474 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11475
11476         * gst/gstelement.c: (gst_element_error_full):
11477         * gst/gstelement.h:
11478           change _extended to _full
11479
11480 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11481
11482         reviewed by: <delete if not using a buddy>
11483
11484         * docs/gst/tmpl/gst.sgml:
11485         * docs/gst/tmpl/gstbuffer.sgml:
11486         * docs/gst/tmpl/gstclock.sgml:
11487         * docs/gst/tmpl/gstelement.sgml:
11488         * docs/gst/tmpl/gstreamer-unused.sgml:
11489         * docs/gst/tmpl/gstxml.sgml:
11490         * gst/gstelement.c: (gst_element_error_full):
11491         * gst/gstelement.h:
11492
11493 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11494
11495         * gst/gstelement.h: fix _gst_element_error_printf prototype
11496
11497 2004-01-20  David Schleef  <ds@schleef.org>
11498
11499         * gst/gststructure.c: (gst_structure_to_string):
11500         Convert function to use gst_value_serialize().
11501         * gst/gstvalue.c: (gst_value_serialize_list),
11502         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
11503         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
11504         (gst_value_serialize_int), (gst_value_serialize_double),
11505         (gst_string_wrap), (gst_value_serialize_string),
11506         (gst_value_serialize), (gst_value_deserialize):
11507         * gst/gstvalue.h:
11508         Add implementations for serialize.
11509
11510 2004-01-20  Julien MOUTTE  <julien@moutte.net>
11511
11512         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
11513         we want to keep that one in the future or change xvidenc.c to use 
11514         another error.
11515
11516 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11517
11518         * gst/gstelement.c: (_gst_element_error_printf):
11519         * gst/gstelement.h:
11520           privatise function
11521
11522 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11523
11524         * docs/random/error:
11525           doc explaining error system
11526         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11527           cleanup
11528
11529 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11530
11531         * gst/gst-i18n-app.h:
11532         * gst/gst-i18n-lib.h:
11533           remove inclusion of config.h
11534         * po/POTFILES.in:
11535         * po/nl.po:
11536           add gst/gstelement.c
11537
11538 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11539
11540         * po/nl.po: updated Dutch translation
11541
11542 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11543
11544         * gst/gsterror.c: (_gst_core_errors_init),
11545         (_gst_library_errors_init), (_gst_resource_errors_init),
11546         (_gst_stream_errors_init):
11547         remove ending punctuation dots
11548
11549 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11550
11551         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11552         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
11553         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11554         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11555         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11556         use GST_ERROR_SYSTEM
11557
11558 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11559
11560         * gst/gstelement.c: (gst_element_error_printf),
11561         (gst_element_error_extended):
11562         * gst/gstelement.h:
11563           add a helper printf function so we can have NULL values passed.
11564
11565 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11566
11567         * gst/gstelement.h:
11568           add G_STMT macros to gst_element_error, which isn't strictly
11569           necessary but people tell me to anyway.
11570
11571 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11572
11573         * gst/Makefile.am:
11574         * gst/autoplug/gstspideridentity.c:
11575         (gst_spider_identity_sink_loop_type_finding):
11576         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11577         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11578         (gst_filesink_close_file), (gst_filesink_handle_event),
11579         (gst_filesink_chain):
11580         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
11581         (gst_filesrc_map_region), (gst_filesrc_get_read),
11582         (gst_filesrc_open_file):
11583         * gst/elements/gstidentity.c: (gst_identity_chain):
11584         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11585         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11586         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11587         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
11588         * gst/gst.h:
11589         * gst/gst_private.h:
11590         * gst/gstelement.c: (gst_element_class_init),
11591         (gst_element_default_error), (gst_element_error_func),
11592         (gst_element_error_extended):
11593         * gst/gstelement.h:
11594         * gst/gsterror.c: (_gst_core_errors_init),
11595         (_gst_library_errors_init), (_gst_resource_errors_init),
11596         (_gst_stream_errors_init), (gst_error_get_message):
11597         * gst/gsterror.h:
11598         * gst/gstinfo.c: (_gst_debug_init):
11599         * gst/gstmarshal.list:
11600         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11601         (gst_pad_recover_caps_error), (gst_pad_pull):
11602         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11603         * gst/schedulers/gstbasicscheduler.c:
11604         (gst_basic_scheduler_chainhandler_proxy),
11605         (gst_basic_scheduler_gethandler_proxy),
11606         (gst_basic_scheduler_cothreaded_chain):
11607         * po/POTFILES.in:
11608         * po/fr.po:
11609         * po/nl.po:
11610           change error signal
11611           add error categories
11612
11613 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
11614
11615         * gst/gsttag.c: (_gst_tag_initialize):
11616         * gst/gsttag.h:
11617         Add replaygain tag
11618
11619 2004-01-18  Colin Walters  <walters@verbum.org>
11620
11621         * examples/retag/retag.c: Call gst_init before processing
11622         program args.  Add g_assert to _link_many call.
11623
11624 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11625
11626         * gst/gstpad.c: (gst_pad_alloc_buffer):
11627           Return a newly allocated buffer when the pad has no peer.
11628
11629 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11630
11631         * gst/gstclock.c: (gst_clock_get_time):
11632           make it compile with gcc 2.95 again.
11633           Patch by Scott Wheeler
11634
11635 2004-01-15  David Schleef  <ds@schleef.org>
11636
11637         * gst/gstcaps.h:
11638         Added gst_caps_is_simple() macro.
11639         * testsuite/caps/caps.c: (test1):
11640         * testsuite/caps/intersect2.c: (main):
11641         * testsuite/caps/intersection.c: (main):
11642         Fixes to make 'make check' work again after removing
11643         gst_caps_is_chained().
11644
11645 2004-01-15  Leif Johnson <leif@ambient.2y.net>
11646
11647         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
11648         and additions to the MIDI document.
11649
11650 2004-01-15  David Schleef  <ds@schleef.org>
11651
11652         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
11653         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
11654         of GST_RPAD_, since we don't know if it's a real or ghost pad.
11655
11656 2004-01-15  David Schleef  <ds@schleef.org>
11657
11658         * gst/gstqueue.c:
11659         * gst/gstqueue.h:
11660         Fix the spelling of "treshold" and make min_threshold actually
11661         affect the queue.
11662
11663 2004-01-15  David Schleef  <ds@schleef.org>
11664
11665         * gst/gstcaps.c:
11666         Add lots of documentation.
11667         * gst/gstcaps.h:
11668         Deprecate a few functions.
11669         * gst/gstpad.c:
11670         Removed use of deprecated functions.
11671
11672 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11673
11674         * gst/gstpad.c: (gst_pad_is_linked):
11675         * gst/gstpad.h:
11676           implement gst_pad_is_linked
11677         * gst/gstelement.h:
11678           reserve space for initiate_state_change
11679
11680 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11681
11682         * gst/autoplug/gstspideridentity.c:
11683         (gst_spider_identity_sink_loop_type_finding):
11684           break infinite loop by just returning instead of looping
11685         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
11686           set event time difference correctly. Set it to 1 second instead
11687           of 100ms to be more tolerant
11688         * gst/gstelement.c: (gst_element_set_time):
11689           add debugging output
11690
11691 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11692
11693         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
11694           query if buffers are inside the pool, ignore events
11695
11696 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11697
11698         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
11699         (gst_clock_set_speed), (gst_clock_set_active),
11700         (gst_clock_is_active), (gst_clock_reset),
11701         (gst_clock_handle_discont):
11702         * gst/gstclock.h:
11703           deprecate old interface and disable functions that aren't in use
11704           anymore.
11705         * gst/gstelement.h:
11706         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
11707         (gst_element_set_time), (gst_element_adjust_time):
11708           add concept of "element time" and functions to get/set this time.
11709         * gst/gstelement.c: (gst_element_change_state):
11710           update element time correctly.
11711         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11712           This is a debug message, not a g_critical.
11713         * gst/gstpad.c: (gst_pad_event_default):
11714           handle discontinuous events right with element time.
11715         * gst/gstscheduler.c: (gst_scheduler_state_transition):
11716           update to clocking fixes.
11717           set clocks on elements in READY=>PAUSED. The old behaviour caused
11718           a wrong element time on the first element that started playing.
11719         * gst/schedulers/gstbasicscheduler.c:
11720         (gst_basic_scheduler_class_init):
11721         * gst/schedulers/gstoptimalscheduler.c:
11722         (gst_opt_scheduler_class_init):
11723           remove code that just implements the default behaviour.
11724         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
11725           update to use new clocking functions
11726         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
11727         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
11728           update to test new element time.
11729         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
11730           use _get_allowed_caps instead of _get_caps. This catches filtered
11731           caps correctly.
11732         * testsuite/debug/commandline.c:
11733           update for new GST_DEBUG syntax.
11734         * testsuite/threads/Makefile.am:
11735           disable a test that only works sometimes.
11736
11737 2004-01-13  Julien MOUTTE <julien@moutte.net>
11738
11739         * po/LINGUAS: Adding fr.
11740         * po/fr.po: Adding french translation.
11741
11742 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11743
11744         * gst/parse/grammar.y:
11745         * po/POTFILES.in:
11746         * po/nl.po:
11747         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
11748           translate parsing error messages
11749
11750 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11751
11752         * po/POTFILES.in: adding gst-launch
11753         * po/nl.po: updated translation, all 99 strings translated
11754         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
11755         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
11756           fix strings for translation
11757
11758 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11759
11760         * gst/gst.c:
11761           - capitalize beginnings of popt options
11762           - fix strings for translation
11763           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
11764
11765 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11766
11767         * po/README: add some notes on how to update translations
11768
11769 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11770
11771         * ABOUT-NLS: removed, is autogenerated from autopoint
11772         * autogen.sh: add autopoint stuff
11773         * configure.ac: fix up gettext stuff
11774         * gst/Makefile.am: add i18n headers to noinst_HEADERS
11775         * gst/elements/gsttypefindelement.c: add header include
11776         * gst/gettext.h: add header, copy from system-installed header
11777         * gst/gst-i18n-app.h: to be included by each app having translations
11778         * gst/gst-i18n-lib.h: to be included by each lib having translations
11779         * gst/gst.c: (init_pre): fix up gettext calls
11780         * gst/gst_private.h: remove i18n stuff, moving to separate headers
11781         * po/LINGUAS: the new way to specify translations present
11782         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
11783         * po/Makevars: the variables filled in for GStreamer
11784         * po/POTFILES.in: added new files with translations
11785         * po/de.po: has new strings
11786         * po/nl.po: readded, has new strings
11787
11788 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11789
11790         * gst/gsttag.c: fix some strings marked for translation
11791
11792 2004-01-13  Iain <iain@prettypeople.org>
11793
11794         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
11795         group when we add an element to it, cos we unref it when we remove one
11796
11797 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11798
11799         * testsuite/debug/commandline.c: (debug_not_reached):
11800         * testsuite/debug/output.c: (check_message):
11801           fix testsuite
11802
11803 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11804
11805         * examples/cutter/.cvsignore:
11806         * examples/helloworld/.cvsignore:
11807         * examples/launch/.cvsignore:
11808         * examples/manual/.cvsignore:
11809         * examples/mixer/.cvsignore:
11810         * examples/pingpong/.cvsignore:
11811         * examples/plugins/.cvsignore:
11812         * examples/queue/.cvsignore:
11813         * examples/queue2/.cvsignore:
11814         * examples/queue3/.cvsignore:
11815         * examples/queue4/.cvsignore:
11816         * examples/retag/.cvsignore:
11817         * examples/thread/.cvsignore:
11818         * examples/typefind/.cvsignore:
11819         * examples/xml/.cvsignore:
11820         * gst/.cvsignore:
11821         * gst/autoplug/.cvsignore:
11822         * gst/elements/.cvsignore:
11823         * gst/indexers/.cvsignore:
11824         * gst/parse/.cvsignore:
11825         * gst/registries/.cvsignore:
11826         * gst/schedulers/.cvsignore:
11827         * libs/gst/bytestream/.cvsignore:
11828         * libs/gst/control/.cvsignore:
11829         * libs/gst/getbits/.cvsignore:
11830         * tests/.cvsignore:
11831         * tests/bufspeed/.cvsignore:
11832         * tests/instantiate/.cvsignore:
11833         * tests/memchunk/.cvsignore:
11834         * tests/muxing/.cvsignore:
11835         * tests/sched/.cvsignore:
11836         * tests/seeking/.cvsignore:
11837         * tests/threadstate/.cvsignore:
11838         * testsuite/.cvsignore:
11839         * testsuite/caps/.cvsignore:
11840         * testsuite/cleanup/.cvsignore:
11841         * testsuite/dynparams/.cvsignore:
11842         * testsuite/plugin/.cvsignore:
11843         * tools/.cvsignore:
11844           update - this is huge, because it includes *.bb, *.bbg and *.da files
11845           which are generated for gcov.
11846
11847 2004-01-11  David Schleef  <ds@schleef.org>
11848
11849         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
11850         a function to parse integers in ways that strto[u]l() does not.
11851
11852 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11853
11854         * tools/gst-inspect.c: (print_caps):
11855           improve output of caps a bit
11856
11857 2004-01-11  David Schleef  <ds@schleef.org>
11858
11859         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
11860         inherit correct flags (READONLY and DONTKEEP).
11861
11862 2004-01-11  David Schleef  <ds@schleef.org>
11863
11864         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
11865         (gst_filesrc_map_region):
11866         * gst/gstbuffer.c: (_gst_buffer_initialize),
11867         (_gst_buffer_sub_free), (gst_buffer_default_copy),
11868         (gst_buffer_new), (gst_buffer_create_sub),
11869         (gst_buffer_is_span_fast), (gst_buffer_span):
11870         * gst/gstbuffer.h:
11871         Change GstBuffer private structure element names. (all files)
11872         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11873         (gst_queue_link):
11874         * gst/gstqueue.h:
11875         Implement getcaps/pad_link functions that handle the case where
11876         there are data in the queue.
11877
11878 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11879
11880         * gst/elements/gstbufferstore.c:
11881           initialize debugging structure correctly
11882         * gst/elements/gsttee.c: (gst_tee_set_property):
11883           g_object_notify when property was changed
11884         * gst/elements/gsttypefindelement.c:
11885         (gst_type_find_element_change_state):
11886           clear caps correctly
11887
11888 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11889
11890         * gst/gstqueue.c: (gst_queue_init):
11891           Use better defaults for when a queue should block. This
11892           gets rid of jerky playback for quite a few files.
11893           It takes more memory.
11894
11895 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11896
11897         (gst_xml_registry_parse_padtemplate):
11898           make critical message slightly more useful
11899
11900 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11901
11902         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
11903         (gst_debug_message_get), (gst_debug_log_default):
11904         * gst/gstinfo.h:
11905           Change gst_debug_log(_valist) to take a const format string.
11906           Change prototype of log function and functions using those to 
11907           take a GstDebugMessage instead of a string that requires using
11908           gst_debug_message_get.
11909
11910 2004-01-08  David Schleef  <ds@schleef.org>
11911
11912         * Makefile.am:
11913         * configure.ac:
11914         Add option --enable-gcov to build GStreamer with -fprofile-arcs
11915         and -ftest-coverage, which allows gcov to show information about
11916         testsuite coverage.
11917
11918 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11919
11920         * gst/gstutils.h:
11921           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
11922           GST_PARENT_CALL_WITH_DEFAULT
11923         * gst/elements/gstaggregator.c: 
11924         * gst/elements/gstbufferstore.c: 
11925         * gst/elements/gstfakesink.c: 
11926         * gst/elements/gstfakesrc.c: 
11927         * gst/elements/gstfdsink.c: 
11928         * gst/elements/gstfdsrc.c: 
11929         * gst/elements/gstfilesink.c: 
11930         * gst/elements/gstfilesrc.c: 
11931         * gst/elements/gstidentity.c: 
11932         * gst/elements/gstmd5sink.c: 
11933         * gst/elements/gstmultidisksrc.c:
11934         * gst/elements/gstpipefilter.c: 
11935         * gst/elements/gstshaper.c:
11936         * gst/elements/gststatistics.c:
11937         * gst/elements/gsttee.c:
11938         * gst/elements/gsttypefindelement.c:
11939           use them.
11940
11941 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11942
11943         * docs/gst/gstreamer-docs.sgml: remove props
11944         * docs/gst/gstreamer-sections.txt: remove props
11945         * docs/gst/tmpl/gst.sgml:
11946         * docs/gst/tmpl/gstbin.sgml:
11947         * docs/gst/tmpl/gstbuffer.sgml:
11948         * docs/gst/tmpl/gstcaps.sgml:
11949         * docs/gst/tmpl/gstclock.sgml:
11950         * docs/gst/tmpl/gstelement.sgml:
11951         * docs/gst/tmpl/gstindex.sgml:
11952         * docs/gst/tmpl/gstobject.sgml:
11953         * docs/gst/tmpl/gstpad.sgml:
11954         * docs/gst/tmpl/gstpadtemplate.sgml:
11955         * docs/gst/tmpl/gstreamer-unused.sgml:
11956         * docs/gst/tmpl/gstthread.sgml:
11957         * docs/gst/tmpl/gstxml.sgml:
11958           sync with code reorganization
11959
11960 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
11961
11962         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11963         Make the 'Could not find compatible pad' message more informative.
11964
11965 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11966                                                                                 
11967         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
11968           Fix for if we pass NULL as property to location.
11969         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
11970         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
11971           Fix for instantiate-test (see below).
11972         * gst/gststructure.c: (_gst_structure_parse_value):
11973           Fix compile error on gcc-2.96.
11974         * configure.ac:
11975         * tests/Makefile.am:
11976         * tests/instantiate/Makefile.am:
11977         * tests/instantiate/create.c: (create_all_elements), (main):
11978           Add a test that instantiates all elements. This makes it easy to
11979           track dead code for old API/design (like setting event functions
11980           on sink pads and so on).
11981
11982 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
11983
11984         * gst/gstcaps.c: (gst_caps_append_structure):
11985           Move the poisoning to allow a NULL structure
11986         * gst/gstevent.c: (_gst_event_free):
11987           When freeing a navigation event, free the structure
11988           also
11989
11990 2004-01-04  David Schleef  <ds@schleef.org>
11991
11992         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11993         Remove usage of gst_pad_proxy_fixate.
11994         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
11995         (gst_caps_split_one), (gst_caps_replace):
11996         Add poisoning code.
11997         * gst/gstmarshal.list:
11998         Add pointer__pointer for fixate signal
11999         * gst/gstpad.c: (gst_real_pad_class_init),
12000         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12001         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
12002         (gst_pad_set_explicit_caps), (gst_pad_template_new):
12003         Add poisoning code. Add fixate signal on RealPad. Change
12004         set_explicit_caps() to take const GstCaps, like try_set_caps().
12005         * gst/gstpad.h:
12006         * testsuite/caps/Makefile.am:
12007         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
12008
12009 2004-01-03  David Schleef  <ds@schleef.org>
12010
12011         * gst/elements/gsttypefindelement.c:
12012         (gst_type_find_element_have_type), (gst_type_find_element_init):
12013         Use gst_pad_use_explicit_caps for src pad.
12014         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
12015         before using it.
12016
12017 2004-01-03  David Schleef  <ds@schleef.org>
12018
12019         * gst/gstelement.c: (gst_element_link_pads_filtered),
12020         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
12021         that linking was successful.
12022         * gst/gstpad.c: (gst_pad_link_free),
12023         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
12024         (gst_pad_link_try), (gst_pad_link_unnegotiate),
12025         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
12026         GstPadLinkReturn correctly between functions, and don't fail
12027         when DELAYED is used (DELAYED is very important).  Better
12028         cleanup on unlinking and unnegotiation.  Should fix some spider
12029         bugs.
12030
12031 2004-01-02  David Schleef  <ds@schleef.org>
12032
12033         * gst/gstelement.c: (gst_element_class_init),
12034         (gst_element_base_class_init): ->padtemplates should be cleared
12035         in base_init, since we need to have a fresh list for every
12036         class.  (Alternately, we chould copy the list and share the
12037         actual pad templates (not the list), but that would require
12038         changing every plugin to move pad template registration from
12039         base_init to class_init.)
12040
12041 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12042
12043         * gst/gstelement.c: (gst_element_class_add_pad_template):
12044           Refuse registering a pad template if another pad template
12045           with the same name already exists (#114715).
12046
12047 2004-01-02  David Schleef  <ds@schleef.org>
12048
12049         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
12050         (gst_caps_is_equal_fixed): Add new function.
12051         * gst/gstcaps.h: ditto.
12052         * gst/gstpad.c: (gst_real_pad_class_init),
12053         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
12054         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
12055         check new caps against existing caps -- if they're the same, return
12056         OK without renegotiating.  caps-nego-failed signal fixed so that
12057         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
12058         to save an extra caps copy.  Don't complete negotiation if a pad
12059         link function returns DELAYED.
12060
12061 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12062
12063         * gst/gstpad.c: (gst_pad_try_relink_filtered):
12064           Fix wrong g_return_if_fail
12065
12066 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
12067
12068         * gst/gstbin.c: (gst_bin_class_init):
12069         Change the marshalling of element_added/element_removed
12070         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
12071         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
12072
12073 2004-01-01  David Schleef  <ds@schleef.org>
12074
12075         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12076         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
12077         (gst_pad_use_explicit_caps):
12078         * gst/gstpad.h:
12079         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
12080         to use an internal getcaps and link fuction so that negotiation
12081         always results in the explicitly set caps.
12082         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
12083         are particularly useful for decoders.
12084
12085 2003-12-31  David Schleef  <ds@schleef.org>
12086
12087         * gst/elements/gstidentity.c: (gst_identity_class_init),
12088         (gst_identity_init), (gst_identity_chain),
12089         (gst_identity_set_property), (gst_identity_get_property):
12090         * gst/elements/gstidentity.h:
12091         * gst/gstqueue.c: (gst_queue_init):
12092           Negotiation fixes.
12093
12094 2003-12-31  David Schleef  <ds@schleef.org>
12095
12096         * gst/gstcaps.c: (gst_caps_intersect),
12097         (_gst_caps_normalize_foreach), (gst_caps_normalize):
12098           Implement gst_caps_normalize().
12099         * testsuite/caps/normalisation.c: (main):
12100           Add an additional test
12101
12102 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12103
12104         * gst/gstqueue.c: (gst_queue_init):
12105           use gst_pad_proxy_getcaps()
12106
12107 2003-12-31  David Schleef  <ds@schleef.org>
12108
12109         * gst/elements/gstshaper.c: (gst_shaper_link):
12110         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12111         * gst/gstqueue.c: (gst_queue_link):
12112           Negotiation fixes.
12113
12114 2003-12-31  David Schleef  <ds@schleef.org>
12115
12116         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
12117         * gst/gstpad.h: Add functions that are useful as default pad
12118         link and fixate functions for elements.
12119
12120 2003-12-30  David Schleef  <ds@schleef.org>
12121
12122         * gst/gstpad.c: (gst_pad_link_try):
12123           Fix segfault when attempting to return to old caps
12124
12125 2003-12-29  David Schleef  <ds@schleef.org>
12126
12127         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
12128         (gst_caps_structure_simplify), (gst_caps_simplify):
12129         * gst/gstcaps.h:
12130           Add simplify function
12131         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
12132         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
12133         * gst/gstpad.h:
12134           Copy over srcnotify, sinknotify when calling old pad_link
12135           functions.  Add new is_negotiated() function.
12136         * gst/gststructure.c: (gst_structure_copy):
12137           Fix an incredibly stupid bug that should have been noticed
12138           weeks ago.  _copy() returned the argument, not the new copy.
12139
12140 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12141
12142         * gst/gstcaps.c: (gst_caps_append):
12143           add sanity checks
12144         * gst/gstcaps.h: (gst_caps_debug):
12145           remove, it doesn't exist anymore.
12146         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
12147         (gst_element_threadsafe_properties_post_run):
12148           make debugging messages not clutter up THREAD debug category
12149         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
12150         (gst_element_change_state):
12151           update to new caps API
12152         * gst/gstinterface.c: (gst_implements_interface_cast):
12153           don't put vital code in g_return_if_fail
12154         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
12155         (gst_pad_link_filtered):
12156           add pst_pad_try_link and use it.
12157         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
12158           implement correctly, deprecate first one.
12159         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
12160           add and implement.
12161         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
12162           implement.
12163         (gst_pad_get_negotiated_caps):
12164           add and implement. Make GST_PAD_CAPS call this function.
12165         (gst_pad_get_caps):
12166           remove unneeded check..
12167         (gst_pad_recover_caps_error):
12168           disable, always return FALSE.
12169         (gst_real_pad_dispose):
12170           don't free caps and appfilter anymore, they're unused.
12171         * gst/gstpad.h:
12172           Reflect changes mentioned above.
12173         * gst/gstsystemclock.c: (gst_system_clock_wait):
12174           Make 'clock is way behind' a debugging message.
12175         * gst/gstthread.c: (gst_thread_change_state):
12176           Fix debugging message
12177
12178 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12179
12180         * gst/gstinfo.h:
12181           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
12182         * docs/gst/tmpl/gstreamer-unused.sgml:
12183           removed all traces of cvs conflicts
12184
12185 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12186
12187         * configure.ac:
12188         * gst/schedulers/cothreads_compat.h:
12189         * libs/Makefile.am:
12190           remove last instances of wingo cothread usage
12191
12192 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12193
12194         * gst/gstplugin.c:
12195         * gst/gstversion.h.in:
12196         * gst/parse/grammar.y:
12197           change comment block from /** to /* when not gtk-doc comments
12198
12199 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12200
12201         * gst/gst.c: whitespace and doc style fixes
12202
12203 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12204
12205         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
12206
12207 2003-12-24  Colin Walters  <walters@verbum.org>
12208
12209         * gst/elements/gsttypefindelement.c:
12210           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
12211           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
12212           Don't double-free caps.
12213
12214 2003-12-23  David Schleef  <ds@schleef.org>
12215
12216         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
12217           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
12218           Many little fixes and additions of debug statements to
12219           get rhythmbox working.
12220
12221 2003-12-23  Colin Walters  <walters@verbum.org>
12222
12223         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
12224         Use GST_PAD_LINK_SUCCESSFUL.
12225
12226 2003-12-23  David Schleef  <ds@schleef.org>
12227
12228         * gst/elements/gstaggregator.c:
12229         * gst/elements/gsttee.c:
12230           Use gst_pad_proxy_getcaps().
12231         * gst/gstpad.c:
12232         * gst/gstpad.h:
12233           Add gst_pad_proxy_getcaps(), which filter elements can use
12234           as a generic getcaps implementation.
12235           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
12236           was advertised.
12237
12238 2003-12-23  David Schleef  <ds@schleef.org>
12239
12240         * gst/gstpad.c:
12241           Rearrange/rewrite much of the pad negotiation code, since it
12242           resembled pasta.  This actually changes the way some
12243           negotiation works, since the previous code was inconsistent
12244           depending on how it was invoked.  Add (internal) structure
12245           GstPadLink, which is used to hold some information (more in
12246           the future) about the link between two pads.  Fixes a number
12247           of bugs, including random lossage of filter caps when the
12248           initial negotiation is delayed.  A few functions are still
12249           unimplemented.
12250         * gst/gstpad.h:
12251           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
12252           these when testing GstPadLinkReturn values instead of comparing
12253           directly.
12254
12255 2003-12-23  David Schleef  <ds@schleef.org>
12256
12257         * gst/gstvalue.c: 
12258         * gst/gstvalue.h:
12259           Rearrange lots of code.  Change registration of compare function
12260           into registration of compare/serialize/deserialize functions.
12261           Doesn't include implementation of gst_value_[de]serialize(),
12262           but that should be easy.
12263
12264 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12265
12266         * docs/gst/gstreamer-sections.txt:
12267         * docs/gst/tmpl/gstprops.sgml: removed
12268         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
12269           David removed props and caps code, so let's remove their docs as well.
12270           Removed all no longer existing symbols from gstreamer-sections.txt
12271           
12272 2003-12-22  Colin Walters  <walters@verbum.org>
12273
12274         * gst/gsttaginterface.c, gst/gsttaginterface.h,
12275           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
12276           of tags directly.
12277
12278 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12279
12280         * gst/elements/gstelements.c:
12281           Set ranks of elements to NONE, so the autoplugger doesn't use them.
12282         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
12283           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
12284           gst_caps (peer).
12285
12286 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12287
12288         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12289         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
12290         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
12291         (gst_spider_identity_sink_loop_type_finding):
12292         * gst/autoplug/gstspideridentity.h:
12293           Fix autoplugging in spider element, so it works with new caps.
12294           This was mainly caused by identifying empty caps incorrectly.
12295
12296 2003-12-22  David Schleef  <ds@schleef.org>
12297
12298         * gststructure.c, gstvalue.c, gstvalue.h: Add
12299           gst_value_init_and_copy() and use it, to avoid silly mistakes in
12300           using g_value_copy()
12301
12302 2003-12-21  David Schleef  <ds@schleef.org>
12303
12304         * many, many files: Merge CAPS branch.  This includes:
12305           - implemention of GstValue and several GstValue types
12306           - implemention of GstStructure
12307           - entire rewrite of GstCaps
12308           - removal of GstProps
12309           - many changes to GstPad to compensate for new caps paradigm
12310           - removal of GstBufferpool
12311         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
12312         gstvalue.h, gst/gstcaps[2]*.[ch]:
12313           - rename gstcaps2.[ch] to gstcaps.[ch]
12314
12315 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12316
12317         * gst/gstqueue.c: (gst_queue_handle_pending_events),
12318         (gst_queue_chain), (gst_queue_handle_src_event):
12319           implement timeout for sending events. Workaround for if the
12320           pipeline on this queue is not passing any data.
12321
12322 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
12323                                                                                 
12324         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
12325         * moved CVS to freedesktop.org
12326